/// <summary>
        /// shows all inquiries
        /// </summary>
        /// <returns></returns>
        public ViewResult All()
        {
            var categoryWithEmptyTag =
                new CategoryViewModel
                {
                    Tag = new TagViewModel { Name = "" },
                    Inquiries = repository
                        .Query<Inquiry>(x=>x.Client,x=>x.Tags)
                        .Where(x => !x.Tags.Any() && x.ReferenceDate.HasValue)
                        .Select(inquiry => new TaggedInquiryViewModel
                        {
                            Id = inquiry.Id,
                            FirstName = inquiry.Client.FirstName,
                            LastName = inquiry.Client.LastName,
                            Subject = inquiry.Subject
                        })
                        .ToList()
                };

            var categories = repository
                .Query<Tag>()
                .Where(x => x.Inquiries.Any(z => z.ReferenceDate.HasValue))
                .Select(tag => new CategoryViewModel
                {
                    Tag = new TagViewModel
                    {
                        Name = tag.Name,
                    },
                    Inquiries = tag.Inquiries
                        .Where(x => x.ReferenceDate.HasValue)
                        .Select(x => new TaggedInquiryViewModel
                        {
                            Id = x.Id,
                            FirstName = x.Client.FirstName,
                            LastName = x.Client.LastName,
                            Subject = x.Subject
                        })
                })
                .ToList();

            if (categoryWithEmptyTag.Inquiries.Any())
            {
                categories.Add(categoryWithEmptyTag);
            }

            return View(new AllInquiriesViewModel
            {
                InquiryDetailsUrl = Url.Action("Details", "Inquiries"),
                Categories = categories
            });
        }