public async Task <IActionResult> Add([FromBody] EditInvoiceRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var response = await _invoiceService.EditAsync(request); if (!response.IsValid) { return(BadRequest(response.Message)); } return(Ok(response)); }
public async Task <IHttpActionResult> Edit([FromUri] Guid InvoiceId, [FromBody] EditInvoiceRequest request) { try { if (request.Amount <= 0) { return(BadRequest()); } var invoice = await _repository.Get <Invoice>(InvoiceId); if (invoice == null) { return(NotFound()); } invoice.ClientId = request.ClientId; invoice.OrderId = request.OrderId; invoice.Description = request.Description; invoice.Amount = request.Amount; var rows = await _repository.Save(invoice); if (rows == 0) { return(BadRequest()); } invoice = await _repository.Get <Invoice>(invoice.Id); var response = new EditInvoiceResponse { Result = invoice }; return(Ok(response)); } catch (Exception) { // TODO: Log exception } return(InternalServerError()); }