public SignupResponse Signup(SignupRequest request, dbDataContext db) { var result = db.sp_GetUserStatusByEmail(request.Email).FirstOrDefault(); if (result != null) { if (ConfigHelper.Config.SignupActivationRequired) { if (!result.IsEmailVerified == true) { throw new HappyHourException(ErrorCode.EmailNotVerified); } } throw new HappyHourException(ErrorCode.EmailAlreadyExist); } var md5Password = Md5SecurityHelper.GetMd5Hash(request.Password); var encyptedSystemPassword = PasswordEncryptor.Encrypt(request.SystemPassword); var encryptedSystemNumber = PasswordEncryptor.Encrypt(request.SystemNumber); var signupResult = db.sp_Signup(request.FirstName, request.LastName, request.Email, md5Password, request.SystemEmail, encyptedSystemPassword, encryptedSystemNumber, ConfigHelper.Config.SignupActivationRequired).FirstOrDefault(); if (signupResult.EmailExist == true) { throw new HappyHourException(ErrorCode.EmailAlreadyExist); } if (ConfigHelper.Config.SignupActivationRequired) { var activationLink = CreateActivationLink(signupResult.ActivationToken.Value.ToString()); string fullName = string.Format("{0} {1}", request.FirstName, request.LastName); SendActivationEmail(request.Email, fullName, activationLink); } return(new SignupResponse() { IsEmailVerificationRequired = ConfigHelper.Config.SignupActivationRequired }); }
public SigninResponse Signin(SigninRequest request, dbDataContext db) { var md5Password = Md5SecurityHelper.GetMd5Hash(request.Password); var result = db.sp_Signin(request.Email, md5Password).FirstOrDefault(); if (result == null) { throw new HappyHourException(ErrorCode.InvalidUser); } if (ConfigHelper.Config.SignupActivationRequired) { if (!result.IsEmailVerified) { throw new HappyHourException(ErrorCode.EmailNotVerified); } } return(new SigninResponse() { UserId = result.Id }); }