public async Task <StatusData <AccountInternal> > SignUpPerson(SignUpRequestPerson request)
        {
            var user = new User
            {
                UserName = request.UserName,
                Password = request.Password,
                Email    = request.Email,
                // UsernameEmail = request.Email,
                UserInfoPerson = new UserInfoPerson
                {
                    FirstName = request.FirstName,
                    LastName  = request.LastName,
                    Gender    = ((byte)request.Gender).ToString(),
                    BirthDate = request.DateOfBirth.ToString("yyyy-MM-dd")
                },
                UserInfo = new UserInfo {
                    CountryCode = request.CountryCode
                }
            };

            var result = new StatusData <AccountInternal> {
                Status = SystemDbStatus.Inserted
            };

            var response = await Task.Factory.StartNew(() => Client.UserService.RegisterUser(user)).ConfigureAwait(false);

            result.Status = (SystemDbStatus)response.DbStatusCode;
            result.Data   = new AccountInternal {
                UserGuid = response.UserGUID, UserId = Convert.ToInt32(response.UserId)
            };
            result.Message = response.DbStatusMsg;

            return(result);
        }
Пример #2
0
        public async Task <StatusData <AccountInternal> > SignUpPerson(SignUpRequestPerson request)
        {
            var result = new StatusData <AccountInternal> {
                Data = new AccountInternal()
            };
            var saltKey            = Encryptor.CreateSaltKey(5);
            var hashPassword       = Encryptor.CreatePasswordHash(request.Password, saltKey);
            var userIdObj          = new ObjectParameter("userId", 0);
            var userGuidObj        = new ObjectParameter("userGUID", 0);
            var mobileResetCodeObj = new ObjectParameter("MobileResetCode", 0);

            result.Status = (SystemDbStatus)await Task.Factory.StartNew(() => Context.PROC_USERLOGIN_CREATEPERSON(request.UserName, request.FirstName, request.LastName, (byte)request.Gender, hashPassword, saltKey, request.Email, 1, request.DateOfBirth, request.CountryCode, userIdObj, userGuidObj, mobileResetCodeObj).FirstOrDefault().GetValueOrDefault()).ConfigureAwait(false);

            if (result.Status.IsOperationSuccessful())
            {
                result.Data.UserGuid = userGuidObj.Value.ToString();
                result.Data.UserId   = Convert.ToInt32(userIdObj.Value);
            }

            return(result);
        }
        private async Task <HttpResponseMessage> SignUpPerson(SignUpRequestPerson request)
        {
            var response = await _accountService.SignUpPerson(request);

            if (response.Status.IsOperationSuccessful())
            {
                var registration = new AccountInternal
                {
                    Email               = request.Email,
                    FirstName           = request.FirstName,
                    UserName            = request.UserName,
                    ImageServerAddress  = SystemConstants.ImageServerAddress.ToString(),
                    UrlRegistrationLink =
                        new Uri(new Uri(SystemConstants.WebUrl.Value),
                                "index.html#/activation/" +
                                HttpUtility.UrlEncode(Convert.ToBase64String(Encoding.UTF8.GetBytes(request.UserName))) + "/" +
                                HttpUtility.UrlEncode((Convert.ToBase64String(Encoding.UTF8.GetBytes(response.Data.UserGuid)))))
                        .ToString(),
                    UrlVerificationLink =
                        new Uri(new Uri(SystemConstants.WebUrl.Value),
                                "index.html#/activation/" +
                                HttpUtility.UrlEncode(Convert.ToBase64String(Encoding.UTF8.GetBytes(request.UserName))) + "/")
                        .ToString(),
                    UserGuid = response.Data.UserGuid,
                    UserId   = response.Data.UserId
                };

                var html = ViewRenderer.RenderView("~/Views/Home/OutMail/_RegistrationTemplatePartial.cshtml",
                                                   registration);
                Helper.SendMail(registration.Email, "Activation Mail", html,
                                bodyImages: new List <string> {
                    "~/Images/iLoop.png"
                });
            }
            return(Request.SystemResponse <string>(response.Status));
        }
 public async Task <HttpResponseMessage> RequestPersonalAccount([FromBody] SignUpRequestPerson request)
 {
     return(await SignUpPerson(request).ConfigureAwait(false));
 }
Пример #5
0
 public Task <StatusData <AccountInternal> > SignUpPerson(SignUpRequestPerson request)
 {
     return(_jUnitOfWork.Account.SignUpPerson(request));
 }