Example #1
0
        public IActionResult HomePage()
        {
            HomePageModel model = new HomePageModel();
            FilterContainer <Solution.Domain.SolutionComponent> filter = FilterContainerBuilder.Build <Solution.Domain.SolutionComponent>();

            filter.And(x => x.SolutionId == SolutionId.Value);
            var data = _solutionComponentService.Query(n => n.Select(s => new { s.SolutionComponentId, s.ComponentType, s.SolutionId }).Where(filter));
            var sortedDescriptors = SolutionComponentCollection.SortedDescriptors;
            List <HomePageSolutionComponentModel> solutionComponents = new List <HomePageSolutionComponentModel>();
            var group = data.GroupBy(x => x.ComponentType);

            foreach (var item in group)
            {
                var sortedDescriptor = sortedDescriptors.First(x => x.Module.Identity == item.Key);
                solutionComponents.Add(new HomePageSolutionComponentModel()
                {
                    Name          = sortedDescriptor.Module.Name,
                    LocalizedName = sortedDescriptor.Module.LocalizedName,
                    TotalCount    = item.Count()
                });
            }
            model.SolutionComponents = solutionComponents;
            model.SolutionId         = SolutionId;
            return(View(model));
        }