Esempio n. 1
0
        internal DataTable ObtenerProveedores(Sesion poSesion)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

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

                //         new Parametro() {
                //             Direccion = ParameterDirection.Input,
                //             Nombre = "PSI_CVE_CLIENTE",
                //             Tipo = DbType.String,
                //             Valor = psClaveCliente
                //         },
                //         new Parametro() {
                //             Direccion = ParameterDirection.Input,
                //             Nombre = "PNI_ANIO",
                //             Tipo = DbType.Int32,
                //             Valor = pnAnio
                //         },
                //         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 = "select CLAVE,RAZON_SOCIAL from proveedores where clave=254 and STATUS='A'";

                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 2
0
        internal DataTable Obtener(Sesion poSesion)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_VENTAS_LAYOUT.PROC_TLMK_CLIENTE";
                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;
                loSentencias.Add(loSentencia);

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

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

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorItinerario");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 3
0
        internal Entidades.Sesion Obtener(Conexion poConexion)
        {
            try
            {
                Entidades.Sesion loSesion = new Entidades.Sesion()
                {
                    Estatus = Seguridad.Comun.Definiciones.EstatusSesion.NoIniciada
                };

                DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorSeguridad");
                bool lbConexionValida           = loDespachador.Validar(poConexion);

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();

                if (lbConexionValida)
                {
                    Usuario loUsuario = new Usuario();

                    loSesion.Conexion = poConexion;
                    loSesion.Estatus  = Seguridad.Comun.Definiciones.EstatusSesion.Iniciada;
                    loSesion.Usuario  = loUsuario.Obtener(poConexion);
                }

                return(loSesion);
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Esempio n. 4
0
        internal bool InsertarCobroSIIL(Sesion poSesion, string pdFechaAbono, decimal pdTotal, string psNombreBanco, int piFormaPagoCobro,
                                        string psClaveCliente, int piSucursal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

                loSentencia.TextoComando =
                    "declare result number; begin result := PKG_CXC.FNC_CREAR_COBRO(TO_DATE('" + pdFechaAbono + "','DD/MM/YY'),NULL,NULL,NULL,NULL,NULL,NULL,NULL," + pdTotal + ",1,'" + psNombreBanco + "'," + piFormaPagoCobro + ",1,'" + psClaveCliente + "','S',TO_DATE(SYSDATE,'DD/MM/YY')," + piSucursal + ");  end;";

                loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                loSentencia.TipoComando = CommandType.Text;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");

                loDespachador.Despachar(poSesion.Conexion, loSentencias);
                loDespachador.ChannelFactory.Close();
                loDespachador.Close();

                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 5
0
        internal DataTable ObtenerClientesTemporal(Sesion poSesion, int pnAuxiliar, int pnCveGestor)
        {
            try
            {
                string           lsSucursales = string.Empty;
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_AUXILIAR",
                        Tipo      = DbType.Int32,
                        Valor     = pnAuxiliar
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_GESTOR",
                        Tipo      = DbType.Int32,
                        Valor     = pnCveGestor
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_CXC_LAYOUT.PROC_AUXILIAR_CXC_CLIENTES_TMP";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Clientes.Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 6
0
        internal DataTable ObtenerSucursal(Sesion poSesion)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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     = ConfigurationManager.AppSettings["RazonSocial"]
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO_TRAZA.PROC_DOC_REMITENTE";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 7
0
        internal DataTable ObtenerFacturas(Sesion poSesion, string pnNumeroFactura)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_PERSONAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Id
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_NUMERO_FACTURA",
                        Tipo      = DbType.Int32,
                        Valor     = ((!string.IsNullOrEmpty(pnNumeroFactura)) ? pnNumeroFactura : null)
                    }
                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_FACTURACION.PROC_CONSULTA_FACTURAS";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 8
0
        internal DataTable ObtenerVendedores(Sesion poSesion, string psClaveTelemarketing, bool pbAsignacionTemporal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_VENTAS_LAYOUT.PROC_TLMK_VENDEDORES" + ((pbAsignacionTemporal) ? "_TMP" : string.Empty);
                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;
                loSentencias.Add(loSentencia);

                if (!string.IsNullOrEmpty(psClaveTelemarketing))
                {
                    loSentencia.Parametros.Add(new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_USUARIO",
                        Tipo      = DbType.Int64,
                        Valor     = long.Parse(psClaveTelemarketing)
                    });
                }

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorItinerario");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 9
0
        internal DataTable BuscarGrupo(Sesion poSesion, string psDescripcion)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_PERSONAL",
                        Tipo      = DbType.String,
                        Valor     = psDescripcion
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_MONITOREO_BUSCAR_GRUPO";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Seguridad.Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 10
0
        internal DataTable ValidaCobro(Sesion poSesion, string psNumTransaccion, DateTime pdtFecha)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

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



                    #endregion
                };
                loSentencia.TextoComando =
                    #region Definir sentencia de insercion/actualizacion
                    "SELECT DTC.NUM_TRANSACCION, DTC.REF_NUMERICA, DTC.REF_ALFANUMERICA, DTC.ABONO, "
                    + "DTC.FECHA_ABONO, DTC.SUC_BANCO,(SELECT DESCRIPCION FROM FORMAS_PAGO WHERE CLAVE = "
                    + "DTC.CLAVE_FORMAPAGO) CLAVE_FORMAPAGO, DTC.STATUS_TRANS FROM DAP_TESORERIA_COBROS_PROC DTC WHERE NUM_TRANSACCION = "
                    + "'" + psNumTransaccion + "' AND STATUS_TRANS IN ('C','M')";
                #endregion
                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;
                loSentencias.Add(loSentencia);


                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();

                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 11
0
        internal DataTable ObtenerFormaDePagoBanamex(Sesion poSesion, string psFormaDePago)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros


                    #endregion
                };
                loSentencia.TextoComando =
                    "SELECT (SELECT CLAVE FROM FORMAS_PAGO WHERE CLAVE = DAP_TESORERIA_TIPO_PAGO.CLAVE_FORMAPAGO) CLAVE,"
                    + "(SELECT DESCRIPCION FROM FORMAS_PAGO WHERE CLAVE = DAP_TESORERIA_TIPO_PAGO.CLAVE_FORMAPAGO) FORMA_PAGO "
                    + "FROM DAP_TESORERIA_TIPO_PAGO "
                    + "WHERE CLAVE_FORMAPAGO IN (SELECT CLAVE FROM FORMAS_PAGO) "
                    + "AND CLAVE_CUENTAS IN (SELECT CLAVE FROM CUENTAS) AND TIPO_PAGO = '" + psFormaDePago + "'";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 12
0
        internal DataTable ObtenerSucursalBanamex(Sesion poSesion, string psReferenciaBancaria)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();
                loSentencia.Parametros = new List <Parametro>()
                {
                    #region Parametros


                    #endregion
                };
                loSentencia.TextoComando = "SELECT CLAVE CLI_CLAVE, RAZON_SOCIAL, SUC_CLAVE, (SELECT DESCRIPCION FROM SUCURSALES WHERE CLAVE = SC.SUC_CLAVE ) SUCURSAL FROM CLIENTES C, SUC_CLIENTES SC " +
                                           "WHERE C.TEXTO1 = (CASE WHEN LENGTH('" + psReferenciaBancaria + "') <= 7 THEN  SUBSTR('0000000',1,7-LENGTH('" + psReferenciaBancaria + "')) || '" + psReferenciaBancaria + "' " +
                                           "ELSE SUBSTR('" + psReferenciaBancaria + "',1,7) END) " +
                                           "AND C.CLAVE = SC.CLI_CLAVE AND SC.VER='S' AND SC.UTILIZAR='S' AND SC.SUC_CLAVE <> 4 " +
                                           "AND INSTR(','||COALESCE('1,2,3,4,5',TO_CHAR(SC.SUC_CLAVE))||',',','||SC.SUC_CLAVE||',')!=0  " +
                                           "AND CLAVE = SUBSTR('" + psReferenciaBancaria + "',1,LENGTH('" + psReferenciaBancaria + "')-2)";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 13
0
        internal bool Guardar(Sesion poSesion, List <Asignacion> poAsignaciones, bool pbAsignacionTemporal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();

                foreach (Asignacion loAsignacion in poAsignaciones)
                {
                    Sentencia loSentencia = new Sentencia();

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

                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "CVE_CLIENTE",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.ClaveCliente
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "USR_CLAVE",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.ClaveUsuario
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "STATUS_CAN",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.Estatus
                        }

                        #endregion
                    };
                    loSentencia.TextoComando =
                        #region Definir sentencia de insercion/actualizacion

                        "MERGE INTO DAP_VENTAS_TLMK_CTE" + ((pbAsignacionTemporal) ? "_TMP" : string.Empty) + " TC \r\n" +
                        "		USING (SELECT :1 AS CVE_CLIENTE,(SELECT P.CLAVE FROM PERSONAL P WHERE P."+ ((pbAsignacionTemporal) ? string.Empty : "USR_") + "CLAVE=:2) AS CVE_PERSONAL,:3 AS STATUS_CAN FROM DUAL) D \r\n" +
                        "		ON (TC.CVE_CLIENTE=D.CVE_CLIENTE) \r\n"+
                        "	WHEN MATCHED THEN \r\n"+
                        "		UPDATE SET TC.CVE_PERSONAL=D.CVE_PERSONAL,TC.USUARIO_ULT_ACT='"+ poSesion.Usuario.Clave + "',TC.FECHA_ULT_TRANSAC=SYSDATE,TC.STATUS_CAN=D.STATUS_CAN \r\n" +
                        "	WHEN NOT MATCHED THEN \r\n"+
                        "		INSERT (TC.CVE_PERSONAL,TC.CVE_CLIENTE,TC.USUARIO_ULT_ACT,TC.FECHA_ULT_TRANSAC) \r\n"+
                        "		VALUES (D.CVE_PERSONAL,D.CVE_CLIENTE,'"+ poSesion.Usuario.Clave + "',SYSDATE)";

                    #endregion
                    loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                    loSentencia.TipoComando = CommandType.Text;
                    loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                    loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                    loSentencias.Add(loSentencia);
                }

                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 14
0
        internal bool Eliminar(Sesion poSesion, List <Asignacion> poAsignaciones)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();

                foreach (Asignacion loAsignacion in poAsignaciones)
                {
                    Sentencia loSentencia = new Sentencia();

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

                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "CVE_CLIENTE",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.ClaveCliente
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "USR_CLAVE",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.ClaveUsuario
                        }

                        #endregion
                    };
                    loSentencia.TextoComando =
                        #region Definir sentencia de insercion/actualizacion

                        "DELETE FROM DAP_VENTAS_TLMK_CTE_TMP WHERE CVE_CLIENTE=:1 AND CVE_PERSONAL=:2";

                    #endregion
                    loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                    loSentencia.TipoComando = CommandType.Text;
                    loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                    loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                    loSentencias.Add(loSentencia);
                }

                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 15
0
        internal Entidades.Usuario Obtener(Conexion poConexion)
        {
            try
            {
                Entidades.Usuario loUsuario = new Entidades.Usuario()
                {
                    Clave    = poConexion.Credenciales.Usuario,
                    Estatus  = Seguridad.Comun.Definiciones.EstatusUsuario.Valido,
                    Sucursal = new List <Entidades.Sucursal>()
                };
                Sentencia loSentencia = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_USUARIO",
                        Tipo      = DbType.String,
                        Valor     = poConexion.Credenciales.Usuario
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_SEGURIDAD.PROC_PERSONAL_SUCURSALES";
                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;

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorSeguridad");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poConexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poConexion, new List <Sentencia>()
                {
                    loSentencia
                }
                                                        )));

                foreach (DataRow oUsuarioSucursal in loResultado.Rows)
                {
                    loUsuario.Id     = int.Parse(oUsuarioSucursal["ID"].ToString());
                    loUsuario.Nombre = oUsuarioSucursal["NOMBRE"].ToString();
                    loUsuario.Sucursal.Add(new Entidades.Sucursal()
                    {
                        Clave            = int.Parse(oUsuarioSucursal["CLAVE"].ToString()),
                        Descripcion      = oUsuarioSucursal["DESCRIPCION"].ToString(),
                        DescripcionCorta = oUsuarioSucursal["DESC_CORTA"].ToString()
                    });
                }

                loUsuario.Grupo   = this.ObtenerGrupos(poConexion, loUsuario.Id);
                loUsuario.Permiso = this.ObtenerPermisos(poConexion, loUsuario.Id);
                return(loUsuario);
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Esempio n. 16
0
        internal DataTable ObtenerDocumentos(Sesion poSesion, Definiciones.TipoDocumento poTipoDocumento, string psClaveCliente, DateTime poFechaInicio, DateTime poFechaFin)
        {
            Sentencia loSentencia = new Sentencia()
            {
                #region Inicializar

                Parametros  = new List <Parametro>(),
                Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.Query,
                TipoComando = CommandType.Text,
                TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion,
                TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto

                                           #endregion
            };
            string lsSucursales = string.Empty;

            foreach (Sucursal lsSucursal in poSesion.Usuario.Sucursal)
            {
                lsSucursales += lsSucursal.Clave + ",";
            }

            #region Establecer comando

            switch (poTipoDocumento)
            {
            case Definiciones.TipoDocumento.Factura:
                loSentencia.TextoComando =
                    "SELECT 'DAP941221SYA_'||fe.folfac_folio||'_'||fe.numero as docto, fe.fecha " +
                    "FROM clientes, facturas_emitidas fe " +
                    "WHERE clientes.clave=fe.cli_clave AND TRUNC(fe.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " +
                    "AND fe.folfac_folio IN (SELECT DISTINCT folfac_folio FROM suc_folios_facturas WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND folfac_folio LIKE 'F%') AND fe.status_can='N' " +
                    "AND fe.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",fe.cli_clave) " +
                    "ORDER BY fe.fecha";
                break;

            case Definiciones.TipoDocumento.NotaCargo:
                loSentencia.TextoComando =
                    "SELECT 'DAP941221SYA_'||nc.fol_nc_em_folio||'_'||nc.numero as docto, nc.fecha " +
                    "FROM clientes, notas_cargo_emitidas nc " +
                    "WHERE clientes.clave=nc.cli_clave AND TRUNC(nc.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " +
                    "AND nc.fol_nc_em_folio IN (SELECT DISTINCT fol_nc_em_folio FROM suc_folios_notas_cargo_emi WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND fol_nc_em_folio LIKE 'CA%') AND nc.status_can='N' " +
                    "AND nc.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",nc.cli_clave) " +
                    "ORDER BY nc.fecha";
                break;

            case Definiciones.TipoDocumento.NotaCredito:
                loSentencia.TextoComando =
                    "SELECT 'DAP941221SYA_'||nc.fol_ncr_ct_folio||'_'||nc.numero as docto, nc.fecha " +
                    "FROM clientes, notas_credito_al_cte nc " +
                    "WHERE clientes.clave=nc.cli_clave AND TRUNC(nc.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " +
                    "AND nc.fol_ncr_ct_folio IN (SELECT DISTINCT fol_ncr_ct_folio FROM suc_folios_ncred_cte WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND fol_ncr_ct_folio LIKE 'CR%') AND nc.status_can='N' " +
                    "AND nc.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",nc.cli_clave) " +
                    "ORDER BY nc.fecha";
                break;

            default:
                break;
            }

            #endregion

            DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
            Serializacion     loDeserializador = new Serializacion();
            DataTable         loResultado      = loDeserializador.DeserializarTabla(
                poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                    (byte[])loDespachador.Despachar(poSesion.Conexion, new List <Sentencia>()
            {
                loSentencia
            }
                                                    )));

            loDespachador.ChannelFactory.Close();
            loDespachador.Close();
            return(loResultado);
        }
Esempio n. 17
0
        internal bool Guardar(Sesion poSesion)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();

                Sentencia loSentencia = new Sentencia();

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


                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "CVE_NUMERICA",
                        Tipo      = DbType.Int32,
                        Valor     = 1
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "CVE_VALOR",
                        Tipo      = DbType.String,
                        Valor     = "Prueba2"
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "FECHA_ULT_TRANSAC",
                        Tipo      = DbType.Date,
                        Valor     = DateTime.Now
                    }
                    #endregion
                };
                loSentencia.TextoComando =
                    #region Definir sentencia de insercion/actualizacion

                    "MERGE INTO DAP_PRUEBAS2___  TC\r\n" +
                    "		USING (SELECT :1 AS CVE_NUMERICA,:2 AS CVE_VALOR, :3 AS FECHA_ULT_TRANSAC FROM DUAL) D \r\n"+
                    "		ON (TC.CVE_NUMERICA=D.CVE_NUMERICA) \r\n"+
                    "	WHEN MATCHED THEN \r\n"+
                    "		UPDATE SET TC.CVE_VALOR=D.CVE_VALOR,TC.FECHA_ULT_TRANSAC=SYSDATE \r\n"+
                    "	WHEN NOT MATCHED THEN \r\n"+
                    "		INSERT (TC.CVE_NUMERICA,TC.CVE_VALOR,TC.FECHA_ULT_TRANSAC) \r\n"+
                    "		VALUES (D.CVE_NUMERICA,D.CVE_VALOR,SYSDATE)";

                #endregion
                loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                loSentencia.TipoComando = CommandType.Text;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                loSentencias.Add(loSentencia);


                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 18
0
        internal bool InsertaCobroTablaDAP(Sesion poSesion, List <RegistroCobro> loCobro)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();

                foreach (RegistroCobro loAsignacion in loCobro)
                {
                    Sentencia loSentencia = new Sentencia();

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

                        //1
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "NUM_TRASACCION",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.NumTransaccion
                        },
                        //2
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "REF_NUMERICA",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.RefNumerica
                        },
                        //3
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "REF_ALFANUMERICA",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.RefAlfanumerica
                        },
                        //4
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "ABONO",
                            Tipo      = DbType.Decimal,
                            Valor     = loAsignacion.Abono
                        },
                        //5
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "FECHA_ABONO",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.FechaAbono
                        },
                        //6
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "BANCO",
                            Tipo      = DbType.Int32,
                            Valor     = loAsignacion.Banco
                        },
                        //7
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "FORMA_PAGO",
                            Tipo      = DbType.Int32,
                            Valor     = loAsignacion.FormaPago
                        },
                        //8
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "ARCHIVO",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.Archivo
                        },
                        //9
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "SUC_BANCO",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.SucBanco
                        },
                        //10
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "STATUS_TRANSACCION",
                            Tipo      = DbType.String,
                            Valor     = loAsignacion.StatusTransaccion
                        }
                        #endregion
                    };

                    loSentencia.TextoComando =
                        #region Definir sentencia de insercion/actualizacion

                        "   MERGE INTO DAP_TESORERIA_COBROS_PROC DTP \r\n" +
                        "		USING (SELECT :1 AS NumTransaccion, :2 AS RefNumerica, :3 AS RefAlfanumerica, :4 AS Abono,:5 AS FechaAbono, :6 AS Banco,:7 AS FormaPago ,:8 AS Archivo,  :9 AS SucBanco, :10 StatusTransaccion FROM DUAL) T \r\n"+
                        "		ON (DTP.NUM_TRANSACCION = T.NumTransaccion) \r\n"+
                        "   WHEN MATCHED THEN \r\n" +
                        "   UPDATE SET DTP.USR_ACTUALIZA = USER, DTP.FECHA_ACTUALIZA = SYSDATE, DTP.STATUS_TRANS = T.StatusTransaccion \r\n" +
                        "	WHEN NOT MATCHED THEN \r\n"+
                        "		INSERT (DTP.NUM_TRANSACCION, DTP.REF_NUMERICA, DTP.REF_ALFANUMERICA, DTP.ABONO, DTP.FECHA_ABONO, DTP.SUC_BANCO, \r\n"+
                        "       DTP.CLAVE_FORMAPAGO,DTP.CLAVE_CUENTAS,DTP.NOMBRE_ARCHIVO,DTP.USUARIO_SIIL,DTP.FECHA_ALTA,DTP.STATUS_TRANS) \r\n" +
                        "		VALUES (T.NumTransaccion,T.RefNumerica,T.RefAlfanumerica,T.Abono,TO_DATE(T.FechaAbono,'DD/MM/YY'),T.SucBanco,T.FormaPago,T.Banco,T.Archivo,USER,SYSDATE,T.StatusTransaccion)";

                    #endregion
                    loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                    loSentencia.TipoComando = CommandType.Text;
                    loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                    loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                    loSentencias.Add(loSentencia);
                }

                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 19
0
        internal DataTable ObtenerPedidos(Sesion poSesion, DateTime poFechaInicio, DateTime poFechaFin, int pnSucursal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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     = pnSucursal
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }
                    #endregion
                };


                loSentencia.TextoComando             = "PKG_DAP_ALMACEN_PEDIDO.PROC_CXC_MENSAJERO";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));
                DataTable lodtAuxiliar = loResultado.Clone();

                //DataRow[] query = loResultado.Select("ORDEN = 3 AND EXISTENCIA > 0");
                DataRow[] query = loResultado.Select("ORDEN = 3 ");

                foreach (DataRow fila in query)
                {
                    //lodtAuxiliar.Rows.Add(fila[0], fila[1], fila[2], fila[3], fila[4], fila[5], fila[6], fila[7], fila[8], fila[9], fila[10], fila[11], fila[12], fila[13], fila[14], fila[15], fila[16]);
                    lodtAuxiliar.Rows.Add(fila[0], fila[1], fila[2], fila[3], fila[4], fila[5], fila[6], fila[7], fila[8], fila[9], fila[10], fila[11], fila[12], fila[13], fila[14], fila[15], fila[16], fila[17], fila[18]);
                }
                loResultado.Rows.Clear();
                loResultado.Merge(lodtAuxiliar);


                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Pedidos.Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 20
0
        internal DataTable Obtener(Sesion poSesion, string psFolioOrdenCompra, int pnSucursal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

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

                //         new Parametro() {
                //             Direccion = ParameterDirection.Input,
                //             Nombre = "PSI_CVE_CLIENTE",
                //             Tipo = DbType.String,
                //             Valor = psClaveCliente
                //         },
                //         new Parametro() {
                //             Direccion = ParameterDirection.Input,
                //             Nombre = "PNI_ANIO",
                //             Tipo = DbType.Int32,
                //             Valor = pnAnio
                //         },
                //         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 = "SELECT  OC.FOLOC_FOLIO,OC.NUMERO,OC.FECHA,SUC.SUCURSAL,P.RAZON_SOCIAL,(SELECT M.DESC_CORTA FROM MONEDAS M WHERE CLAVE = OC.MON_CLAVE)MONEDA,OC.USUARIO_AUT,( SELECT PER.NOMBRE||' ' || PER.NOMBRE2 ||' ' || PER.APELLIDO_PATERNO ||' ' || PER.APELLIDO_MATERNO FROM PERSONAL PER WHERE PER.USR_CLAVE = OC.USUARIO) PERSONAL " +
                                           " FROM (SELECT SFOC.FOLOC_FOLIO,SFOC.SUC_CLAVE,S.DESCRIPCION AS SUCURSAL FROM SUC_FOLIOS_ORDENES_COMPRAS SFOC, SUCURSALES S WHERE SFOC.SUC_CLAVE=S.CLAVE AND SFOC.VER='S' AND SFOC.UTILIZAR='S')SUC, ORDENES_COMPRAS OC, PROVEEDORES P, SUC_ALMACENES SA" +
                                           " WHERE OC.FOLOC_FOLIO=SUC.FOLOC_FOLIO AND OC.PROV_CLAVE = P.CLAVE AND SA.ALM_CLAVE=OC.ALM_CLAVE AND SA.SUC_CLAVE=SUC.SUC_CLAVE AND SUC.SUC_CLAVE=" + pnSucursal + " AND P.CLAVE = 254 " + " AND OC.FOLOC_FOLIO||OC.NUMERO ='" + psFolioOrdenCompra + "' AND  OC.STATUS_CAN='N' ";

                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 21
0
        internal bool PerteneceA(Sesion poSesion, string psClaveCliente, string psClaveUsuario)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();
                string           lsSucursales = string.Empty;

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.InputOutput,
                        Nombre    = "PNO_RESULTADO",
                        Tipo      = DbType.Int32,
                        Valor     = 0
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_CLIENTE",
                        Tipo      = DbType.String,
                        Valor     = psClaveCliente
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_CVE_USUARIO",
                        Tipo      = DbType.String,
                        Valor     = psClaveUsuario
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_VENTAS_LAYOUT.PROC_TLMK_PERTENECE_SUC";
                loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.Query;
                loSentencia.TipoComando              = CommandType.StoredProcedure;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                loSentencias.Add(loSentencia);

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

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

                DespachadorClient loDespachador      = new DespachadorClient("netTcpBinding_IDespachadorItinerario");
                Parametro[]       loParametrosSalida = new Parametro[] {};
                int loResultado = (int)loDespachador.Despachar(poSesion.Conexion, loSentencias);

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return((loResultado == 1) ? true : false);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 22
0
        internal DataTable ObtenerDatosOrdenCompra(Sesion poSesion, string psFolioOrdenCompra, int pnNumeroOrdenCompra, int pnSucursal)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                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_OC_FOLIO",
                        Tipo      = DbType.String,
                        Valor     = psFolioOrdenCompra
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_OC_NUMERO",
                        Tipo      = DbType.Int32,
                        Valor     = pnNumeroOrdenCompra
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnSucursal
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_MONITOREO.PROC_COMPRAS_OC";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 23
0
        internal bool Eliminar(Sesion poSesion, int pnValor)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();


                Sentencia loSentencia = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "CVE_NUMERICA",
                        Tipo      = DbType.Int32,
                        Valor     = pnValor
                    }

                    #endregion
                };
                loSentencia.TextoComando =
                    #region Definir sentencia de insercion/actualizacion

                    "DELETE FROM DAP_PRUEBAS2___ WHERE CVE_NUMERICA=:1";

                #endregion
                loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                loSentencia.TipoComando = CommandType.Text;
                loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                loSentencias.Add(loSentencia);


                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 24
0
        internal bool InactivarClientes(Sesion poSesion, DataTable poClientes, EventLog poLog)
        {
            try
            {
                int lnMotivo = 0;
                List <Sentencia> loSentencias = new List <Sentencia>();

                #region Actualizar solo clientes padre e hijos con saldo vencido.
                foreach (DataRow loCliente in poClientes.Rows)
                {
                    if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0 || decimal.Parse(loCliente["SALDO_HIJO"].ToString()) > 0)
                    {
                        #region Obtener Motivo de inactivación.
                        if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0 && decimal.Parse(loCliente["SALDO_HIJO"].ToString()) > 0)
                        {
                            lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionPadreHijo"]);
                        }
                        else
                        {
                            if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0)
                            {
                                lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionPadre"]);
                            }
                            else
                            {
                                lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionHijo"]);
                            }
                        }
                        #endregion
                        Sentencia loSentencia = new Sentencia();

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

                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "CVE_CLIENTE",
                                Tipo      = DbType.String,
                                Valor     = loCliente["CLAVE"]
                            },
                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "MINAC_CLAVE",
                                Tipo      = DbType.Int32,
                                Valor     = lnMotivo
                            }
                            #endregion
                        };
                        loSentencia.TextoComando =
                            #region Definir sentencia de insercion/actualizacion

                            "UPDATE CLIENTES SET FECHA_INAC = SYSDATE, FECHA_ULT_ACT=SYSDATE, USUARIO_ULT_ACT='SIIL_OWNER', STATUS='I', MINAC_CLAVE = "
                            + lnMotivo.ToString() + " WHERE STATUS='A' AND CLAVE IN('" + loCliente["CLAVE"] + "','" + loCliente["CLAVE"] + "M')";

                        #endregion
                        loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                        loSentencia.TipoComando = CommandType.Text;
                        loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                        loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                        loSentencias.Add(loSentencia);
                    }
                }
                #endregion

                #region Actualizar el limite de crédito a cero solo de cuentas hijo
                foreach (DataRow loCliente in poClientes.Rows)
                {
                    if (decimal.Parse(loCliente["LIMITE_CREDITO_HIJO"].ToString()) > 0)
                    {
                        Sentencia loSentencia = new Sentencia();

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

                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "CVE_CLIENTE",
                                Tipo      = DbType.String,
                                Valor     = loCliente["CLAVE"]
                            }
                            #endregion
                        };
                        loSentencia.TextoComando =
                            #region Definir sentencia de insercion/actualizacion

                            "UPDATE CLIENTES SET FECHA_ULT_ACT=SYSDATE, USUARIO_ULT_ACT='SIIL_OWNER', LIMITE_CREDITO = 0 WHERE ZON_CLAVE = 2 AND LIMITE_CREDITO > 0 AND CLAVE ='" + loCliente["CLAVE"] + "M'";

                        #endregion
                        loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                        loSentencia.TipoComando = CommandType.Text;
                        loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                        loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                        loSentencias.Add(loSentencia);
                    }
                }
                #endregion
                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                poLog.WriteEntry("ERROR AL INACTIVAR CLIENTES." + ex, EventLogEntryType.Information);
                return(false);
            }
        }
Esempio n. 25
0
        internal DataTable ObtenerDocumentoCancelado(Sesion poSesion, Definiciones.TipoDocumento poTipoDocumento, string lsFolioDocumento, int lnNumeroDocumento)
        {
            Sentencia loSentencia = new Sentencia()
            {
                #region Inicializar

                Parametros  = new List <Parametro>(),
                Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.Query,
                TipoComando = CommandType.Text,
                TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion,
                TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto

                                           #endregion
            };


            #region Establecer comando

            switch (poTipoDocumento)
            {
            case Definiciones.TipoDocumento.Factura:
                loSentencia.TextoComando =
                    "SELECT F.FOLFAC_FOLIO || '-'  || F.NUMERO AS DOCTO, C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, F.STATUS_CAN " +
                    "FROM CLIENTES C, FACTURAS_EMITIDAS F, SUC_CLIENTES SC " +
                    "WHERE C.CLAVE = F.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND F.FOLFAC_FOLIO = '" + lsFolioDocumento + "' AND F.NUMERO=" + lnNumeroDocumento + " " +
                    "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))";
                break;

            case Definiciones.TipoDocumento.NotaCargo:
                loSentencia.TextoComando =
                    "SELECT N.FOL_NC_EM_FOLIO || '-'  || N.NUMERO AS DOCTO,  C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, N.STATUS_CAN " +
                    "FROM CLIENTES C, NOTAS_CARGO_EMITIDAS N, SUC_CLIENTES SC " +
                    "WHERE C.CLAVE = N.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND N.FOL_NC_EM_FOLIO = '" + lsFolioDocumento + "' AND N.NUMERO=" + lnNumeroDocumento + " " +
                    "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))";
                break;

            case Definiciones.TipoDocumento.NotaCredito:
                loSentencia.TextoComando =
                    "SELECT N.FOL_NCR_CT_FOLIO || '-'  || N.NUMERO AS DOCTO, C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, N.STATUS_CAN " +
                    "FROM CLIENTES C, NOTAS_CREDITO_AL_CTE N, SUC_CLIENTES SC " +
                    "WHERE C.CLAVE = N.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND N.FOL_NCR_CT_FOLIO= '" + lsFolioDocumento + "' AND N.NUMERO =" + lnNumeroDocumento + " " +
                    "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))";
                break;

            default:
                break;
            }

            #endregion

            DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC");
            Serializacion     loDeserializador = new Serializacion();
            DataTable         loResultado      = loDeserializador.DeserializarTabla(
                poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                    (byte[])loDespachador.Despachar(poSesion.Conexion, new List <Sentencia>()
            {
                loSentencia
            }
                                                    )));

            loDespachador.ChannelFactory.Close();
            loDespachador.Close();
            return(loResultado);
        }
Esempio n. 26
0
        internal bool Guardar(Sesion poSesion, Dictionary <string, Bitacora> poBitacoras, int pnAnio, int pnSemana)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();

                foreach (string loKey in poBitacoras.Keys)
                {
                    Sentencia loSentencia = new Sentencia();

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

                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "CVE_CLIENTE",
                            Tipo      = DbType.String,
                            Valor     = loKey
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "LUNES",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Lunes
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "MARTES",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Martes
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "MIERCOLES",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Miercoles
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "JUEVES",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Jueves
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "VIERNES",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Viernes
                        },
                        new Parametro()
                        {
                            Direccion = ParameterDirection.Input,
                            Nombre    = "SABADO",
                            Tipo      = DbType.String,
                            Valor     = poBitacoras[loKey].Sabado
                        }

                        #endregion
                    };
                    loSentencia.TextoComando =
                        #region Definir sentencia de insercion/actualizacion

                        "MERGE INTO DAP_VENTAS_TLMK_ITINERARIO I " +
                        "		USING (SELECT "+ poSesion.Usuario.Id + " AS CVE_PERSONAL,:1 AS CVE_CLIENTE," + pnAnio + " AS ANIO," + pnSemana + " AS SEMANA,:2 AS LUNES,:3 AS MARTES,:4 AS MIERCOLES,:5 AS JUEVES,:6 AS VIERNES,:7 AS SABADO FROM DUAL) D " +
                        "		ON (I.CVE_PERSONAL=D.CVE_PERSONAL AND I.CVE_CLIENTE=D.CVE_CLIENTE AND I.ANIO=D.ANIO AND I.SEMANA=D.SEMANA) "+
                        "	WHEN MATCHED THEN "+
                        "		UPDATE SET I.LUNES=D.LUNES,I.MARTES=D.MARTES,I.MIERCOLES=D.MIERCOLES,I.JUEVES=D.JUEVES,I.VIERNES=D.VIERNES,I.SABADO=D.SABADO "+
                        "	WHEN NOT MATCHED THEN "+
                        "		INSERT (I.CVE_PERSONAL,I.CVE_CLIENTE,I.ANIO,I.SEMANA,I.LUNES,I.MARTES,I.MIERCOLES,I.JUEVES,I.VIERNES,I.SABADO) "+
                        "		VALUES (D.CVE_PERSONAL,D.CVE_CLIENTE,D.ANIO,D.SEMANA,D.LUNES,D.MARTES,D.MIERCOLES,D.JUEVES,D.VIERNES,D.SABADO)";

                    #endregion
                    loSentencia.Tipo        = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                    loSentencia.TipoComando = CommandType.Text;
                    loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                    loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                    loSentencias.Add(loSentencia);

                    if (poBitacoras[loKey].Contacto != null)
                    {
                        loSentencia            = new Sentencia();
                        loSentencia.Parametros = new List <Parametro>()
                        {
                            #region Parametros

                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "TIPO_PODER",
                                Tipo      = DbType.String,
                                Valor     = poBitacoras[loKey].Contacto.Observaciones
                            },
                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "CLAVE",
                                Tipo      = DbType.Int64,
                                Valor     = poBitacoras[loKey].Contacto.Clave
                            },
                            new Parametro()
                            {
                                Direccion = ParameterDirection.Input,
                                Nombre    = "CLI_CLAVE",
                                Tipo      = DbType.String,
                                Valor     = loKey
                            }

                            #endregion
                        };
                        loSentencia.TextoComando             = "UPDATE CONTACTOS_CLIENTE SET TIPO_PODER=:1 WHERE CLAVE=:2 AND CLI_CLAVE=:3";
                        loSentencia.Tipo                     = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery;
                        loSentencia.TipoComando              = CommandType.Text;
                        loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion;
                        loSentencia.TipoResultado            = AccesoDatos.Comun.Definiciones.TipoResultado.Entero;
                        loSentencias.Add(loSentencia);
                    }
                }

                #region Preparar/ejecutar transaccion

                if (loSentencias.Count > 0)
                {
                    if (loSentencias.Count > 1)
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion;
                        loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion;
                    }
                    else
                    {
                        loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion;
                    }

                    DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario");

                    loDespachador.Despachar(poSesion.Conexion, loSentencias);
                    loDespachador.ChannelFactory.Close();
                    loDespachador.Close();
                }

                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 27
0
        internal List <Entidades.Permiso> ObtenerPermisos(Conexion poConexion, int pnIdUsuario)
        {
            try
            {
                Dictionary <int, Entidades.Permiso> loPermisos = new Dictionary <int, Entidades.Permiso>();
                Sentencia loSentencia = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_PERSONAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnIdUsuario
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_KEY_ID",
                        Tipo      = DbType.String,
                        Valor     = poConexion.IdAplicacion
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_SEGURIDAD.PROC_PERMISOS";
                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;

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorSeguridad");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poConexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poConexion, new List <Sentencia>()
                {
                    loSentencia
                }
                                                        )));

                foreach (DataRow oPermiso in loResultado.Rows)
                {
                    int lnClavePermiso = int.Parse(oPermiso["CLAVE"].ToString());

                    if (loPermisos.ContainsKey(lnClavePermiso))
                    {
                        loPermisos[lnClavePermiso].TipoPermiso.Add(
                            (Definiciones.TipoPermiso) int.Parse(oPermiso["CVE_TIPO_PERMISO"].ToString())
                            );
                        continue;
                    }

                    loPermisos.Add(lnClavePermiso, new Entidades.Permiso()
                    {
                        Agrupador  = (oPermiso["CVE_AGRUPADOR"] == DBNull.Value) ? (long?)null : long.Parse(oPermiso["CVE_AGRUPADOR"].ToString()),
                        Aplicacion = new Entidades.Aplicacion()
                        {
                            Clave       = int.Parse(oPermiso["CVE_APLICACION"].ToString()),
                            Descripcion = oPermiso["APLICACION"].ToString(),
                            KeyId       = poConexion.IdAplicacion
                        },
                        Clave        = lnClavePermiso,
                        Descripcion  = oPermiso["DESCRIPCION"].ToString(),
                        Orden        = int.Parse(oPermiso["ORDEN"].ToString()),
                        TipoElemento = (Definiciones.TipoElemento) int.Parse(oPermiso["CVE_TIPO_ELEMENTO"].ToString()),
                        TipoPermiso  = new List <Definiciones.TipoPermiso>()
                        {
                            (Definiciones.TipoPermiso) int.Parse(oPermiso["CVE_TIPO_PERMISO"].ToString())
                        },
                        Url = oPermiso["URL"].ToString(),
                    });
                }

                return(loPermisos.Values.ToList());
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Esempio n. 28
0
        internal DataTable Obtener(Sesion poSesion, int pnAnio, int pnSemana)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_PERSONAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Id
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_USR_PERSONAL",
                        Tipo      = DbType.String,
                        Valor     = poSesion.Usuario.Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_SUCURSAL",
                        Tipo      = DbType.Int32,
                        Valor     = poSesion.Usuario.Sucursal[0].Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_ANIO",
                        Tipo      = DbType.Int32,
                        Valor     = pnAnio
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_SEMANA",
                        Tipo      = DbType.Int32,
                        Valor     = pnSemana
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_VENTAS.PROC_TLMK_ITINERARIO";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorItinerario");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

                loDespachador.ChannelFactory.Close();
                loDespachador.Close();
                return(loResultado);
            }
            catch (Exception ex)
            {
                throw new Comun.Excepcion(ex.Message, ex);
            }
        }
Esempio n. 29
0
        internal List <Entidades.Grupo> ObtenerGrupos(Conexion poConexion, int pnIdUsuario)
        {
            try
            {
                List <Entidades.Grupo> loGrupo = new List <Entidades.Grupo>();
                Sentencia loSentencia          = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PNI_CVE_PERSONAL",
                        Tipo      = DbType.Int32,
                        Valor     = pnIdUsuario
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_KEY_ID",
                        Tipo      = DbType.String,
                        Valor     = poConexion.IdAplicacion
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando             = "PKG_DAP_SEGURIDAD.PROC_GRUPOS";
                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;

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorSeguridad");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poConexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poConexion, new List <Sentencia>()
                {
                    loSentencia
                }
                                                        )));

                foreach (DataRow oGrupo in loResultado.Rows)
                {
                    loGrupo.Add(new Entidades.Grupo()
                    {
                        Clave       = int.Parse(oGrupo["CVE_GRUPO"].ToString()),
                        Descripcion = oGrupo["GRUPO"].ToString()
                    });
                }

                return(loGrupo);
            }
            catch (Exception ex)
            {
                throw new Excepcion(ex.Message, ex);
            }
        }
Esempio n. 30
0
        internal DataTable ObtenerTotalSemanal(Sesion poSesion, DateTime poFechaSemanaActual, DateTime poFechaSemanaAnterior)
        {
            try
            {
                List <Sentencia> loSentencias = new List <Sentencia>();
                Sentencia        loSentencia  = new Sentencia();

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

                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PSI_USR_PERSONAL",
                        Tipo      = DbType.String,
                        Valor     = poSesion.Usuario.Clave
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_SEMANA_ACTUAL",
                        Tipo      = DbType.Date,
                        Valor     = poFechaSemanaActual
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Input,
                        Nombre    = "PDI_FECHA_SEMANA_ANTERIOR",
                        Tipo      = DbType.Date,
                        Valor     = poFechaSemanaAnterior
                    },
                    new Parametro()
                    {
                        Direccion = ParameterDirection.Output,
                        Nombre    = "PCO_CURSOR",
                        Tipo      = DbType.Object
                    }

                    #endregion
                };
                loSentencia.TextoComando = "PKG_DAP_VENTAS.PROC_TLMK_TOTALxSEMANA";
                //loSentencia.TextoComando = "PKG_DAP_MONITOREO.PROC_TLMK_TOTALxSEMANA";
                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;
                loSentencias.Add(loSentencia);

                DespachadorClient loDespachador    = new DespachadorClient("netTcpBinding_IDespachadorItinerario");
                Serializacion     loDeserializador = new Serializacion();
                DataTable         loResultado      = loDeserializador.DeserializarTabla(
                    poSesion.Conexion.Credenciales.Cifrado.Descifrar(
                        (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias
                                                        )));

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