BinaryStudio.ClientManager.WebUi.Controllers.InquiriesController.All C# (CSharp) Метод

All() публичный Метод

shows all inquiries
public All ( ) : System.Web.Mvc.ViewResult
Результат System.Web.Mvc.ViewResult
        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
            });
        }

Usage Example

        public void Should_ReturnFullListOfInquiriesSortedByTag_WhenCalledAllFunction()
        {
            // arrange
            var repository = Substitute.For<IRepository>();
            repository.Query<Inquiry>().ReturnsForAnyArgs(inquiries.AsQueryable());
            repository.Query<Tag>().ReturnsForAnyArgs(tags.AsQueryable());

            var inquiriesController = new InquiriesController(repository).MockHttpContext();

            // act
            var viewResult = (AllInquiriesViewModel) inquiriesController.All().Model;
            var categories = viewResult.Categories.ToList();

            // assert
            categories.Count.Should().Be(2);
            categories[1].Tag.Name.Should().Be("");
            categories[1].Inquiries.Count().Should().Be(20);
            categories[0].Tag.Name.Should().Be("tag2");
            categories[0].Inquiries.Count().Should().Be(10);
        }
All Usage Examples Of BinaryStudio.ClientManager.WebUi.Controllers.InquiriesController::All