public async Task <CommandResult> ExecuteSocialAsync(SaveCustomerSocialViewModel model) { try { if (model.Id == default) { CsmsUser user = new CsmsUser() { Id = 0, RoleId = 1, FirstName = model.Name, MiddleName = "", LastName = "", Email = model.Email, }; await _userRepository.InsertAsync(user); return(GetUserDataSuccess(user)); } else { var user = await _userRepository.GetByIdAsync(model.Id); if (user == null) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.NotFound, Description = MessageErrors.NotFound })); } else { user.FirstName = model.Name; user.Email = model.Email; await _userRepository.UpdateAsync(user); return(GetUserDataSuccess(user)); } } } catch (Exception ex) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.InternalServerError, Description = MessageErrors.InternalServerError })); } }
public async Task <ActionResult> RegisterSocialAsync([FromBody] SaveCustomerSocialViewModel model) { var result = await _saveCustomerCommand.ExecuteSocialAsync(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, FirstName = user.FirstName }; TokenViewModel tokenVM = new TokenViewModel() { Id = user.Id, Email = user.Email, FirstName = user.FirstName, 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 }))); }