public async Task <ActionResult <GastoResource> > UpdateGasto(Guid id, [FromBody] SaveGastoResource saveGastoResource) { var validator = new SaveGastoResourceValidator(); var validationResult = await validator.ValidateAsync(saveGastoResource); var requestIsInvalid = id == null || !validationResult.IsValid; if (requestIsInvalid) { return(BadRequest(validationResult.Errors)); } var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var gastoToBeUpdated = await _gastoService.GetGastoById(id, userId); if (gastoToBeUpdated == null) { return(NotFound()); } var gasto = _mapper.Map <SaveGastoResource, Gasto>(saveGastoResource); await _gastoService.UpdateGasto(gastoToBeUpdated, gasto); var updatedGasto = await _gastoService.GetGastoById(id, userId); var updateGastoResource = _mapper.Map <Gasto, GastoResource>(updatedGasto); return(Ok(updateGastoResource)); }
public async Task <ActionResult <GastoResource> > CreateGasto([FromBody] SaveGastoResource saveGastoResource) { var validator = new SaveGastoResourceValidator(); var validationResult = await validator.ValidateAsync(saveGastoResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var gastoToCreate = _mapper.Map <SaveGastoResource, Gasto>(saveGastoResource); var newGasto = await _gastoService.CreateGasto(gastoToCreate, userId); var gasto = await _gastoService.GetGastoById(newGasto.Id, userId); var gastoResource = _mapper.Map <Gasto, GastoResource>(gasto); return(Ok(gastoResource)); }