public async Task <ActionResult <FacturaDto> > CreateEdit([FromBody] FacturaDto factura) { if (factura.IdFactura == 0) { await _facturaRepository.CreateFactura(factura); if (await _facturaRepository.SaveAllAsync()) { return(factura); } else { return(BadRequest("Unable to add factura")); } } else { var facturaFromDB = await _facturaRepository.GetFacturaAsync(factura.IdFactura); _mapper.Map(factura, facturaFromDB); _facturaRepository.UpdateFactura(facturaFromDB); if (await _facturaRepository.SaveAllAsync()) { return(NoContent()); } else { return(BadRequest("Unable to update factura")); } } }
public async Task <Factura> CreateFactura(FacturaDTO factura) { Producto producto = await productoRepository.GetProducto(factura.ProductoId); if (producto == null) { return(null); } Preventa preventa = await preventaRepository.GetPreventa(factura.PreventaId); if (preventa == null) { return(null); } Factura nuevaFactura = new Factura { Preventa = preventa, Producto = producto, FacturaFecha = DateTime.UtcNow, Cantidad = factura.CantidadProducto, Total = producto.ValorUnitario * factura.CantidadProducto }; return(await facturaRepository.CreateFactura(nuevaFactura)); }