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)); }
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)); }