public bool PasswordRecovery(string email, out string messageError) { byte[] passwordHash, salt; if (CommonUserRepository.GetInstance().PasswordRecovery(email, out passwordHash, out salt)) { if (passwordHash != null && salt != null) { using (var hmac = new System.Security.Cryptography.HMACSHA512(salt)) { string password = Encoding.UTF8.GetChars(hmac.ComputeHash(passwordHash)).ToString(); if (SendEmail.GetInstance().RecoveryPassword_SendMail(email, password)) { messageError = "Su contraseña se ha nviado correctamente alcorreo"; return(true); } else { messageError = "Devido a incovenientes no se ha enviado su contraseña al correo obtorgado, intente mas tarde"; return(false); } } } else { messageError = "Su correo no se encuentra registrado en la base de datos del programa"; return(false); } } else { messageError = "Error de conexion con el servidor, intentelo mas tarde"; return(false); } }
public bool UserNotExist(string email) { if (CommonUserRepository.GetInstance().UserNotExist(email)) { return(true); } else { return(false); } }
public Exception UpdateUserInformation(CommonUser newInformation, CommonUserSession oldInformation) { Exception exception = CommonUserRepository.GetInstance().UpdateUserInformation(oldInformation.Email, newInformation); if (exception != null) { oldInformation = (CommonUserSession)newInformation; return(null); } else { return(exception); } }
public CommonUser Login(string email, string password) { var commonUser = new CommonUser(); Exception exception = CommonUserRepository.GetInstance().Login(email, ref commonUser); if (exception != null) { if (!VerifyPasswordHash(password, commonUser.Password, commonUser.Salt)) { return(null); } } return(commonUser); // auth successful }
public Exception Register(CommonUser commonUser, string password) { if (UserNotExist(commonUser.Email)) { byte[] passwordHash, salt; CreatePasswordHash(password, out passwordHash, out salt); commonUser.Password = passwordHash; commonUser.Salt = salt; Exception exception = CommonUserRepository.GetInstance().Register(ref commonUser); return(exception); } else { return(null); } }