public ViewResult Admin()
{
var inquiries = repository
.Query<Inquiry>(x => x.Client, x => x.Assignee)
.Where(x => x.ReferenceDate == null)
.OrderBy(x => x.Client.FirstName)
.ThenBy(x => x.Client.LastName)
.ToList();
var tags = repository.Query<Tag>()
.OrderBy(x => x.Name)
.ToList();
foreach (var tag in tags)
{
tag.Owner = null;
}
return View(
new AdminViewModel
{
Inquiries = inquiries
.Select(x => new InquiryViewModel
{
Id = x.Id,
Name = x.Client.FullName,
Subject = x.Subject,
Email = x.Client.Email,
Assignee = x.SafeGet(z => z.Assignee.FullName),
Phone = x.Client.Phone,
PhotoUri = x.Client.PhotoUri
}),
Employees = repository.Query<Person>()
.Where(x => x.Role == PersonRole.Employee)
.OrderBy(x => x.FirstName)
.ThenBy(x => x.LastName)
.ToList(),
Tags = tags
});
}