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 <IActionResult> Create([FromBody] SaveClientResource saveClientResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var client = _mapper.Map <SaveClientResource, Client>(saveClientResource); await _unitOfWork.Clients.AddAsync(client); await _unitOfWork.CompleteAsync(); client = await _unitOfWork.Clients.GetAsync(client.Id); return(Ok(_mapper.Map <Client, ClientResource>(client))); }
public async Task <ActionResult <ClientResource> > PostClientAsync([FromBody] SaveClientResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var client = _mapper.Map <SaveClientResource, Client>(resource); var result = await _clientService.SaveAsync(client); if (!result.Success) { return(BadRequest(result.Message)); } var clientResource = _mapper.Map <Client, ClientResource>(result.Client); return(Ok(clientResource)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] SaveClientResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var client = mapper.Map <SaveClientResource, Client>(resource); var result = await clientService.UpdateAsync(id, client); if (!result.Success) { return(BadRequest(result.Message)); } var clientResource = mapper.Map <Client, ClientResource>(result.Client); return(Ok(clientResource)); }
public async Task <IActionResult> Update(int id, [FromBody] SaveClientResource saveClientResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var client = await _unitOfWork.Clients.GetAsync(id); if (client == null) { return(NotFound()); } _mapper.Map(saveClientResource, client); await _unitOfWork.CompleteAsync(); client = await _unitOfWork.Clients.GetAsync(client.Id); return(Ok(_mapper.Map <Client, ClientResource>(client))); }
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))); }