public void Post([FromBody] SaveCustomerViewModel sCustomer) { var customer = new CustomerViewModel { FirstName = sCustomer.FirstName, LastName = sCustomer.LastName, MemberSince = sCustomer.MemberSince, Wallet = sCustomer.Wallet }; _repository.Add(customer.ToModel()); }
public async Task <ActionResult> SaveCustomer([FromForm] SaveCustomerViewModel model, CancellationToken cancellationToken) { EnsureModalStateIsValid(); var request = Mapper.Map <SaveCustomerViewModel, SaveCustomerRequest>(model); var response = await Mediator.Send(request, cancellationToken); return(await HandleResponse(response, cancellationToken, async (response, ct) => await Mediator .Publish(new CustomerSavedNotification { SavedCustomer = response.Result }, ct))); }
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 }))); }
private CommandResult CheckValidData(SaveCustomerViewModel model) { if (model == default || model.FirstName == default || model.LastName == default || model.Email == default || model.PhoneNumber == default || (model.Id == default && model.Password.IsEmpty())) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.BadRequest, Description = MessageErrors.SomeDataEmptyOrInvalid })); } if (CheckEmailExist(model.Email, model.Id)) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.NotAcceptable, Description = MessageErrors.DataIsExists.Replace("{0}", "Email") })); } if (CheckPhoneNumberExist(model.PhoneNumber, model.Id)) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.NotAcceptable, Description = MessageErrors.DataIsExists.Replace("{0}", "Phone number") })); } return(null); }
public async Task <IActionResult> UpdateInfoAsync([FromBody] SaveCustomerViewModel model) { var result = await _saveCustomerCommand.ExecuteAsync(model); return(new ObjectResult(result)); }
public async Task <CommandResult> ExecuteAsync(SaveCustomerViewModel model) { try { CommandResult isNotValidDate = CheckValidData(model); if (isNotValidDate != null) { return(isNotValidDate); } if (model.Id == default) { CsmsUser user = new CsmsUser() { Id = 0, RoleId = 1, FirstName = model.FirstName, MiddleName = model.MiddleName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, Email = model.Email, Birthday = model.Birthday, Gender = model.Gender, Password = BCrypt.HashPassword(model.Password, BCrypt.GenerateSalt()) }; 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.FirstName; user.MiddleName = model.MiddleName; user.LastName = model.LastName; user.PhoneNumber = model.PhoneNumber; user.Email = model.Email; user.Birthday = model.Birthday; user.Gender = model.Gender; await _userRepository.UpdateAsync(user); return(GetUserDataSuccess(user)); } } } catch (Exception) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.InternalServerError, Description = MessageErrors.InternalServerError })); } }