Пример #1
1
        private void button2_Click(object sender, EventArgs e)
        {
            string ruta = this.ruta;
            StreamReader lectr = new StreamReader(ruta);
            int numProc = Convert.ToInt16(lectr.ReadLine());
            lectr.Close();

            StreamWriter Escritor = new StreamWriter(@"C: \Users\frodo\Desktop\Planificacion\GantAlterno.txt");

            // cola de usados
            Queue usados = new Queue(numProc);

            // crear vector de procesos
            Proceso[] vectProc = new Proceso[numProc];
            for (int i = 0; i < vectProc.Length; i++)
                vectProc[i] = new Proceso();

            // crear cola de procesos
            Queue colaProc = new Queue(numProc);
            Queue colaCop = new Queue(numProc);

            // crear un planificador
            Planificador plnfcdr1 = new Planificador();

            // leer archivos y meterlos en el vector
            Planificador.leerArchivo(vectProc,ruta);
            int llegada = vectProc[0].GSTiempoLLegada;

            int maximo = 0;

            foreach (Proceso P in vectProc)
                            maximo += P.GSduracion;

            plnfcdr1.gant = new string[numProc, maximo*2];
            plnfcdr1.InicarGant(numProc, maximo*2);

            // decidir segund el algoritmo de planificacion
            switch (this.comboBox1.Text)
            {

                case "SJF":
                    int espera = 1;
                    int Tinicio = 1;
                    int Tfinal = 1;
                    int yValue = 1;
                    int cont = 0;

                    while ( cont < numProc  )
                     {
                        Proceso Procesado = plnfcdr1.PlanificarSJF(colaProc, vectProc, Tinicio,Tfinal, espera);
                        plnfcdr1.LLenarGant(Procesado, cont, maximo);

                            if ( !this.GantAlterno.Checked )
                                Graficar(Procesado, yValue, espera);

                        colaCop.Enqueue(Procesado);
                        if (Procesado != null)
                        {

                            Tinicio += Procesado.GSTiempoLLegada;
                            Tfinal += Procesado.GSduracion;
                            espera += Procesado.GSduracion;

                            this.display(Procesado);

                            yValue++;
                            cont++;

                        }
                        Tfinal++;
                      }
                break;

                case "FcFs":

                    yValue = 1;
                    espera = 1;
                    foreach(Proceso p in vectProc)
                    {
                        colaProc.Enqueue(p);
                        Proceso Procesado = plnfcdr1.PlanificarFcFs(colaProc, espera);
                        plnfcdr1.LLenarGant(Procesado, yValue -1, maximo);

                        colaCop.Enqueue(Procesado);
                        Graficar(Procesado, yValue, espera);
                        espera += Procesado.GSduracion  ;
                        yValue++;
                        this.display(Procesado);
                    }

                    break;

                case "SJFX":

                    ArrayList l = new ArrayList();
                    foreach (Proceso p in vectProc)
                        l.Add(p);
                    int i = 0;
                   Queue Procesados =  plnfcdr1.PlanificarSJFX(l);
                    foreach (Proceso p in Procesados)
                    {
                        this.display(p);
                        try
                        {
                            this.GraficarProceso(p, i + 1 , p.Tinicio);
                            i++;
                        }
                        catch(Exception Ex)
                        {
                            i++;
                        }
                    }

                    colaCop = Procesados;

                    break;

                case "SRTF":
                    // meter procesos a la lista
                    ArrayList ListaProc = new ArrayList();
                    foreach (Proceso P in vectProc )
                        ListaProc.Add(P);

                    i = 0;
                    Queue ProcesadosSRTF = plnfcdr1.PlanificarSRFT(ListaProc);

                    // dar salida grafica
                    foreach( Proceso P in ProcesadosSRTF )
                    {
                        this.display(P);
                        try
                        {
                            this.GraficarProceso(P, i + 1, P.Tinicio);
                        }
                        finally
                        {
                            i++;
                        }
                    }
                    colaCop = ProcesadosSRTF;
                    break;

                case "Round Robin":
                    // meter procesos a la lista
                    ArrayList ListaProcRR = new ArrayList();
                    foreach (Proceso P in vectProc)
                        ListaProcRR.Add(P);

                    i = 0;

                    // planificar RR
                    Queue ProcesadosRR = plnfcdr1.PlanificarRR(ListaProcRR);

                    // graficar procesos
                    foreach (Proceso P in ProcesadosRR)
                    {
                        this.display(P);
                        try
                        {
                            this.GraficarProceso(P, i + 1, P.Tinicio);
                        }
                        finally
                        {
                            i++;
                        }
                    }
                    colaCop = ProcesadosRR;
                    break;

                case "Priority":
                    ArrayList lentrada = new ArrayList();
                    foreach (Proceso p in vectProc)
                        lentrada.Add(p);

                    colaCop = plnfcdr1.PlanificarPrioridad(lentrada);
                    i = 1;
                    foreach (Proceso p in colaCop)
                    {
                        this.display(p);
                        this.GraficarProceso(p, i, p.Tinicio);
                        i++;

                    }
                    break;

                case "PriorityX":
                    ArrayList lentradaP = new ArrayList();
                    foreach (Proceso p in vectProc)
                        lentradaP.Add(p);

                    colaCop = plnfcdr1.PlanificarPrioridadX(lentradaP);
                    i = 1;
                    foreach (Proceso p in colaCop)
                    {
                        this.display(p);
                        this.GraficarProceso(p, i, p.Tinicio);
                        i++;

                    }
                    break;

                case "HRRN":

                    ArrayList ListaEntrada  = new ArrayList();
                    ArrayList ListaEstatica = new ArrayList();
                    foreach (Proceso p in vectProc)
                    {
                        ListaEntrada.Add(p);
                        ListaEstatica.Add(p);
                    }

                    colaCop = plnfcdr1.PlanificarHRRN(ListaEntrada);

                    foreach( Proceso p in colaCop)
                    {
                        this.display(p);
                        this.GraficarProceso(p, 1+ plnfcdr1.ConvertIndx(p, ListaEstatica), p.Tinicio);
                    }

                    break;
            }

            // poner el tiempo promedio en la etiqeta

            plnfcdr1.ImprimirGantTxt(Escritor, numProc, maximo*2, vectProc);
            Escritor.Close();
            if (this.GantAlterno.Checked)
                this.DsplGantAlt();

            this.lblPromedio.Text = string.Format("{0:C2}" , Convert.ToString( (float)plnfcdr1.GetStdstcs(colaCop, numProc) ));
        }
Пример #2
1
        private void CargaAlterno(Planificador Pactual,Proceso Procesado, int numProc, int maximo, int Iesimo)
        {
            // generar grafica alterna obligada
            this.GantAlterno.Checked = true;
            Pactual.GantAlterno(Procesado, numProc, maximo, Iesimo);

            // desplegar el gant en la caja de texto
            for (int i = 0; i < numProc; i++)
            {

                for (int j = 0; j < maximo; j++)
                {
                    // mostrar el gant en la caja de texto

                    this.txtAlt.Text += String.Format("{0}",Pactual.gant[i,j]);
                    txtAlt.Refresh();
                }
                txtAlt.Text += @"
                    ";

            }
        }
Пример #3
0
        internal DataTable ObtenerEmailPersonal(Sesion poSesion, int pnClavePersonal)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "SELECT E_MAIL,CLAVE FROM PERSONAL WHERE CLAVE = " + pnClavePersonal;
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.Text;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;
                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #4
0
        public void PasarAModoAhorroEnergia()
        {
            Inteligente Tele     = new Inteligente("TV", "DDEAEA7C1ADE458991D496812D5D41FA");
            Inteligente LavaRopa = new Inteligente("LAVARROPAS", "A0BA3245EAFC4EC994CC841698B835C0");

            Tele.Encender();
            Tele.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = Tele.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-300);

            LavaRopa.Encender();
            LavaRopa.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro = LavaRopa.RegistroDeActivaciones.ElementAt(0).FechaDeRegistro.AddHours(-60);

            List <Inteligente> lista = new List <Inteligente>();

            lista.Add(Tele);
            lista.Add(LavaRopa);

            Assert.IsFalse(Tele.EstaApagado);

            Planificador pl = Planificador.getInstance();

            pl.Iniciar();
            pl.agregarTareaTest(lista, 1);

            Thread.Sleep(3000);
            pl.Detener();

            Assert.IsTrue(Tele.EstaApagado);
        }
Пример #5
0
        internal DataTable ObtenerListasPrecios(Sesion poSesion)
        {

            try
            {
                Sentencia loSentencia = new Sentencia();
                string lsSucursales = string.Empty;

                loSentencia.Parametros = new List<Parametro>() {
					#region Parametros

					new Parametro() {
						Direccion = ParameterDirection.Output,
						Nombre = "PCO_CURSOR",
						Tipo = DbType.Object
					}
					
					#endregion
				};
                loSentencia.TextoComando = "PKG_DAP_INFORMES_COMUN.PROC_CAT_LISTA_PRECIOS";
                loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable loResultado = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List<Sentencia>() { loSentencia });

                return loResultado;
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #6
0
        internal DataTable ObtenerPedidos(Sesion poSesion, DateTime poFechaInicio, DateTime poFechaFin)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_INICIO",
                        Tipo      = DbType.Date,
                        Valor     = poFechaInicio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_FIN",
                        Tipo      = DbType.Date,
                        Valor     = poFechaFin
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Sucursal[0].Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO.PROC_MENSAJERO";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #7
0
        internal DataTable obtenerVentasResumenPorMarca(Sesion poSesion, DateTime poFechaInicio, DateTime poFechaFin, string psSucursal)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_INICIO",
                        Tipo      = DbType.DateTime,
                        Valor     = poFechaInicio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_FIN",
                        Tipo      = DbType.DateTime,
                        Valor     = poFechaFin
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = psSucursal
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_COMPRAS.PROC_REP_VENTAS_RESUMEN_MARCA";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Informes.General.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #8
0
        internal DataTable ObtenerConsignatario(Sesion poSesion, string psClienteID, DateTime poFecha)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClienteID
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA",
                        Tipo      = DbType.Date,
                        Valor     = poFecha
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Sucursal[0].Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_CREDITO_NCR.PROC_SOBRES_CONSIGNATARIO";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
        static void Main(string[] args)
        {
            Planificador planificador = new Planificador();

            planificador.Simular();

            Console.ReadKey();
        }
Пример #10
0
        internal DataTable ObtenerClientes(Sesion poSesion, int psClaveSucursal, string psClaveVendedor, string psCliente)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_VENDEDOR",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveVendedor
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psCliente
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_CREDITO.PROC_REP_REFERENCIAS_BANCARIAS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;
                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #11
0
        internal DataTable ObtenerAnalisisAnualMarcas(Sesion poSesion, string psClaveCliente, string psClaveMarca)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClaveCliente
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_VENTAS.PROC_REP_ANALISIS_MARCAS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                if (!string.IsNullOrEmpty(psClaveMarca))
                {
                    loSentencia.Parametros.Add(new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_MARCA",
                        Tipo      = DbType.Int32,
                        Valor     = int.Parse(psClaveMarca)
                    });
                }

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Informes.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #12
0
        internal DataTable ObtenerLineasArticulos(Sesion poSesion, int pnCveMarca, int pnIndicadorFila)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_MARCA",
                        Tipo      = DbType.Int32,
                        Valor     = pnCveMarca
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_INDICADOR_FILA",
                        Tipo      = DbType.Int32,
                        Valor     = pnIndicadorFila
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_COMUN.PROC_CAT_LINEAS_ARTICULOS";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });
                if (loResultado.Rows[0]["DESCRIPCION"].ToString() == "    [SELECCIONAR]")
                {
                    loResultado.Rows[0]["DESCRIPCION"] = "LINEA";
                }

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Ventas.Pedidos.BackOrder.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #13
0
        internal DataTable ObtenerAlmacenes(Sesion poSesion, int pnIndicadorFila)
        {

            try
            {
                Sentencia loSentencia = new Sentencia();
                string lsSucursales = string.Empty;

                loSentencia.Parametros = new List<Parametro>() {
					#region Parametros

					new Parametro() {
						Direccion = ParameterDirection.Output,
						Nombre = "PCO_CURSOR",
						Tipo = DbType.Object
					},
					new Parametro() {
						Direccion = ParameterDirection.Input,
						Nombre = "PNI_INDICADOR_FILA",
						Tipo = DbType.Int32,
						Valor = pnIndicadorFila
					}
					
					#endregion
				};
                loSentencia.TextoComando = "PKG_DAP_INFORMES_COMUN.PROC_CAT_ALMACENES";
                loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal)
                    lsSucursales += oSucursal.Clave + ",";

                if (lsSucursales != string.Empty)
                    loSentencia.Parametros.Add(new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre = "PSI_CVES_SUCURSALES",
                        Tipo = DbType.String,
                        Valor = lsSucursales.TrimEnd(',')
                    });

                Planificador loPlanificador = new Planificador();
                DataTable loResultado = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List<Sentencia>() { loSentencia });

                return loResultado;
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #14
0
        internal DataTable ObtenerRemitente(Sesion poSesion, string psRazonSocial)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Sucursal[0].Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_RAZON_SOCIAL",
                        Tipo      = DbType.String,
                        Valor     = psRazonSocial
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO_TRAZA.PROC_DOC_REMITENTE";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #15
0
        internal DataTable ObtenerClienteEncabezado(Sesion poSesion, string psClaveCliente)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClaveCliente
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Sucursal[0].Clave
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_CTE_CREDITO_ENCABEZADO";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Dapesa.Credito.Clientes.Cartera.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #16
0
        internal DataTable ObtenerAuxiliares(Sesion poSesion, string psClaveSucursal, int pnClaveAuxiliar)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVES_SUCURSALES",
                        Tipo      = DbType.String,
                        Valor     = psClaveSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_USUARIO",
                        Tipo      = DbType.Int32,
                        Valor     = pnClaveAuxiliar
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_CXC_LAYOUT.PROC_AUXILIAR_CXC_LISTADO";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #17
0
        private void btnPlanificar_Click(object sender, EventArgs e)
        {
            planificador = new Planificador();

            actualizarProcesos();
            actualizarRecursos();

            limpiarDtProcesadores();
            btnSimular.Enabled = true;

            planificador.agregarProcesadores();
            limpiarDtProcesadores();
        }
Пример #18
0
        public bool Validar(Conexion poConexion)
        {
            try
            {
                Planificador loPlanificador = new Planificador();

                return(loPlanificador.Servir(poConexion));
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Пример #19
0
        internal DataTable ObtenerMarcas(Sesion poSesion, int pnIndicadorFila)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_INDICADOR_FILA",
                        Tipo      = DbType.Int32,
                        Valor     = pnIndicadorFila
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_COMUN.PROC_CAT_MARCAS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Informes.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #20
0
        internal DataTable ObtenerEmailPersonal(Sesion poSesion, int pnSucursal)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_CREDITO_CTES.PROC_MOS_PERSONAL";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;
                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #21
0
        internal DataTable ObtenerCliente(Sesion poSesion, string psCliente)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psCliente
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_BUSCAR_CLIENTE";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #22
0
        internal int ObtenerClienteSinAsignar(Sesion poSesion, int psClaveSucursal)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveSucursal
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_CXC_LAYOUT.PROC_CXC_CLIENTES_SIN_ASIGNAR";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;
                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado.Rows.Count);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #23
0
        internal DataTable ObtenerTransportistas(Sesion poSesion)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO_TRAZA.PROC_DOC_TRANSPORTISTAS";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #24
0
        public object Despachar(Conexion poConexion, List <Sentencia> poSentencia)
        {
            try
            {
                Planificador loPlanificador = new Planificador();
                object       loResultado    = loPlanificador.Servir(poConexion, poSentencia);

                if (loResultado is DataTable)
                {
                    Serializacion loSerializador = new Serializacion();

                    return(poConexion.Credenciales.Cifrado.Cifrar(
                               loSerializador.SerializarTabla((DataTable)loResultado)
                               ));
                }

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Пример #25
0
        public void TestClientesBd()
        {
            object loResultado = null;

            try
            {
                List <Sentencia> loSentencia      = new List <Sentencia>();
                Planificador     loPlanificador   = new Planificador();
                Conexion         loConexionMySql  = new Conexion();
                Conexion         loConexionOracle = new Conexion();
                Conexion         loConexionSqlSvr = new Conexion();

                #region Recuperacion de conjuntos de datos

                #region MySql

                Sentencia loQryMySql = new Sentencia();

                loConexionMySql.Nombre              = "WORLD";
                loConexionMySql.Tipo                = Dapesa.Comun.Definiciones.TipoConexion.NombreConexion;
                loConexionMySql.TipoCliente         = Dapesa.Comun.Definiciones.TipoCliente.MySql;
                loQryMySql.TextoComando             = "SELECT * FROM world.city";
                loQryMySql.Tipo                     = Definiciones.TipoSentencia.Query;
                loQryMySql.TipoComando              = CommandType.Text;
                loQryMySql.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQryMySql.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Add(loQryMySql);
                loResultado = loPlanificador.Servir(loConexionMySql, loSentencia);

                #endregion
                #region Oracle

                Sentencia loQryOracle = new Sentencia();

                loConexionOracle.Nombre              = "SIIL_DEMO";
                loConexionOracle.Tipo                = Dapesa.Comun.Definiciones.TipoConexion.NombreConexion;
                loConexionOracle.TipoCliente         = Dapesa.Comun.Definiciones.TipoCliente.Oracle;
                loQryOracle.TextoComando             = "SELECT * FROM SIIL_DEMO.DAP_CAJA";
                loQryOracle.Tipo                     = Definiciones.TipoSentencia.Query;
                loQryOracle.TipoComando              = CommandType.Text;
                loQryOracle.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQryOracle.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loQryOracle);
                loResultado = loPlanificador.Servir(loConexionOracle, loSentencia);

                #endregion
                #region SqlServer

                Sentencia loQrySqlSvr = new Sentencia();

                loConexionSqlSvr.Nombre              = "NORTHWIND";
                loConexionSqlSvr.Tipo                = Dapesa.Comun.Definiciones.TipoConexion.NombreConexion;
                loConexionSqlSvr.TipoCliente         = Dapesa.Comun.Definiciones.TipoCliente.SqlServer;
                loQrySqlSvr.TextoComando             = "SELECT C.CategoryID, C.CategoryName FROM Northwind.dbo.Categories C";
                loQrySqlSvr.Tipo                     = Definiciones.TipoSentencia.Query;
                loQrySqlSvr.TipoComando              = CommandType.Text;
                loQrySqlSvr.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQrySqlSvr.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loQrySqlSvr);
                loResultado = loPlanificador.Servir(loConexionSqlSvr, loSentencia);

                #endregion

                #endregion
                #region Recuperacion de escalares

                #region Cadena

                Sentencia loValCadena = new Sentencia();

                loValCadena.TextoComando             = "SELECT 'HOLA' AS MENSAJE";
                loValCadena.Tipo                     = Definiciones.TipoSentencia.Escalar;
                loValCadena.TipoComando              = CommandType.Text;
                loValCadena.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loValCadena.TipoResultado            = Definiciones.TipoResultado.Cadena;

                loSentencia.Clear();
                loSentencia.Add(loValCadena);
                loResultado = loPlanificador.Servir(loConexionMySql, loSentencia);

                #endregion
                #region Decimal

                Sentencia loValDecimal = new Sentencia();

                loValDecimal.TextoComando             = "SELECT AVG(VALOR) FROM (SELECT 4 AS VALOR FROM DUAL UNION SELECT 5 FROM DUAL) R";
                loValDecimal.Tipo                     = Definiciones.TipoSentencia.Escalar;
                loValDecimal.TipoComando              = CommandType.Text;
                loValDecimal.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loValDecimal.TipoResultado            = Definiciones.TipoResultado.Decimal;

                loSentencia.Clear();
                loSentencia.Add(loValDecimal);
                loResultado = loPlanificador.Servir(loConexionOracle, loSentencia);

                #endregion
                #region Entero

                Sentencia loValEntero = new Sentencia();

                loValEntero.TextoComando             = "SELECT COUNT(*) FROM Northwind.dbo.Categories";
                loValEntero.Tipo                     = Definiciones.TipoSentencia.Escalar;
                loValEntero.TipoComando              = CommandType.Text;
                loValEntero.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loValEntero.TipoResultado            = Definiciones.TipoResultado.Entero;

                loSentencia.Clear();
                loSentencia.Add(loValEntero);
                loResultado = loPlanificador.Servir(loConexionSqlSvr, loSentencia);

                #endregion

                #endregion
                #region Uso de parametros en consultas

                #region MySql

                Sentencia loQryParamMySql = new Sentencia();

                #region Parametros

                Parametro loParamCodPais = new Parametro();

                loParamCodPais.Direccion = ParameterDirection.Input;
                loParamCodPais.Nombre    = "codigoPais";
                loParamCodPais.Tipo      = DbType.String;
                loParamCodPais.Valor     = "AF%";

                #endregion

                loQryParamMySql.Parametros = new List <Parametro>();
                loQryParamMySql.Parametros.Add(loParamCodPais);
                loQryParamMySql.TextoComando             = "SELECT * FROM world.city C WHERE C.CountryCode LIKE @codigoPais";
                loQryParamMySql.Tipo                     = Definiciones.TipoSentencia.Query;
                loQryParamMySql.TipoComando              = CommandType.Text;
                loQryParamMySql.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQryParamMySql.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loQryParamMySql);
                loResultado = loPlanificador.Servir(loConexionMySql, loSentencia);

                #endregion
                #region Oracle

                Sentencia loQryParamOracle = new Sentencia();

                #region Parametros

                Parametro loParamFolPedido = new Parametro();

                loParamFolPedido.Direccion = ParameterDirection.Input;
                loParamFolPedido.Nombre    = "folioPedido";
                loParamFolPedido.Tipo      = DbType.String;
                loParamFolPedido.Valor     = "A";

                Parametro loParamNumPedido = new Parametro();

                loParamNumPedido.Direccion = ParameterDirection.Input;
                loParamNumPedido.Nombre    = "numeroPedido";
                loParamNumPedido.Tipo      = DbType.Int32;
                loParamNumPedido.Valor     = 450685;

                #endregion

                loQryParamOracle.Parametros = new List <Parametro>();
                loQryParamOracle.Parametros.Add(loParamFolPedido);
                loQryParamOracle.Parametros.Add(loParamNumPedido);
                loQryParamOracle.TextoComando             = "SELECT P.SUBTOTAL, P.IVA, P.TOTAL FROM SIIL_DEMO.PEDIDOS P WHERE P.FOLPED_FOLIO=:1 AND P.NUMERO=:2";
                loQryParamOracle.Tipo                     = Definiciones.TipoSentencia.Query;
                loQryParamOracle.TipoComando              = CommandType.Text;
                loQryParamOracle.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQryParamOracle.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loQryParamOracle);
                loResultado = loPlanificador.Servir(loConexionOracle, loSentencia);

                #endregion
                #region SqlServer

                Sentencia loQryParamSqlSvr = new Sentencia();

                #region Parametros

                Parametro loParamCategoria = new Parametro();

                loParamCategoria.Direccion = ParameterDirection.Input;
                loParamCategoria.Nombre    = "categoria";
                loParamCategoria.Tipo      = DbType.Int32;
                loParamCategoria.Valor     = 1;

                #endregion

                loQryParamSqlSvr.Parametros = new List <Parametro>();
                loQryParamSqlSvr.Parametros.Add(loParamCategoria);
                loQryParamSqlSvr.TextoComando             = "SELECT C.CategoryID, C.CategoryName FROM Northwind.dbo.Categories C WHERE C.CategoryID=@categoria";
                loQryParamSqlSvr.Tipo                     = Definiciones.TipoSentencia.Query;
                loQryParamSqlSvr.TipoComando              = CommandType.Text;
                loQryParamSqlSvr.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loQryParamSqlSvr.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loQryParamSqlSvr);
                loResultado = loPlanificador.Servir(loConexionSqlSvr, loSentencia);

                #endregion

                #endregion
                #region Llamada a procedimientos almacenados

                #region MySql

                Sentencia loProcMySql = new Sentencia();

                #region Parametros

                Parametro loParamIdPelicula = new Parametro();

                loParamIdPelicula.Direccion = ParameterDirection.Input;
                loParamIdPelicula.Nombre    = "p_film_id";
                loParamIdPelicula.Tipo      = DbType.Int32;
                loParamIdPelicula.Valor     = 1;

                Parametro loParamIdTienda = new Parametro();

                loParamIdTienda.Direccion = ParameterDirection.Input;
                loParamIdTienda.Nombre    = "p_store_id";
                loParamIdTienda.Tipo      = DbType.Int32;
                loParamIdTienda.Valor     = 1;

                Parametro loParamNumCoincidencias = new Parametro();

                loParamNumCoincidencias.Direccion = ParameterDirection.Output;
                loParamNumCoincidencias.Nombre    = "p_film_count";
                loParamNumCoincidencias.Tipo      = DbType.Int32;

                #endregion

                loProcMySql.Parametros = new List <Parametro>();
                loProcMySql.Parametros.Add(loParamIdPelicula);
                loProcMySql.Parametros.Add(loParamIdTienda);
                loProcMySql.Parametros.Add(loParamNumCoincidencias);
                loProcMySql.TextoComando             = "sakila.film_in_stock";
                loProcMySql.Tipo                     = Definiciones.TipoSentencia.Query;
                loProcMySql.TipoComando              = CommandType.StoredProcedure;
                loProcMySql.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loProcMySql.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loConexionMySql.Nombre = "SAKILA";
                loSentencia.Clear();
                loSentencia.Add(loProcMySql);
                loResultado = loPlanificador.Servir(loConexionMySql, loSentencia);
                loResultado = loParamNumCoincidencias.Valor;

                #endregion
                #region Oracle

                Sentencia loProcOracle = new Sentencia();

                #region Parametros

                Parametro loParamValor = new Parametro();

                loParamValor.Direccion = ParameterDirection.InputOutput;
                loParamValor.Nombre    = "VALOR";
                loParamValor.Tipo      = DbType.Int64;
                loParamValor.Valor     = 100;

                #endregion

                loProcOracle.Parametros = new List <Parametro>();
                loProcOracle.Parametros.Add(loParamValor);
                loProcOracle.TextoComando             = "SIIL_DEMO.DAP_TEST";
                loProcOracle.Tipo                     = Definiciones.TipoSentencia.Query;
                loProcOracle.TipoComando              = CommandType.StoredProcedure;
                loProcOracle.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loProcOracle.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loProcOracle);
                loResultado = loPlanificador.Servir(loConexionOracle, loSentencia);
                loResultado = loParamValor.Valor;

                #endregion
                #region SqlServer

                Sentencia loProcSqlSvr = new Sentencia();

                #region Parametros

                Parametro loParamIdOrden = new Parametro();

                loParamIdOrden.Direccion = ParameterDirection.Input;
                loParamIdOrden.Nombre    = "OrderID";
                loParamIdOrden.Tipo      = DbType.Int32;
                loParamIdOrden.Valor     = 10248;

                #endregion

                loProcSqlSvr.Parametros = new List <Parametro>();
                loProcSqlSvr.Parametros.Add(loParamIdOrden);
                loProcSqlSvr.TextoComando             = "Northwind.dbo.CustOrdersDetail";
                loProcSqlSvr.Tipo                     = Definiciones.TipoSentencia.Query;
                loProcSqlSvr.TipoComando              = CommandType.StoredProcedure;
                loProcSqlSvr.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loProcSqlSvr.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                loSentencia.Clear();
                loSentencia.Add(loProcSqlSvr);
                loResultado = loPlanificador.Servir(loConexionSqlSvr, loSentencia);

                #endregion

                #endregion
                #region Manejo de transacciones

                //Primera sentencia de insercion
                Sentencia loQryInsercion1 = new Sentencia();

                loQryInsercion1.TextoComando             = "INSERT INTO test.prueba VALUES(4,'CUATRO');";
                loQryInsercion1.Tipo                     = Definiciones.TipoSentencia.NoQuery;
                loQryInsercion1.TipoComando              = CommandType.Text;
                loQryInsercion1.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                loQryInsercion1.TipoResultado            = Definiciones.TipoResultado.Entero;

                //Segunda sentencia de insercion
                Sentencia loQryInsercion2 = new Sentencia();

                loQryInsercion2.TextoComando             = "INSERT INTO test.prueba VALUES(5,'CINCO');";
                loQryInsercion2.Tipo                     = Definiciones.TipoSentencia.NoQuery;
                loQryInsercion2.TipoComando              = CommandType.Text;
                loQryInsercion2.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                loQryInsercion2.TipoResultado            = Definiciones.TipoResultado.Entero;

                //Tercera sentencia de insercion
                Sentencia loQryInsercion3 = new Sentencia();

                loQryInsercion3.TextoComando             = "INSERT INTO test.prueba VALUES(3,'TRES');";
                loQryInsercion3.Tipo                     = Definiciones.TipoSentencia.NoQuery;
                loQryInsercion3.TipoComando              = CommandType.Text;
                loQryInsercion3.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                loQryInsercion3.TipoResultado            = Definiciones.TipoResultado.Entero;


                loConexionMySql.Nombre = "TEST";
                loSentencia.Clear();
                loSentencia.Add(loQryInsercion1);
                loSentencia.Add(loQryInsercion2);
                loSentencia.Add(loQryInsercion3);
                loResultado = loPlanificador.Servir(loConexionMySql, loSentencia);

                #endregion
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Source + ": " + ex.Message);
            }
        }
Пример #26
0
        internal DataTable ObtenerBackOrderPedidos(Sesion poSesion, DateTime poFechaInicio, DateTime poFechaFin, int pnSucursal, int?pnClaveVendedor, string psClaveCliente, int?pnPedidoNumero, string psPedidoFolio, string psArticuloClave, int?pnLineaClave, int?pnMarcaClave, int pnMostrarArticulos)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_INICIO",
                        Tipo      = DbType.Date,
                        Valor     = poFechaInicio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_FIN",
                        Tipo      = DbType.Date,
                        Valor     = poFechaFin
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_VENDEDOR",
                        Tipo      = DbType.Int32,
                        Valor     = pnClaveVendedor
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClaveCliente
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_PED_NUMERO",
                        Tipo      = DbType.Int32,
                        Valor     = pnPedidoNumero
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_PED_FOLPED_FOLIO",
                        Tipo      = DbType.String,
                        Valor     = psPedidoFolio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_ART_CLAVE",
                        Tipo      = DbType.String,
                        Valor     = psArticuloClave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_LIN_ART_CLAVE",
                        Tipo      = DbType.Int32,
                        Valor     = pnLineaClave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_MCA_CLAVE",
                        Tipo      = DbType.Int32,
                        Valor     = pnMarcaClave
                    }
                    #endregion
                };

                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_BACKORDER_PEDIDOS";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });


                if (pnMostrarArticulos != (int)Comun.Definiciones.MostrarArticulos.Todos)
                {
                    DataTable dtAuxiliar = loResultado.Clone();
                    if (pnMostrarArticulos == (int)Comun.Definiciones.MostrarArticulos.ConExistencia)
                    {
                        DataRow[] loQueryGesClave = loResultado.Select("EXISTENCIA > 0");
                        foreach (DataRow loFila in loQueryGesClave)
                        {
                            dtAuxiliar.Rows.Add(loFila[0], loFila[1], loFila[2], loFila[3], loFila[4], loFila[5], loFila[6], loFila[7], loFila[8], loFila[9], loFila[10], loFila[11], loFila[12], loFila[13]);
                        }
                    }
                    else if (pnMostrarArticulos == (int)Comun.Definiciones.MostrarArticulos.SinExistencia)
                    {
                        DataRow[] loQueryGesClave = loResultado.Select("EXISTENCIA <= 0");
                        foreach (DataRow loFila in loQueryGesClave)
                        {
                            dtAuxiliar.Rows.Add(loFila[0], loFila[1], loFila[2], loFila[3], loFila[4], loFila[5], loFila[6], loFila[7], loFila[8], loFila[9], loFila[10], loFila[11], loFila[12], loFila[13]);
                        }
                    }
                    loResultado.Rows.Clear();
                    loResultado.Merge(dtAuxiliar);
                }

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #27
0
        internal DataTable ObtenerAntiguedadSaldosAuxiliar(Sesion poSesion, int psClaveSucursal, DateTime poFecha, int pnDiasPeriodo, int pnTipoFecha, int pnDiasAdicionales, string psClaveGestor, string psCliente, int pnIndicadorUsuario)
        {
            try
            {
                Sentencia loSentencia = new Sentencia();
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA",
                        Tipo      = DbType.DateTime,
                        Valor     = poFecha
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_DIAS_PERIODO",
                        Tipo      = DbType.Int32,
                        Valor     = pnDiasPeriodo
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_TIPO_FECHA",
                        Tipo      = DbType.Int32,
                        Valor     = pnTipoFecha
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_DIAS_ADICIONALES",
                        Tipo      = DbType.Int32,
                        Valor     = pnDiasAdicionales
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_GESTOR",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveGestor
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = ((string.IsNullOrEmpty(psCliente)) ? null : psCliente)
                    },                     /// añadido
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_INDICADOR_USUARIO",
                        Tipo      = DbType.Int32,
                        Valor     = pnIndicadorUsuario
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_CREDITO.PROC_REP_ANTIGUEDAD_SALDOS_AUX";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;
                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #28
0
        internal DataTable ObtenerArticulosPedidosDias(Sesion poSesion, string psClaveCliente, int piClaveSucursal, DateTime poFechaInicial, string psFolio, int piNumero, int piClaveVendedor, string psClavesComodines)
        {
            try
            {
                Sentencia loSentencia        = new Sentencia();
                int       lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.Ninguno;

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClaveCliente
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = piClaveSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_INICIO",
                        Tipo      = DbType.String,
                        Valor     = poFechaInicial.ToString("dd/MM/yyyy")
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_FOLPED_FOLIO",
                        Tipo      = DbType.String,
                        Valor     = psFolio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_PED_NUMERO",
                        Tipo      = DbType.Int32,
                        Valor     = piNumero
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_INDICADOR",
                        Tipo      = DbType.Int32,
                        Valor     = lnIndicadorFiltros
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE1",
                        Tipo      = DbType.Int32,
                        Valor     = piClaveVendedor
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSO_CVE2",
                        Tipo      = DbType.String,
                        Valor     = psClavesComodines
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_VENTAS.PROC_REP_PEDIDOS_ARTICULOS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                #region Definir filtros del reporte

                if (piClaveVendedor != 0)
                {
                    lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.Ambos;
                }
                //else
                //{
                //    //if (!string.IsNullOrEmpty(psClaveCliente))
                //    //{
                //    //    lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.SoloCliente;
                //    //}
                //}
                loSentencia.Parametros[6].Valor = lnIndicadorFiltros;

                #endregion

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });
                DataTable dtAuxiliar = loResultado.Clone();

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Informes.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #29
0
        internal DataTable ObtenerConsignatario(Sesion poSesion, string psClienteID, string psPolizaSeguro)
        {
            try
            {
                Sentencia loSentencia  = new Sentencia();
                string    lsSucursales = string.Empty;

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClienteID
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_POLIZA_SEGURO",
                        Tipo      = DbType.String,
                        Valor     = psPolizaSeguro
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO_TRAZA.PROC_DOC_CONSIGNATARIO";
                loSentencia.Tipo                     = Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = Definiciones.TipoResultado.Conjunto;

                foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal)
                {
                    loSentencia.Parametros.Add(new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL" + oSucursal.Clave,
                        Tipo      = DbType.Int64,
                        Valor     = oSucursal.Clave
                    });
                }

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #30
0
 private void Form1_Load(object sender, EventArgs e)
 {
     planificador = new Planificador();
     inicializarControlesFormulario();
     cargarConfiguracionesSimulador();
 }
Пример #31
0
        internal DataTable BuscarPedidos(Sesion poSesion, int pnRangoDias, int pnSucursal, string psMarcas, string psLineas, string psArticulos, String psEstados, String psClientes, bool poCoincidirEstados, bool poCoincidirClientes)
        {
            try
            {
                Sentencia loSentencia          = new Sentencia();
                int       lnIndicadorFiltros   = (int)Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.Ninguno;
                int       lnIndicadorCoincidir = (int)Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidoCoincidir.Ninguno;
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_RANGO_DIAS",
                        Tipo      = DbType.Int32,
                        Valor     = pnRangoDias
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_ESTADO",
                        Tipo      = DbType.String,
                        Valor     = psEstados
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_CVE_MARCA",
                        Tipo      = DbType.String,
                        Valor     = psMarcas
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_INDICADOR",
                        Tipo      = DbType.Int32,
                        Valor     = lnIndicadorFiltros
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSO_CVE1",
                        Tipo      = DbType.String,
                        Valor     = psClientes
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSO_CVE2",
                        Tipo      = DbType.String,
                        Valor     = psLineas
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSO_CVE3",
                        Tipo      = DbType.String,
                        Valor     = psArticulos
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_COINCIDIR",
                        Tipo      = DbType.Int32,
                        Valor     = lnIndicadorCoincidir
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_MONITOREO_PEDIDOS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;


                Planificador loPlanificador = new Planificador();

                #region Definir filtros
                if (psClientes.Length > 0)
                {
                    lnIndicadorFiltros = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.SoloCliente;
                }
                if (psLineas.Length > 0)
                {
                    lnIndicadorFiltros = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.SoloLinea;
                }
                if (psClientes.Length > 0 & psLineas.Length > 0)
                {
                    lnIndicadorFiltros = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.LineaCliente;
                }
                if (psArticulos.Length > 0 & psLineas.Length > 0)
                {
                    lnIndicadorFiltros = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.LineaArticulo;
                }
                if (psClientes.Length > 0 & psLineas.Length > 0 & psArticulos.Length > 0)
                {
                    lnIndicadorFiltros = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidos.Ambos;
                }
                if (poCoincidirEstados)
                {
                    lnIndicadorCoincidir = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidoCoincidir.SoloEstado;
                }
                if (poCoincidirClientes)
                {
                    lnIndicadorCoincidir = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidoCoincidir.SoloCliente;
                }
                if (poCoincidirClientes & poCoincidirEstados)
                {
                    lnIndicadorCoincidir = (int)Dapesa.Ventas.Pedidos.Comun.Definiciones.FiltroMonitoreoPedidoCoincidir.Ambos;
                }
                loSentencia.Parametros[5].Valor = lnIndicadorFiltros;
                loSentencia.Parametros[9].Valor = lnIndicadorCoincidir;

                #endregion

                DataTable loResultado = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Dapesa.Comun.Informes.Comun.Excepcion(ex.Message, ex);
            }
        }
Пример #32
0
        //agregado
        internal DataTable ObtenerVentasPorDias(Sesion poSesion, DateTime poFechaInicial, DateTime poFechaFinal, int piCantidadDias, string psClaveSucursal, string psClaveVendedor, string psClavesComodines, bool pbMostrarClienteEliminado, bool pbMostrarClienteCeroPedidos)
        {
            try
            {
                Sentencia loSentencia        = new Sentencia();
                int       lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.Ninguno;

                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_INICIO",
                        Tipo      = DbType.String,
                        Valor     = poFechaInicial.ToString("dd/MM/yyyy")
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_FIN",
                        Tipo      = DbType.String,
                        Valor     = poFechaFinal.ToString("dd/MM/yyyy")
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CANTIDAD_DIAS",
                        Tipo      = DbType.Int32,
                        Valor     = piCantidadDias
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = psClaveSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_INDICADOR",
                        Tipo      = DbType.Int32,
                        Valor     = lnIndicadorFiltros
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE1",
                        Tipo      = DbType.Int32,
                        Valor     = int.Parse(psClaveVendedor)
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSO_CVE2",
                        Tipo      = DbType.String,
                        Valor     = psClavesComodines
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_INFORMES_VENTAS.PROC_REP_DIAS_CON_PEDIDOS";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto;

                #region Definir filtros del reporte

                if (!string.IsNullOrEmpty(psClaveVendedor) && psClaveVendedor != "0")
                {
                    lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.Ambos;

                    //if (!string.IsNullOrEmpty(psClaveCliente))
                    //{
                    //    lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.Ambos;
                    //}
                }
                else
                {
                    //if (!string.IsNullOrEmpty(psClaveCliente))
                    //{
                    //    lnIndicadorFiltros = (int)Informes.Comun.Definiciones.TipoFiltrosReporteVentasPorDias.SoloCliente;
                    //}
                }
                loSentencia.Parametros[5].Valor = lnIndicadorFiltros;

                #endregion

                Planificador loPlanificador = new Planificador();
                DataTable    loResultado    = (DataTable)loPlanificador.Servir(poSesion.Conexion, new List <Sentencia>()
                {
                    loSentencia
                });
                DataTable dtAuxiliar = loResultado.Clone();


                if (!pbMostrarClienteEliminado && !pbMostrarClienteCeroPedidos)
                {
                    DataRow[] loQueryGesClave = loResultado.Select("(GES_CLAVE < 1000 OR GES_CLAVE>2000) AND TDIAS > 0");

                    foreach (DataRow loFila in loQueryGesClave)
                    {
                        dtAuxiliar.Rows.Add(loFila[0], loFila[1], loFila[2], loFila[3], loFila[4], loFila[5], loFila[6], loFila[7]);
                    }
                    loResultado.Rows.Clear();
                    loResultado.Merge(dtAuxiliar);
                }
                if (!pbMostrarClienteEliminado && pbMostrarClienteCeroPedidos)
                {
                    DataRow[] loQueryGesClave = loResultado.Select("(GES_CLAVE < 1000 OR GES_CLAVE>2000)");

                    foreach (DataRow loFila in loQueryGesClave)
                    {
                        dtAuxiliar.Rows.Add(loFila[0], loFila[1], loFila[2], loFila[3], loFila[4], loFila[5], loFila[6], loFila[7]);
                    }
                    loResultado.Rows.Clear();
                    loResultado.Merge(dtAuxiliar);
                }
                if (pbMostrarClienteEliminado && !pbMostrarClienteCeroPedidos)
                {
                    DataRow[] loQueryGesClave = loResultado.Select("TDIAS > 0");

                    foreach (DataRow loFila in loQueryGesClave)
                    {
                        dtAuxiliar.Rows.Add(loFila[0], loFila[1], loFila[2], loFila[3], loFila[4], loFila[5], loFila[6], loFila[7]);
                    }
                    loResultado.Rows.Clear();
                    loResultado.Merge(dtAuxiliar);
                }


                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Informes.Comun.Excepcion(ex.Message, ex);
            }
        }