Пример #1
0
        public ActionResult Combination()
        {
            var model = new CombinationViewModel();

            // Populate
            model.MultipleClaims = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable()); //  MappingEngine.Map<IEnumerable<ClaimViewModel>>(UserService.Identity.Claims.AsEnumerable());
            model.SingleClaims1  = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable()); //MappingEngine.Map<IEnumerable<ClaimViewModel>>(UserService.Identity.Claims.AsEnumerable());
            model.SingleClaims2  = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable()); // MappingEngine.Map<IEnumerable<ClaimViewModel>>(UserService.Identity.Claims.AsEnumerable());
            model.DisplayClaims  = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable()); // MappingEngine.Map<IEnumerable<ClaimViewModel>>(UserService.Identity.Claims.AsEnumerable());

            return(View(model));
        }
Пример #2
0
        public ActionResult Combination(CombinationViewModel model)
        {
            // Process selected items
            model.Selections = new ContentViewModel();

            model.Selections.AddTitle("Selections from grid allowing multiple selection.");

            // Get selected rows
            var selectedMultipleClaims = model.MultipleClaims.Where(m => m.Selected);

            // Repopulate grid
            model.MultipleClaims = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable());

            // Reapply row selections based on matching [Key]
            model.MultipleClaims.ForEach(c => { if (selectedMultipleClaims.Any(s => s.HashKey == c.HashKey))
                                                {
                                                    c.Selected = true;
                                                }
                                         });

            if (model.MultipleClaims.Any(m => m.Selected))
            {
                foreach (var claim in model.MultipleClaims.Where(m => m.Selected))
                {
                    model.Selections.AddParagraph("You selected claim type '{0}' which has a value of '{1}'.", claim.ClaimType, claim.Value);
                }
            }
            else
            {
                model.Selections.AddParagraph("None.");
            }

            model.Selections.AddTitle("Selections from first grid allowing single selection.");

            // Repopulate grid
            model.SingleClaims1 = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable());

            if (model.SelectedSingleClaims1Key != null)
            {
                // Reapply row selections based on matching [Key]
                model.SingleClaims1.ForEach(c => { if (model.SelectedSingleClaims1Key == c.HashKey)
                                                   {
                                                       c.Selected = true;
                                                   }
                                            });

                // Get selected row
                var singleClaim1 = model.SingleClaims1.SingleOrDefault(m => m.HashKey == model.SelectedSingleClaims1Key);

                if (singleClaim1 != null)
                {
                    model.Selections.AddParagraph("You selected claim type '{0}' which has a value of '{1}'.", singleClaim1.ClaimType, singleClaim1.Value);
                }
            }
            else
            {
                model.Selections.AddParagraph("None.");
            }

            model.Selections.AddTitle("Selections from second grid allowing single selection.");

            // Repopulate grid
            model.SingleClaims2 = ExampleMapper.ToClaimViewModelList(UserService.Identity.Claims.AsEnumerable());

            if (model.SelectedSingleClaims2Key != null)
            {
                // Reapply row selections based on matching [Key]
                model.SingleClaims2.ForEach(c => { if (model.SelectedSingleClaims2Key == c.HashKey)
                                                   {
                                                       c.Selected = true;
                                                   }
                                            });

                // Get selected row
                var singleClaim2 = model.SingleClaims2.SingleOrDefault(m => m.HashKey == model.SelectedSingleClaims2Key);

                if (singleClaim2 != null)
                {
                    model.Selections.AddParagraph("You selected claim type '{0}' which has a value of '{1}'.", singleClaim2.ClaimType, singleClaim2.Value);
                }
            }
            else
            {
                model.Selections.AddParagraph("None.");
            }

            return(View(model));
        }