private void ValidateUserInRoleVM(UserInRoleViewModel userInRoleVM)
 {
     if (userInRoleVM.RoleId == 0)
         ModelState.AddModelError("RoleId", "Please select a Role.");
     if (!userInRoleVM.UsersSelected.IsCollectionValid())
         ModelState.AddModelError("UsersSelected", "Please select the User.");
 }
        private void GetUserInRoleFromDb(UserInRoleViewModel userInRoleVM)
        {
            var roles = _wcfService.InvokeService<IUserService, List<Role>>((svc) => svc.GetRole(SessionContext.CurrentUser.OrganizationId.Value));
            var usersFrmDb = _wcfService.InvokeService<IUserService, List<User>>((svc) => svc.GetUsers(SessionContext.CurrentUser.OrganizationId.Value));
            if (usersFrmDb.IsCollectionValid())
            {
                userInRoleVM.Users = usersFrmDb;
            }
            userInRoleVM.Roles = roles;
            var userInRoleFrmDb = _wcfService.InvokeService<IOrganizationService, List<UserInRole>>((svc) => svc.GetUserInRole(SessionContext.CurrentUser.OrganizationId.Value));
            if (userInRoleFrmDb.IsCollectionValid())
            {
                foreach (var userInRole in userInRoleFrmDb)
                {
                    var user = usersFrmDb.FirstOrDefault(x => x.Id == userInRole.UserId.Value);
                    var firstName = (user.FirstName.IsNotNull()) ? user.FirstName : string.Empty;
                    var lastName = (user.LastName.IsNotNull()) ? user.LastName : string.Empty;
                    var middleName = (user.MiddleName.IsNotNull()) ? user.MiddleName : string.Empty;
                    var userName = "******".ToFormat(firstName, middleName, lastName);
                    userInRoleVM.UserName = userName;
                    userInRoleVM.RoleName = roles.FirstOrDefault(x => x.Id == userInRole.RoleId.Value).RoleName;
                    userInRoleVM.Id = userInRole.Id;
                    userInRoleVM.IsActive = userInRole.Active.Value;
                    userInRoleVM.UserInRoleViewModels.Add(userInRoleVM);
                }

            }
        }
 public ActionResult UserInRole(UserInRoleViewModel userInRoleVM, string buttonType)
 {
     if (buttonType == "Next")
         return RedirectToAction("Index", "Dashboard");
     ValidateUserInRoleVM(userInRoleVM);
     List<UserInRole> userInRoleLst = new List<UserInRole>();
     if (ModelState.IsValid)
     {
         foreach (var userId in userInRoleVM.UsersSelected)
         {
             var userInRole = new UserInRole()
             {
                 RoleId = userInRoleVM.RoleId,
                 UserId = userId.As<long>(),
                 Active = true
             };
             userInRoleLst.Add(userInRole);
         }
         _wcfService.InvokeService<IOrganizationService>((svc) => svc.AddUserInRole(userInRoleLst));
         userInRoleVM.CreationSuccessful = true;
         userInRoleVM.Message = "Thank you for choosing the user(s) for the role '{0}'".ToFormat(userInRoleVM.RoleName);
     }
     return View(userInRoleVM);
 }
 public ActionResult UserInRole()
 {
     var userInRoleVM = new UserInRoleViewModel()
     {
         Users = new List<User>(),
         Roles = new List<Role>(),
         UserInRoleViewModels = new List<UserInRoleViewModel>()
     };
     GetUserInRoleFromDb(userInRoleVM);
     return View(userInRoleVM);
 }