public async Task <ActionResult <ClientResource> > UpdateClient(SaveClientResource saveClientResource) { var validator = new SaveClientResourceValidator(); var validationResult = await validator.ValidateAsync(saveClientResource); // CHECK IS COMING OBJECT IS VALID if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // MAPPING var clientToUpdate = _mapper.Map <SaveClientResource, Client>(saveClientResource); // GET CLIENT OBJECT BY EMAIL var clientDatabase = await _clientService.GetWithCheckoutByEmail(saveClientResource.Email); // SEND TO INTERFACE AND UPDATE CLIENT await _clientService.UpdateClient(clientDatabase, clientToUpdate); // GET NEW DATA FOR CLIENT clientDatabase = await _clientService.GetWithCheckoutByEmail(saveClientResource.Email); return(Ok(_mapper.Map <Client, ClientResource>(clientDatabase))); }
public async Task <ActionResult <ClientResource> > CreateClient(SaveClientResource saveClientResource) { var validator = new SaveClientResourceValidator(); var validationResult = await validator.ValidateAsync(saveClientResource); // CHECK IS COMING OBJECT IS VALID if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // MAPPING var clientToCreate = _mapper.Map <SaveClientResource, Client>(saveClientResource); // CREATE CLIENT var newClient = await _clientService.CreateClient(clientToCreate); // GET DATA FOR NEW CLIENT var databaseClient = await _clientService.GetWithCheckoutByEmail(newClient.Email); return(Ok(_mapper.Map <Client, ClientResource>(databaseClient))); }