public void CancelarOperacion(int idOperacion)
        {
            var datos = new OperacionesDAC();
            var inte  = new IntegridadDatos();

            datos.CancelarOperacion(idOperacion);

            var operacionActual = datos.ListarOperacionesporId(idOperacion.ToString()).First();

            operacionActual.DVH = inte.CalcularDVH(operacionActual.Id.ToString() + operacionActual.Cliente.Id.ToString() + operacionActual.FechaHora.ToString() + operacionActual.TipoOperacion + operacionActual.ImporteTotal.ToString() + operacionActual.Factura.Codigo.ToString() + operacionActual.Estado.Id.ToString());

            // Actualiza el DVH y DVV.
            inte.ActualizarDVHOperacion(operacionActual.Id, operacionActual.DVH);
            inte.RecalcularDVV("Operacion");
        }
        public Operacion RegistrarOperacion(DateTime fechaHora, int codCliente, int importeTotal, int formaPagoId, string tipoOperacion, int estadoId, int codFactura)
        {
            var datos                   = new OperacionesDAC();
            var datosUsuario            = new CuentaDAC();
            var inte                    = new IntegridadDatos();
            var aud                     = new Auditoria();
            var accDatosEstadoOperacion = new EstadoOperacionDAC();
            var accDatosCliente         = new ClienteDAC();
            var accDatosFormaPago       = new FormaPagoDAC();


            var operacion = new Operacion
            {
                FechaHora     = fechaHora,
                Cliente       = accDatosCliente.BuscarPorId(codCliente), //Mapper Cliente.
                TipoOperacion = tipoOperacion,
                ImporteTotal  = importeTotal,
                FormaPago     = accDatosFormaPago.BuscarPorId(formaPagoId),    //Mapper FormaPago.
                Estado        = accDatosEstadoOperacion.BuscarPorId(estadoId), //Mapper EstadoOperacion.
                Factura       = datos.BuscarFacturaporCodigo(codFactura)       //Mapper Factura.
            };

            var operacionActual = datos.RegistrarOperacion(operacion);

            operacionActual.DVH = inte.CalcularDVH(operacionActual.Id.ToString() + operacionActual.Cliente.Id.ToString() + operacionActual.FechaHora.ToString() + operacionActual.TipoOperacion + operacionActual.ImporteTotal.ToString() + operacionActual.Factura.Codigo.ToString() + operacionActual.Estado.Id.ToString());

            // Actualiza el DVH y DVV.
            inte.ActualizarDVHOperacion(operacionActual.Id, operacionActual.DVH);
            inte.RecalcularDVV("Operacion");

            var usuario = datosUsuario.ListarUsuarioPorId(codCliente);

            // Grabo en Bitácora.
            aud.grabarBitacora(DateTime.Now, usuario.Usr, "ALTA OPERACION VENTA", "INFO", "Se generó la Venta: " + operacionActual.Id.ToString() + " para el Cliente " + operacionActual.Cliente.Id + " por un Importe de $ " + operacionActual.ImporteTotal.ToString());


            return(operacionActual);
        }