public Status Post([FromBody] GuideInfo guide) { var emailValidator = new EmailValidation(); if (!emailValidator.IsValidEmail(guide.Email)) { return new Status { StatusCode = 2002, IsOk = false, Message = "Email is not valid" } } ; if (!this.dataAccessLayer.IsValidUserName(guide.UserName)) { return new Status { StatusCode = 2001, IsOk = false, Message = "UserName is not valid" } } ; var id = this.dataAccessLayer.AddGuide(guide); return(new Status { StatusCode = 1000, IsOk = true, Message = "Your account is crated." }); }
public Status Post([FromBody] DriverInfo driver) { var emailValidator = new EmailValidation(); if (!emailValidator.IsValidEmail(driver.Email)) { return new Status { StatusCode = 2002, IsOk = false, Message = "Email is not valid" } } ; if (!this.usersDataAccessLayer.IsValidUserName(driver.UserName)) { return new Status { StatusCode = 2001, IsOk = false, Message = "UserName is not valid" } } ; this.usersDataAccessLayer.AddDriver(driver); return(new Status { StatusCode = 1000, IsOk = true, Message = "Your account is crated." }); }
private async Task addEmail(IDialogContext context, IAwaitable <string> result) { string email = await result; EmailValidation validation = new EmailValidation(); bool valid = validation.IsValidEmail(email); if (valid == false) { await context.PostAsync("E-mail incorreto"); PromptDialog.Text(context, addEmail, "Por favor entre com um e-mail válido."); } else { StoreMail = email; PromptDialog.Text(context, confirmationEmail, "Digite novamente seu e-mail para confirmação."); } }
public PasswordPage GoToPasswordPage(string email) { EmailValidation emailValidation = new EmailValidation(); ElementIsExist elementIsExist = new ElementIsExist(); if (emailValidation.IsValidEmail(email)) { if (elementIsExist.IsElementPresent(By.XPath("//span[. = 'Next']"), _driver)) { _emailFieldElement.SendKeys(email); _nextButtElement.Click(); return(new PasswordPage(_driver)); } return(null); } return(null); }
public Status Post([FromBody] UserInfo user) { var emailValidator = new EmailValidation(); if (!emailValidator.IsValidEmail(user.Email)) { return new Status { StatusCode = 2002, IsOk = false, Message = "Email is not valid" } } ; if (!this.usersDataAccessLayer.IsValidUserName(user.UserName)) { return new Status { StatusCode = 2001, IsOk = false, Message = "UserName is already existing" } } ; this.usersDataAccessLayer.AddUser(user); var code = this.usersDataAccessLayer.AddUserVerification(user.UserName); var emailSender = new SendVerificationCodeEmail(new NetworkCredential("*****@*****.**", "kanchhiking2018")); emailSender.Send(user.Email, code.ToString()); return(new Status { StatusCode = 1000, IsOk = true, Message = "Your account is crated." }); }
public static List <string> Validate(this Customer customer) { var errors = new List <string>(); if (customer.StatusCustomer != StatusCustomer.Client && customer.StatusCustomer != StatusCustomer.Prospect) { errors.Add("Customer can be client or prospect."); } if (customer.Name.Length < 2) { errors.Add("Name must be longer than 2 characters."); } EmailValidation email = new EmailValidation(); if (email.IsValidEmail(customer.Email) == false) { errors.Add("Wrong email."); } var regexName = new Regex("^[a-zA-Z0-9 ]*$"); if (!regexName.IsMatch(customer.Name)) { errors.Add("Name can't contain special characters."); } var regexPhone = new Regex("^[0-9+() ]*$"); if (!regexPhone.IsMatch(customer.Phone)) { errors.Add("Phone can't have letters."); } return(errors); }
public bool RegistrationNewUser(User user) { using (SqlConnection con = new SqlConnection(sqlConnection)) { try { if (!EmailValidation.IsValidEmail(user.Email)) { throw new Exception("Your email isn't valid"); } con.Open(); SqlCommand cmd = new SqlCommand(DataBaseCommands.sp_RegisterNewUser.ToString(), con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@email", user.Email)); int row = cmd.ExecuteNonQuery(); return(true); } catch (Exception) { throw; } } }
public static DTOStatus UpdateUser(int id, DTOUser DTOUser, UserManager <ApplicationUser> _userManager, string ConnectionString, string strCurrentUser) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; #region Validation **************************** EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(DTOUser.email)) { objDTOStatus.StatusMessage = "This Email is not valid."; objDTOStatus.Success = false; return(objDTOStatus); } if ((DTOUser.firstName == null) || (DTOUser.firstName.Length < 1)) { objDTOStatus.StatusMessage = "This First Name is not long enough."; objDTOStatus.Success = false; return(objDTOStatus); } if ((DTOUser.lastName == null) || (DTOUser.lastName.Length < 1)) { objDTOStatus.StatusMessage = "This Last Name is not long enough."; objDTOStatus.Success = false; return(objDTOStatus); } #endregion var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Get User var objDTOUser = (from objuser in context.AdefHelpDeskUsers .Include(role => role.AdefHelpDeskUserRoles) where objuser.UserId == id select objuser).FirstOrDefault(); if (objDTOUser == null) { objDTOStatus.StatusMessage = "Not Found"; objDTOStatus.Success = false; return(objDTOStatus); } // Check the Email var objAdefHelpDeskEmail = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Email.ToLower() == DTOUser.email.ToLower() where AdefHelpDeskUsers.Username != DTOUser.userName select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskEmail != null) { // User is already taken objDTOStatus.StatusMessage = "This Email address is already taken."; objDTOStatus.Success = false; return(objDTOStatus); } try { // Update the user objDTOUser.FirstName = DTOUser.firstName; objDTOUser.LastName = DTOUser.lastName; objDTOUser.Email = DTOUser.email; objDTOUser.VerificationCode = null; // Admin updating user always clears verification code // Cannot change your own IsSuperUser status if (objDTOUser.Username != strCurrentUser) { objDTOUser.IsSuperUser = DTOUser.isSuperUser; } context.SaveChanges(); } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; return(objDTOStatus); } // Delete all roles -- so we can add the new ones foreach (var itemRole in objDTOUser.AdefHelpDeskUserRoles) { var objUserRole = context.AdefHelpDeskUserRoles.SingleOrDefault(x => x.UserRoleId == itemRole.UserRoleId); context.AdefHelpDeskUserRoles.Remove(objUserRole); } context.SaveChanges(); // Add the Roles for the user foreach (var itemRole in DTOUser.userRoles) { AdefHelpDeskUserRoles objRoleDTO = new AdefHelpDeskUserRoles(); objRoleDTO.RoleId = itemRole.iD; objRoleDTO.UserId = DTOUser.userId; context.AdefHelpDeskUserRoles.Add(objRoleDTO); } context.SaveChanges(); } #region Migrate User (if needed) // Get user in UserManager var user = _userManager.FindByNameAsync(DTOUser.userName).Result; if (user == null) { // The user is in the old memebership API // Migrate them if ((DTOUser.password != null) && (DTOUser.password.Trim().Length < 1)) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = "Account must be migrated to the new membership system -- Must supply a new password"; return(objDTOStatus); } RegisterDTO objRegisterDTO = new RegisterDTO(); objRegisterDTO.email = DTOUser.email; objRegisterDTO.firstName = DTOUser.firstName; objRegisterDTO.lastName = DTOUser.lastName; objRegisterDTO.password = DTOUser.password; objRegisterDTO.userName = DTOUser.userName; try { // Membership API user = new ApplicationUser { UserName = DTOUser.userName, Email = DTOUser.email }; var RegisterStatus = _userManager.CreateAsync(user, DTOUser.password).Result; if (!RegisterStatus.Succeeded) { // Registration was not successful if (RegisterStatus.Errors.FirstOrDefault() != null) { objDTOStatus.StatusMessage = RegisterStatus.Errors.FirstOrDefault().Description; } else { objDTOStatus.StatusMessage = "Registration error"; } objDTOStatus.Success = false; return(objDTOStatus); } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.Message; return(objDTOStatus); } } #endregion // Update Email var result = _userManager.SetEmailAsync(user, DTOUser.email).Result; // Only update password if it is passed if ((DTOUser.password != null) && (DTOUser.password.Trim().Length > 1)) { try { var resetToken = _userManager.GeneratePasswordResetTokenAsync(user).Result; var passwordResult = _userManager.ResetPasswordAsync(user, resetToken, DTOUser.password).Result; if (!passwordResult.Succeeded) { if (passwordResult.Errors.FirstOrDefault() != null) { objDTOStatus.StatusMessage = passwordResult.Errors.FirstOrDefault().Description; } else { objDTOStatus.StatusMessage = "Pasword error"; } objDTOStatus.Success = false; return(objDTOStatus); } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.Message; return(objDTOStatus); } } objDTOStatus.StatusMessage = ""; objDTOStatus.Success = true; return(objDTOStatus); }
public IActionResult Index([FromBody] DTOMigration Migration) { // LoginStatus to return LoginStatus objLoginStatus = new LoginStatus(); objLoginStatus.isLoggedIn = false; if ((Migration.userName != null) && (Migration.password != null) && (Migration.passwordNew != null)) { // Get values passed var paramUserName = Migration.userName; var paramPassword = ComputeHash.GetSwcMD5(paramUserName.Trim().ToLower() + Migration.password.Trim()); var paramPasswordNew = Migration.passwordNew; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Must be in legacy User table var objAdefHelpDeskUser = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Username == paramUserName where AdefHelpDeskUsers.Password == paramPassword select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskUser != null) { // Email Validation **************************** if (objAdefHelpDeskUser.Email == null) { objLoginStatus.status = "The Email for this account is not valid. It cannot be migrated."; objLoginStatus.isLoggedIn = false; return(Ok(objLoginStatus)); } EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(objAdefHelpDeskUser.Email)) { objLoginStatus.status = "The Email for this account is not valid. It cannot be migrated."; objLoginStatus.isLoggedIn = false; return(Ok(objLoginStatus)); } // Migrate Account var user = new ApplicationUser { UserName = paramUserName, Email = objAdefHelpDeskUser.Email }; var result = _userManager.CreateAsync(user, paramPasswordNew).Result; if (result.Succeeded) { // Sign the User in var SignInResult = _signInManager.PasswordSignInAsync( paramUserName, paramPasswordNew, false, lockoutOnFailure: false).Result; if (!SignInResult.Succeeded) { // Return the error objLoginStatus.status = $"Could not sign user {paramUserName} in."; objLoginStatus.isLoggedIn = false; return(Ok(objLoginStatus)); } else { try { // Everything worked // Update the users password in the legacy table objAdefHelpDeskUser.Password = ComputeHash.GetSwcMD5(paramUserName.Trim().ToLower() + paramPasswordNew.Trim()); context.SaveChanges(); } catch { // Do nothing if this does not work // This password is only needed if connecting from the older // Non Angular version of ADefHelpDesk } // Success objLoginStatus.status = $"Logged {paramUserName} in."; objLoginStatus.isLoggedIn = true; return(Ok(objLoginStatus)); } } else { // Return the errors from the Memberhip API Creation string strErrors = ""; foreach (var Error in result.Errors) { strErrors = strErrors + "\n" + Error.Description; } // Return the error objLoginStatus.status = strErrors; objLoginStatus.isLoggedIn = false; return(Ok(objLoginStatus)); } } else { objLoginStatus.status = "Orginal password does not match."; return(Ok(objLoginStatus)); } } } objLoginStatus.status = "Authentication Failure"; return(Ok(objLoginStatus)); }
public void IsValidEmail_Return_False() { Assert.False(EmailValidation.IsValidEmail(null)); }
public static List <string> Validate(this Employee employee) { var errors = new List <string>(); if (employee.StatusEmployee != StatusEmployee.Active && employee.StatusEmployee != StatusEmployee.Leaver && employee.StatusEmployee != StatusEmployee.Trial) { errors.Add("Employee can be active, leaver or trial."); } if (employee.Salary < 410 || employee.Salary > 10000) { errors.Add("Minimum salary can be 410 and maximum 10000."); } if (employee.FirstName.Length < 2) { errors.Add("First Name must be longer than 1 character."); } if (employee.LastName.Length < 2) { errors.Add("Last Name must be longer than 1 character."); } var regexPhone = new Regex("^[0-9+() ]*$"); if (!regexPhone.IsMatch(employee.Phone)) { errors.Add("Phone can't have letters."); } EmailValidation email = new EmailValidation(); if (email.IsValidEmail(employee.Email) == false) { errors.Add("Wrong email."); } var regexName = new Regex("^[a-zA-Zšđč枊ĐČĆŽ ]*$"); if (!regexName.IsMatch(employee.FirstName)) { errors.Add("First Name can't contain special characters and numbers."); } if (!regexName.IsMatch(employee.LastName)) { errors.Add("Last Name can't contain special characters."); } if (employee.BeginDate > employee.EndDate) { errors.Add("End date must be after begin date."); } var years = DateTime.Now.Year - employee.BirthDate.Year; if (years < 18) { errors.Add("Emplyoee must be older than 18."); } return(errors); }
public DTOSMTPSetting SMTPSetting([FromBody] DTOSMTPSetting SMTPSetting) { DTOSMTPSetting objDTOSMTPSetting = new DTOSMTPSetting(); objDTOSMTPSetting.smtpValid = true; objDTOSMTPSetting.smtpStatus = "Settings Updated"; // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = ""; return(objDTOSMTPSetting); } // Get Update Type (Save/Test) string strUpdateType = SMTPSetting.updateType; // Get GeneralSettings GeneralSettings objGeneralSettings = new GeneralSettings(GetConnectionString()); #region Validation **************************** if ((SMTPSetting.smtpServer == null) || (SMTPSetting.smtpServer.Trim().Length < 1)) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = "SMTP Server is not valid"; return(objDTOSMTPSetting); } if ((SMTPSetting.smtpAuthentication == null) || (SMTPSetting.smtpAuthentication.Trim().Length < 1)) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = "SMTP Authentication is not valid"; return(objDTOSMTPSetting); } if ((SMTPSetting.smtpFromEmail == null) || (SMTPSetting.smtpFromEmail.Trim().Length < 1)) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = "From Email is not valid"; return(objDTOSMTPSetting); } EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(SMTPSetting.smtpFromEmail)) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = "From Email is not a valid email"; return(objDTOSMTPSetting); } #endregion // Update **************************** try { objGeneralSettings.UpdateSMTPServer(GetConnectionString(), SMTPSetting.smtpServer); objGeneralSettings.UpdateSMTPAuthentication(GetConnectionString(), SMTPSetting.smtpAuthentication); objGeneralSettings.UpdateSMTPFromEmail(GetConnectionString(), SMTPSetting.smtpFromEmail); objGeneralSettings.UpdateSMTPSecure(GetConnectionString(), (SMTPSetting.smtpSecure == "True") ? true: false); objGeneralSettings.UpdateSMTPUserName(GetConnectionString(), SMTPSetting.smtpUserName); // Only set Password if it has been updated // The default non-password is if (SMTPSetting.smtpPassword.Replace(Constants.NONPassword, "") != "") { objGeneralSettings.UpdateSMTPPassword(GetConnectionString(), SMTPSetting.smtpPassword); } } catch (Exception ex) { objDTOSMTPSetting.smtpValid = false; objDTOSMTPSetting.smtpStatus = ex.GetBaseException().Message; return(objDTOSMTPSetting); } // Test Email **************************** if (strUpdateType == "Test") { // Send Test Email objDTOSMTPSetting.smtpStatus = Email.SendMail( false, GetConnectionString(), SMTPSetting.smtpFromEmail, "ADefHelpDesk Administrator", "", "", SMTPSetting.smtpFromEmail, "SMTP Test", "ADefHelpDesk SMTP Test Email", $"This is a ADefHelpDesk SMTP Test Email from: {this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"); if (objDTOSMTPSetting.smtpStatus != "") { // There was some sort of error - return it objDTOSMTPSetting.smtpValid = false; return(objDTOSMTPSetting); } else { objDTOSMTPSetting.smtpStatus = "Settings Updated - Test Email Sent"; } } return(objDTOSMTPSetting); }
public static RegisterStatus RegisterUser(RegisterDTO Register, string _DefaultConnection, IWebHostEnvironment _hostEnvironment, UserManager <ApplicationUser> _userManager, SignInManager <ApplicationUser> _signInManager, string CurrentHostLocation, bool BypassVerify, bool SignUserIn) { // RegisterStatus to return RegisterStatus objRegisterStatus = new RegisterStatus(); objRegisterStatus.status = "Registration Failure"; objRegisterStatus.isSuccessful = false; objRegisterStatus.requiresVerification = false; // Get values passed var paramUserName = Register.userName.Trim(); var paramPassword = Register.password.Trim(); var paramFirstName = Register.firstName.Trim(); var paramLastName = Register.lastName.Trim(); var paramEmail = Register.email.Trim(); // Validation **************************** EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(paramEmail)) { objRegisterStatus.status = "This Email is not valid."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } if ((paramUserName == null) || (paramUserName.Length < 1)) { objRegisterStatus.status = "This Username is not long enough."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(_DefaultConnection); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Check the Username var objAdefHelpDeskUserName = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Username == paramUserName select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskUserName != null) { // User is already taken objRegisterStatus.status = "This Username is already taken."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } // Check the Email var objAdefHelpDeskEmail = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Email == paramEmail select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskEmail != null) { // User is already taken objRegisterStatus.status = "This Email address is already taken."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } } // Create Account **************************** // User Table try { using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { AdefHelpDeskUsers objAdefHelpDeskUsers = new AdefHelpDeskUsers(); objAdefHelpDeskUsers.Username = paramUserName; objAdefHelpDeskUsers.Email = paramEmail; objAdefHelpDeskUsers.FirstName = paramFirstName; objAdefHelpDeskUsers.LastName = paramLastName; objAdefHelpDeskUsers.Password = ""; // No longer store the password here context.AdefHelpDeskUsers.Add(objAdefHelpDeskUsers); context.SaveChanges(); } } catch (Exception ex) { // Return the error objRegisterStatus.status = ex.GetBaseException().Message; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } // Membership API var user = new ApplicationUser { UserName = paramUserName, Email = paramEmail }; var result = _userManager.CreateAsync(user, paramPassword).Result; if (!result.Succeeded) { // Create user failed try { // Delete user from the User table using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var objAdefHelpDeskUser = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Username == paramUserName select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskUser != null) { context.AdefHelpDeskUsers.Remove(objAdefHelpDeskUser); context.SaveChanges(); } } } catch { // Do nothing if this fails } // Return the errors from the Memberhip API Creation string strErrors = ""; foreach (var Error in result.Errors) { strErrors = strErrors + "\n" + Error.Description; } objRegisterStatus.status = strErrors; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } objRegisterStatus.status = "Success"; objRegisterStatus.isSuccessful = true; // *** Verified Accounts // Determine if verified registration is turned on // and BypassVerify is also on GeneralSettings objGeneralSettings = new GeneralSettings(_DefaultConnection); if ((!BypassVerify) && (objGeneralSettings.VerifiedRegistration)) { // Get a random verify code string strVerifyCode = CreateVerificationKey(5); // Write it to the users record using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var objAdefHelpDeskUser = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Username == paramUserName select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskUser != null) { objAdefHelpDeskUser.VerificationCode = strVerifyCode; context.AdefHelpDeskUsers.Update(objAdefHelpDeskUser); context.SaveChanges(); } } // Send the user the verification email string strFullName = $"{paramFirstName} {paramLastName}"; // Get file and make replacements string strEmailContents = System.IO.File.ReadAllText(System.IO.Path.Combine(_hostEnvironment.ContentRootPath, "SystemFiles", "Email-UserVerification.txt").Replace(@"\", @"/")); strEmailContents = strEmailContents.Replace("[strFullName]", strFullName); strEmailContents = strEmailContents.Replace("[CurrentHostLocation]", CurrentHostLocation); strEmailContents = strEmailContents.Replace("[paramUserName]", paramUserName); strEmailContents = strEmailContents.Replace("[strVerifyCode]", strVerifyCode); // Send Email // Async is turned off because we may have verified registration but the email server may not be working // The user needs to know this because their registration cannot proceed string smtpStatus = Email.SendMail( false, _DefaultConnection, paramEmail, strFullName, "", "", objGeneralSettings.SMTPFromEmail, "Verification Email", "ADefHelpDesk Registration Verification Email", $"{strEmailContents} <br><br> This Email was sent from: {CurrentHostLocation}."); if (smtpStatus != "") { // There was some sort of error - return it objRegisterStatus.status = smtpStatus; objRegisterStatus.isSuccessful = false; objRegisterStatus.requiresVerification = true; return(objRegisterStatus); } // Tell user they need to use the code that was just sent objRegisterStatus.requiresVerification = true; objRegisterStatus.status = $"Your registration was successful. "; objRegisterStatus.status = objRegisterStatus.status + $"However, registration is verified. "; objRegisterStatus.status = objRegisterStatus.status + $"You have been emailed a verification code that must be used to complete your registration."; } else { if (SignUserIn) { // Sign the User in var SignInResult = _signInManager.PasswordSignInAsync( paramUserName, paramPassword, false, lockoutOnFailure: false).Result; if (!SignInResult.Succeeded) { // Return the error objRegisterStatus.status = $"Could not sign user {paramUserName} in."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } } } return(objRegisterStatus); }
public IActionResult Index([FromBody] ProfileDTO Profile) { ProfileStatus objProfileStatus = new ProfileStatus(); objProfileStatus.isSuccessful = true; objProfileStatus.status = ""; #region Validation **************************** EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(Profile.email)) { objProfileStatus.status = "This Email is not valid."; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } if ((Profile.firstName == null) || (Profile.firstName.Length < 1)) { objProfileStatus.status = "This First Name is not long enough."; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } if ((Profile.lastName == null) || (Profile.lastName.Length < 1)) { objProfileStatus.status = "This Last Name is not long enough."; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } #endregion // Update User **************************** string CurrentUser = this.User.Identity.Name; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { try { // Check the Email string strEmailToCheck = Profile.email.Trim().ToLower(); var objAdefHelpDeskEmail = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Email.ToLower() == strEmailToCheck where AdefHelpDeskUsers.Username != CurrentUser select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskEmail != null) { // User is already taken objProfileStatus.status = "This Email address is already taken."; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } // Get the user var objUser = (from user in context.AdefHelpDeskUsers where user.Username == CurrentUser select user).FirstOrDefault(); if (objUser != null) { // Update them objUser.FirstName = Profile.firstName.Trim(); objUser.LastName = Profile.lastName.Trim(); objUser.Email = Profile.email.Trim(); #region See if the password will be updated if ( (Profile.orginalpassword != null) && (Profile.orginalpassword.Trim().Length > 1) && (Profile.password != null) && (Profile.password.Trim().Length > 1) ) { // The original password must be correct var user = _userManager.Users.Where(x => x.UserName == CurrentUser).FirstOrDefault(); var SignInResult = _userManager.CheckPasswordAsync(user, Profile.orginalpassword.Trim()).Result; if (!SignInResult) { objProfileStatus.status = "The original password must be correct to set the new password."; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } // First try to update the password in the ASP.NET Membership provider var result = _userManager.ChangePasswordAsync( user, Profile.orginalpassword.Trim(), Profile.password.Trim()).Result; if (!result.Succeeded) { // Return the errors string strErrors = ""; foreach (var Error in result.Errors) { strErrors = strErrors + "\n" + Error.Description; } objProfileStatus.status = strErrors; objProfileStatus.isSuccessful = false; return(Ok(objProfileStatus)); } } #endregion // Save changes context.SaveChanges(); } else { objProfileStatus.isSuccessful = false; objProfileStatus.status = $"Could not find {CurrentUser} in database"; } } catch (Exception ex) { objProfileStatus.isSuccessful = false; objProfileStatus.status = ex.GetBaseException().Message; } } return(Ok(objProfileStatus)); }
public IActionResult Index([FromBody] RegisterDTO Register) { // RegisterStatus to return RegisterStatus objRegisterStatus = new RegisterStatus(); objRegisterStatus.status = "Registration Failure"; objRegisterStatus.isSuccessful = false; // Get values passed var paramUserName = Register.userName.Trim(); var paramPassword = Register.password.Trim(); var paramFirstName = Register.firstName.Trim(); var paramLastName = Register.lastName.Trim(); var paramEmail = Register.email.Trim(); // Validation **************************** EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(paramEmail)) { objRegisterStatus.status = "This Email is not valid."; objRegisterStatus.isSuccessful = false; return(Ok(objRegisterStatus)); } if ((paramUserName == null) || (paramUserName.Length < 1)) { objRegisterStatus.status = "This Username is not long enough."; objRegisterStatus.isSuccessful = false; return(Ok(objRegisterStatus)); } // Create Account **************************** try { var user = new ApplicationUser { UserName = paramUserName, Email = paramEmail }; var result = _userManager.CreateAsync(user, paramPassword).Result; if (result.Succeeded) { // Sign the User in var SignInResult = _signInManager.PasswordSignInAsync( paramUserName, paramPassword, false, lockoutOnFailure: false).Result; if (!SignInResult.Succeeded) { // Return the error objRegisterStatus.status = $"Could not sign user {paramUserName} in."; objRegisterStatus.isSuccessful = false; return(Ok(objRegisterStatus)); } } else { // Create user failed // Return the errors from the Memberhip API Creation string strErrors = ""; foreach (var Error in result.Errors) { strErrors = strErrors + "\n" + Error.Description; } objRegisterStatus.status = strErrors; objRegisterStatus.isSuccessful = false; return(Ok(objRegisterStatus)); } objRegisterStatus.status = "Success"; objRegisterStatus.isSuccessful = true; return(Ok(objRegisterStatus)); } catch (Exception ex) { objRegisterStatus.status = ex.Message; objRegisterStatus.isSuccessful = false; return(Ok(objRegisterStatus)); } }
// Await for db call on need public async Task <UploadResult> AddPeople(string path, string pwd = default) { var file = new FileInfo(path); var uploadResult = new UploadResult(); if (file != null && file.Length > 0 && !string.IsNullOrEmpty(file.Name)) { //You can save a copy of the file if u wish var fileName = Path.GetFileName(file.Name); if (Path.GetExtension(fileName) == ".xls" || Path.GetExtension(fileName) == ".xlsx") { //If file has a password supply it as second parameter below using (var package = new ExcelPackage(file)) { List <Person> people = new List <Person>(); List <ExcelIterationResult> excelIterationResults = new List <ExcelIterationResult>(); //var workSheet = currentSheet.First(); ///Use this for only single worksheet foreach (var workSheet in package.Workbook.Worksheets) { //Assumes first row is header row for (int rowIterator = 2; rowIterator <= workSheet.Dimension.End.Row; rowIterator++) { ExcelIterationResult Er = new ExcelIterationResult(); //Columns have to be in order var surName = workSheet.Cells[rowIterator, 1].Value.ToString().Trim(); var firstName = workSheet.Cells[rowIterator, 2].Value.ToString().Trim(); var middleName = workSheet.Cells[rowIterator, 3].Value.ToString().Trim(); var phone = workSheet.Cells[rowIterator, 4].Value.ToString().Trim(); var email = workSheet.Cells[rowIterator, 5].Value.ToString().Trim(); var dob = workSheet.Cells[rowIterator, 6].Value.ToString().Trim(); List <string> mess = new List <string>(); if (string.IsNullOrWhiteSpace(surName)) { mess.Add("Surname is required"); } if (string.IsNullOrWhiteSpace(firstName)) { mess.Add("Surname is required"); } if (string.IsNullOrWhiteSpace(phone)) { mess.Add("Surname is required"); } if (string.IsNullOrWhiteSpace(email)) { mess.Add("Surname is required"); } //Validate your values if (!EmailValidation.IsValidEmail(email)) { mess.Add($"{email} is invalid"); } if (!PhoneNumberValidation.IsValidPhoneNumber(phone)) { mess.Add($"{phone} is invalid"); } if (mess.Any()) { Er.Status = false; Er.RowNumber = rowIterator; Er.Reasons = mess; excelIterationResults.Add(Er); } else { people.Add(Person.Create(surName, firstName, phone, email, Convert.ToDateTime(dob), middleName)); } } } uploadResult.People.AddRange(people); uploadResult.Results.AddRange(excelIterationResults); if (excelIterationResults.Any()) { uploadResult.Status = false; uploadResult.Message = "Some data was invalid"; } else { uploadResult.Status = true; } } } else { uploadResult.Status = false; uploadResult.Message = "Not a valid excel file"; } } else { uploadResult.Status = false; uploadResult.Message = "Empty file"; } return(uploadResult); }
private void button_Click(object sender, RoutedEventArgs e) { //Create variables for the textbox elements var name = TxtNm.Text; var username = TxtUsrNm.Text; var password = TxtPswd.Password; var passwordRepeat = TxtPswdRpt.Password; var email = TxtEml.Text; //create a new instance of the SendData class SendData regitems = new SendData { RegName = name, RegUsername = username, RegPass = password, RegPassRpt = passwordRepeat, RegEmail = email }; //Run a bunch of if statements to find out if the user has not filled out one or more of the forms. //Return a messagebox telling the user which form(s) they still have to fill in. //Following the order of: Name, Username, Email, Password, repeated password. if (string.IsNullOrWhiteSpace(name)) { MessageBox.Show(this, "You did not enter a name" + (string.IsNullOrWhiteSpace(username) ? " and username" : "") + (string.IsNullOrWhiteSpace(email) ? " and email" : "") + (string.IsNullOrWhiteSpace(password) ? " and password" : "") + (string.IsNullOrWhiteSpace(passwordRepeat) ? " and the repeated password" : "")); return; } else if (string.IsNullOrWhiteSpace(username)) { MessageBox.Show(this, "You did not enter a username" + (string.IsNullOrWhiteSpace(email) ? " and email" : "") + (string.IsNullOrWhiteSpace(password) ? " and password" : "") + (string.IsNullOrWhiteSpace(passwordRepeat) ? " and the repeated password" : "")); return; } else if (string.IsNullOrWhiteSpace(email)) { MessageBox.Show(this, "You did not enter an email" + (string.IsNullOrWhiteSpace(password) ? " and password" : "") + (string.IsNullOrWhiteSpace(passwordRepeat) ? " and the repeated password" : "")); return; } else if (string.IsNullOrWhiteSpace(password)) { MessageBox.Show(this, "You did not enter a password" + (string.IsNullOrWhiteSpace(passwordRepeat) ? " and the repeated password" : "")); return; } else if (string.IsNullOrWhiteSpace(passwordRepeat)) { MessageBox.Show(this, "You did not enter the repeated password"); return; } //When all froms are filled run a few validation checks //Hash and salt the password //Send all the data to the database else { //Check with the help of the email validation class if the user entered a valid email address. EmailValidation Email = new EmailValidation(); if (Email.IsValidEmail(email)) { Console.WriteLine("Valid"); } else { Console.WriteLine("Invalid"); } // Check if the password and repeated password are the same if (password == passwordRepeat) { Console.WriteLine("Same"); } else { Console.WriteLine("Different"); } //Hash and salt the entered password. var Hash = Hashing.CreateHash(password); Console.WriteLine(Hash); regitems.RegHash = Hash; } Console.WriteLine("Succesful"); regitems.SendRegister(); }
public void IsValidEmail_Return_True() { Assert.True(EmailValidation.IsValidEmail("*****@*****.**")); }