public void ObtenerDetalleFacturaDeposito(ref List <FacturaDeposito> factura_deposito)
        {
            DetalleFacturaDeposito        detalle_factura_deposito = null;
            List <DetalleFacturaDeposito> lista_detalle_factura    = null;
            List <OracleParameter>        parameters = null;

            foreach (FacturaDeposito c in factura_deposito)
            {
                parameters = new List <OracleParameter>();
                parameters.Add(new OracleParameter("ID_FACTURA_DEPOSITO", OracleDbType.Int32, c.IdFacturaDeposito, ParameterDirection.Input));
                parameters.Add(new OracleParameter("RC1", OracleDbType.RefCursor, ParameterDirection.Output));

                using (OracleDataReader dr = (OracleDataReader)_connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCDOCABONO.CCLREADETFACTURA_DEPOSITO", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion))
                {
                    lista_detalle_factura = new List <DetalleFacturaDeposito>();

                    while (dr.Read())
                    {
                        detalle_factura_deposito            = new DetalleFacturaDeposito();
                        detalle_factura_deposito.IdDeposito = Convert.ToInt32(dr["ID_DEPOSITO"]);
                        lista_detalle_factura.Add(detalle_factura_deposito);
                    }
                }

                c.DetalleFacturaDeposito = new List <DetalleFacturaDeposito>();
                c.DetalleFacturaDeposito = lista_detalle_factura;
            }
        }
        public Task <string> ActualizarEstadoDeposito(DetalleFacturaDeposito detalle_factura_deposito)
        {
            string result = string.Empty;

            List <OracleParameter> parameters = new List <OracleParameter>();

            parameters.Add(new OracleParameter("ID_DEPOSITO", OracleDbType.Int32, detalle_factura_deposito.IdDeposito, ParameterDirection.Input));
            parameters.Add(new OracleParameter("ID_DG_ESTADO_DEPOSITO", OracleDbType.Int32, detalle_factura_deposito.IddgEstadoDeposito, ParameterDirection.Input));

            var pResult = new OracleParameter("P_RESULTADO", OracleDbType.Int32, ParameterDirection.Output);

            parameters.Add(pResult);

            _connectionBase.ExecuteByStoredProcedure("CONCILIACION.CCLPROCDOCABONO.CCLUPDSTATEDEPOSITO", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion);

            result = pResult.Value.ToString();

            return(Task.FromResult <string>(result));
        }
        public Task <FacturaDeposito> ObtenerFacturaDeposito(DatosFacturaAbonos datosFacturaAbonos)
        {
            string numero_serie = string.Empty;

            FacturaDeposito        factura_deposito         = null;
            DetalleFacturaDeposito detalle_factura_deposito = null;

            List <Deposito> lista_deposito = new List <Deposito>();

            lista_deposito = ListarDepositoNoConciliado();

            numero_serie = ObtenerNumeroSerie();

            if (lista_deposito.Count > 0 && numero_serie != "")
            {
                factura_deposito                        = new FacturaDeposito();
                factura_deposito.IdProducto             = datosFacturaAbonos.IdProducto;
                factura_deposito.NumeroFactura          = numero_serie;
                factura_deposito.MontoTotal             = lista_deposito.Sum(x => x.Monto);
                factura_deposito.VcUsuarioCreacion      = datosFacturaAbonos.Usuario;
                factura_deposito.IddgEstado             = 1; //Generado
                factura_deposito.DetalleFacturaDeposito = new List <DetalleFacturaDeposito>();

                foreach (Deposito d in lista_deposito)
                {
                    detalle_factura_deposito                    = new DetalleFacturaDeposito();
                    detalle_factura_deposito.IdDeposito         = d.IdDeposito;
                    detalle_factura_deposito.Monto              = d.Monto;
                    detalle_factura_deposito.IdTipoMedioPago    = d.IdTipoMedioPago;
                    detalle_factura_deposito.VcUsuarioCreacion  = datosFacturaAbonos.Usuario;
                    detalle_factura_deposito.IddgEstado         = 1;    //Generado
                    detalle_factura_deposito.IddgEstadoDeposito = 1108; //Con Factura de Abono
                    factura_deposito.DetalleFacturaDeposito.Add(detalle_factura_deposito);
                }
            }

            return(Task.FromResult <FacturaDeposito>(factura_deposito));
        }