public ActionResult AddUser(EditUserDTO user,int inActive) { var validationIds = new List<string>(); var validationMessage = Validate(user, true, out validationIds); if (!validationMessage.Any()) { UserManagement.AddUser(user.ToUser()); } var users = UserManagement.GetAllUserList(); if (inActive == 0) { users = users.Where(x => x.IsDeleted == false); } else if (inActive == 1) { users = users.Where(x => x.IsDeleted); } var totalUsersPage = (int)Math.Ceiling(((double)users.Count() / (double)pageSize)); return Json(new { users = ApplyPaging(users, 1), passed = !validationMessage.Any(), validationIds, totalUsersPage, validationMessage = string.Join("</br>", validationMessage) }); }
public List<string> Validate(EditUserDTO user, bool isCreating, out List<string> invalidIds) { var validationMessage = new List<string>(); var validationId = new List<string>(); if (isCreating && string.IsNullOrEmpty(user.UserName)) { validationMessage.Add("Username is empty."); validationId.Add("Username"); } if (isCreating && !string.IsNullOrEmpty(user.UserName)) { if (UserManagement.IsValidUsername(user.UserName)) { validationMessage.Add("Username already exists in the database."); validationId.Add("Username"); } } if (isCreating && !string.IsNullOrEmpty(user.Password) && (user.ConfirmPassword != user.Password)) { validationMessage.Add("Confirm Password does not match with the password."); validationId.Add("ConfirmPassword"); } if (isCreating && !string.IsNullOrEmpty(user.UserName)) { if (UserManagement.IsValidUsername(user.UserName)) { validationMessage.Add("Username already exists in the database."); } } if (isCreating && !string.IsNullOrEmpty(user.Password) && (user.ConfirmPassword != user.Password)) { validationMessage.Add("Confirm Password does not match with the password."); } if (isCreating && string.IsNullOrEmpty(user.Password)) { validationMessage.Add("Password is empty."); validationId.Add("Password"); } if (string.IsNullOrEmpty(user.FirstName)) { validationMessage.Add("First Name is empty."); validationId.Add("Firstname"); } if (string.IsNullOrEmpty(user.SurName)) { validationMessage.Add("Surname is empty."); validationId.Add("Surname"); } if (string.IsNullOrEmpty(user.FirmName)) { validationMessage.Add("Firmname is empty."); validationId.Add("Firmname"); } if (string.IsNullOrEmpty(user.Email)) { validationMessage.Add("Email is empty."); validationId.Add("Email"); } else { var regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); var match = regex.Match(user.Email); if (!match.Success) { validationMessage.Add("Invalid email format."); validationId.Add("Email"); } } if (isCreating && !string.IsNullOrEmpty(user.Password)) { var regex = new Regex(@"^.*(?=.{6,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$"); var match = regex.Match(user.Password); if (!match.Success) { validationMessage.Add("Invalid Password. Password must contain at least a digit, a uppercase and a lowercase letter. Mininum 6 characters are required. "); validationId.Add("Password"); } } invalidIds = validationId; return validationMessage; }