Exemple #1
0
        public async Task <ActionResult> RegisterAsync([FromBody] SaveCustomerViewModel model)
        {
            var result = await _saveCustomerCommand.ExecuteAsync(model);

            if (!result.Succeeded)
            {
                return(new ObjectResult(result));
            }

            CustomerViewModel user = result.Data as CustomerViewModel;

            if (user != null)
            {
                var jwtOptions = _jwtConfiguration.Value;
                jwtOptions.ValidFor = TimeSpan.FromHours(JwtValidTime.FOR_CUSTOMER_BY_HOURS);

                var jwtUserAccount = new JwtUserAccount
                {
                    UserId      = user.Id,
                    Email       = user.Email,
                    PhoneNumber = user.PhoneNumber,
                    LastName    = user.LastName,
                    MiddleName  = user.MiddleName,
                    FirstName   = user.FirstName
                };

                TokenViewModel tokenVM = new TokenViewModel()
                {
                    Id          = user.Id,
                    Email       = user.Email,
                    PhoneNumber = user.PhoneNumber,
                    LastName    = user.LastName,
                    MiddleName  = user.MiddleName,
                    FirstName   = user.FirstName,
                    Birthday    = user.Birthday,
                    Gender      = user.Gender,
                    CreatedDate = user.CreatedDate,
                    AccessToken = jwtUserAccount.GenerateToken(jwtOptions)
                };

                return(new ObjectResult(CommandResult.SuccessWithData(tokenVM)));
            }

            return(new ObjectResult(CommandResult.Failed(new CommandResultError()
            {
                Code = (int)HttpStatusCode.InternalServerError,
                Description = MessageConstant.SYSTEM_ERROR
            })));
        }
Exemple #2
0
        public async Task <IActionResult> UpdateInfoAsync([FromBody] SaveCustomerViewModel model)
        {
            var result = await _saveCustomerCommand.ExecuteAsync(model);

            return(new ObjectResult(result));
        }