public async Task <OperacionDto <ResponseSimpleDto> > InsertInvoice(InsertFacturaRequestDto requestDto) { var operationValidate = UtilityValidation.ModelValidate <ResponseSimpleDto>(requestDto); if (!operationValidate.Completado) { return(operationValidate); } var product = await _productoRepository.Get(requestDto.ProductId); if (product == null) { return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el producto")); } var seller = await _vendedorRepository.Get(requestDto.VendedorId); if (seller == null) { return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el vendedor")); } var client = await _clienteRepository.Get(requestDto.ClienteId); if (client == null) { return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el cliente")); } if (requestDto.Cantidad < 1) { return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.Invalid, "La cantidad de los productos debe ser mayor a 0")); } await _facturaRepository.InsertInvoice(requestDto.Serie, requestDto.Codigo, requestDto.VendedorId, requestDto.ClienteId, requestDto.Fecha, requestDto.Moneda, requestDto.ProductId, requestDto.Cantidad, requestDto.Precio); return(new OperacionDto <ResponseSimpleDto>(new ResponseSimpleDto() { Suceso = true, Mensaje = "Factura creada satisfactoriamente" })); }