Beispiel #1
0
        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
            });
        }
Beispiel #2
0
        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
            });
        }