private void ValidateRoleInPermissionVM(RoleInPermissionViewModel roleInPermVm)
 {
     if (roleInPermVm.RoleId == 0)
         ModelState.AddModelError("RoleId", "Please select a Role.");
     if (roleInPermVm.PermissionSetId == 0)
         ModelState.AddModelError("PermissionSetId", "Please select a Permission.");
     var roleInPermissionFromDb = _wcfService.InvokeService<IOrganizationService, List<RoleInPermission>>((svc) => svc.GetAllRoleInPermission());
     if (roleInPermissionFromDb.IsCollectionValid())
     {
         var roleInPermByOrg = roleInPermissionFromDb.Where(x => x.Role.OrganizationId == SessionContext.CurrentUser.OrganizationId.Value).ToList();
         var roleInPermExist = roleInPermByOrg.Where(x => x.RoleId.Value.Equals(roleInPermVm.RoleId) && x.PermissionId.Value.Equals(roleInPermVm.PermissionSetId)).ToList();
         if (roleInPermExist.IsCollectionValid())
             ModelState.AddModelError("", "Role and Permission already exists.");
     }
 }
 private void GetRoleInPermissionFromDb(RoleInPermissionViewModel roleInPermissionVM)
 {
     var role = _wcfService.InvokeService<IUserService, List<Role>>((svc) => svc.GetRole(SessionContext.CurrentUser.OrganizationId.Value));
     var permissionSet = _wcfService.InvokeService<IOrganizationService, List<PermissionSet>>((svc) => svc.GetAllPermissionSet(SessionContext.CurrentUser.OrganizationId.Value));
     var roleInPermissions = _wcfService.InvokeService<IOrganizationService, List<RoleInPermission>>((svc) => svc.GetAllRoleInPermission());
     if (roleInPermissions.IsCollectionValid())
     {
         var rolPerms = roleInPermissions.Where(x => x.Role.OrganizationId == SessionContext.CurrentUser.OrganizationId.Value).ToList();
         var mappedRolePermVm = Mapper.Map<List<RoleInPermissionViewModel>>(rolPerms);
         foreach (var roleInPerms in mappedRolePermVm)
         {
             roleInPerms.PermissionSetName = permissionSet.FirstOrDefault(x => x.Id == roleInPerms.PermissionSetId).PermissionSetName;
             roleInPerms.RoleName = role.FirstOrDefault(x => x.Id == roleInPerms.RoleId).RoleName;
         }
         roleInPermissionVM.RoleInPermissionViewModels = mappedRolePermVm;
     }
     roleInPermissionVM.PermissionSets = permissionSet;
     roleInPermissionVM.Roles = role;
 }
 public ActionResult RoleInPermission(RoleInPermissionViewModel roleInPermVm, string buttonType)
 {
     if (buttonType == "Next")
         return RedirectToAction("UserInRole", "Dashboard");
     ValidateRoleInPermissionVM(roleInPermVm);
     if (ModelState.IsValid)
     {
         var mappedModel = Mapper.Map<RoleInPermissionViewModel, RoleInPermission>(roleInPermVm);
         mappedModel.Active = true;
         _wcfService.InvokeService<IOrganizationService>((svc) => svc.AddRoleInPermission(mappedModel));
         roleInPermVm.CreationSuccessful = true;
         roleInPermVm.Message = "Thank you for choosing Role-Permission Mapping.";
         GetRoleInPermissionFromDb(roleInPermVm);
     }
     return View(roleInPermVm);
 }
 public ActionResult RoleInPermission()
 {
     var roleInPermissionVM = new RoleInPermissionViewModel()
     {
         RoleInPermissionViewModels = new List<RoleInPermissionViewModel>(),
         Roles = new List<Role>(),
         PermissionSets = new List<PermissionSet>()
     };
     GetRoleInPermissionFromDb(roleInPermissionVM);
     return View(roleInPermissionVM);
 }