示例#1
0
        /// <summary>
        /// 執行註冊
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public BaseResultModel <object> DoSignUp(SignUpParameter parameter)
        {
            var result = new BaseResultModel <object>()
            {
                Result = false
            };
            var rptParameter = _Mapper.Map <MemberAddRptParameter>(parameter);
            var member       = _MemberRepository.Get().FirstOrDefault(x => x.Account == parameter.Email);

            if (member != null)
            {
                result.Message     = "信箱已經被註冊";
                result.Description = "錯誤";
            }
            else
            {
                var rptResult = _MemberRepository.Create(rptParameter);
                if (rptResult)
                {
                    result.Message     = "註冊成功";
                    result.Description = "成功";
                }
                else
                {
                    result.Message     = "註冊失敗";
                    result.Description = "註冊失敗";
                }
            }
            return(result);
        }
示例#2
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="param"></param>
        public void SignUp(SignUpParameter param)
        {
            string orgPwd = param.Password;

            param.Password = CryptoManaged.MD5Hex(param.Password);
            using (var scope = DbScope.Create())
                using (var context = base.CreateUserContext())
                {
                    scope.BeginTransaction();

                    if (this.IsUserNameExists(new IsUserNameExistsParameter()
                    {
                        AppID = param.AppID,
                        UserName = param.UserName
                    }))
                    {
                        throw new InvalidInvokeException(SignUpErrorCode.AccountExist.ToDescription());
                    }

                    var dataObj = new Account();
                    EntityMapper.Map <SignUpParameter, Account>(param, dataObj);
                    dataObj.RowID      = Guid.NewGuid();
                    dataObj.CreateDate = DateTime.Now;
                    context.Accounts.Add(dataObj);
                    context.SaveChanges();

                    if (param.SmsCode != default(int))
                    {
                        VerifyMobile(new VerifyMobileParameter()
                        {
                            Mobile  = param.Mobile,
                            SmsCode = param.SmsCode
                        });
                    }

                    scope.Complete();

                    if (!string.IsNullOrEmpty(param.Email))
                    {
                        this.SendAuthEmail(new SendAuthEmailParameter()
                        {
                            AppID  = param.AppID,
                            UserID = dataObj.RowID,
                            Email  = param.Email,
                            Kind   = AuthEmailKind.SignUp
                        });
                    }
                }
        }
        public ActionResult SignUp(SignUpParameter parameter)
        {
            if (!ModelState.IsValid)
            {
                return(ResponseModelStateValidation());
            }

            var rptResult = _AccountProcess.DoSignUp(parameter);

            if (rptResult.Result)
            {
                TempData[ApplicationConst.MessageKey] = rptResult.Message;
                return(RedirectToAction("Login"));
            }
            else
            {
                TempData[ApplicationConst.MessageKey] = rptResult.Message;
                return(Redirect("~/Login#signup"));
            }
        }
示例#4
0
 public void SignUp(SignUpParameter param)
 {
     mgr.SignUp(param);
 }