public Factura RegistrarFactura(DateTime fechaHora, string tipoFactura, int importeTotal, int formaPagoId, int estadoId, int clienteId, string NroTarjeta = "N/A") { var datos = new OperacionesDAC(); var inte = new IntegridadDatos(); var aud = new Auditoria(); var clienteDatos = new ClienteDAC(); var estadoOperacionDatos = new EstadoOperacionDAC(); var accDatosFormaPago = new FormaPagoDAC(); var factura = new Factura { FechaHora = fechaHora, Tipo = tipoFactura, Monto = importeTotal, FormaPago = accDatosFormaPago.BuscarPorId(formaPagoId), //Mapper FormaPago. Estado = estadoOperacionDatos.BuscarPorId(estadoId), //Mapper EstadoOperacion. Cliente = clienteDatos.BuscarPorId(clienteId), // Mapper Cliente. }; var facturaActual = datos.RegistrarFactura(factura); var facturaDVH = inte.CalcularDVH(facturaActual.Codigo.ToString() + facturaActual.FechaHora.ToString() + facturaActual.Tipo + facturaActual.Cliente.Id.ToString() + facturaActual.Monto.ToString() + facturaActual.FormaPago.Id.ToString() + facturaActual.Estado.Id.ToString()); // Actualiza el DVH y DVV. inte.ActualizarDVHFactura(facturaActual.Codigo, facturaDVH); inte.RecalcularDVV("Factura"); // Grabo en Bitácora. aud.grabarBitacora(DateTime.Now, "SISTEMA", "ALTA FACTURA", "INFO", "Se generó la factura: " + facturaActual.Codigo.ToString() + " para el Cliente " + facturaActual.Cliente.Id + " por un Importe de $ " + facturaActual.Monto.ToString() + " con estado " + facturaActual.Estado.Descripcion); return(facturaActual); }