Exemplo n.º 1
0
        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());
        }