//------------------------------------------------
        //Este procedimiento habilita las nuevas opciones
        //a usuarios con perfil de administrador.
        //------------------------------------------------
        public void TraspasarOpciones(int Usuario, int Perfil)
        {
            var         cnn = new Conexion();
            IDataReader Registro;
            SegCatalogosRestricciones Restriccion = new SegCatalogosRestricciones();
            SegCatalogosOpciones      Opcion      = new SegCatalogosOpciones();
            string strConSql;

            try
            {
                cnn.Conectar();

                //Traspasar opciones
                strConSql = "SELECT Id,Tipo,Codigo,SoloLectura FROM SegCatalogosOpciones WHERE Usuario=0 and Perfil=" + Perfil + " ORDER BY Tipo, Catalogo, Cuenta";
                cnn.SQL   = strConSql;
                Registro  = cnn.AbreSQL();
                if (cnn.Hay(Registro))
                {
                    while (Registro.Read())
                    {
                        Opcion.Usuario     = Usuario;
                        Opcion.Perfil      = Perfil;
                        Opcion.Tipo        = Convert.IsDBNull(Registro["Tipo"]) ? "" : Registro["Tipo"].ToString();
                        Opcion.Codigo      = Convert.IsDBNull(Registro["Codigo"]) ? "" : Registro["Codigo"].ToString();
                        Opcion.SoloLectura = Convert.ToByte(Convert.IsDBNull(Registro["SoloLectura"]) ? 0 : Registro["SoloLectura"]);
                        Opcion.Guardar(true);
                    }
                    Registro.Dispose();
                }

                //Traspasar restricciones
                strConSql = "SELECT Id,Posicion,Tipo,Codigo,Cuenta,Catalogo,Padre,Descripcion,Valor,EsPred FROM SegCatalogosRestricciones WHERE Usuario=0 and Perfil=" + Perfil + " and Tipo<100 ORDER BY Tipo, Catalogo, Cuenta, Descripcion";
                cnn.SQL   = strConSql;
                Registro  = cnn.AbreSQL();
                if (cnn.Hay(Registro))
                {
                    while (Registro.Read())
                    {
                        Restriccion.Usuario     = Usuario;
                        Restriccion.Perfil      = Perfil;
                        Restriccion.Tipo        = Convert.ToInt16(Convert.IsDBNull(Registro["Tipo"]) ? 0 : Registro["Tipo"]);
                        Restriccion.Catalogo    = Convert.ToInt16(Convert.IsDBNull(Registro["Catalogo"]) ? 0 : Registro["Catalogo"]);
                        Restriccion.Codigo      = Convert.ToInt32(Convert.IsDBNull(Registro["Codigo"]) ? 0 : Registro["Codigo"]);
                        Restriccion.Cuenta      = Convert.IsDBNull(Registro["Cuenta"]) ? "" : Registro["Cuenta"].ToString();
                        Restriccion.Descripcion = Convert.IsDBNull(Registro["Descripcion"]) ? "" : Registro["Descripcion"].ToString();
                        Restriccion.Padre       = Convert.ToInt32(Convert.IsDBNull(Registro["Padre"]) ? 0 : Registro["Padre"]);
                        Restriccion.Valor       = Convert.ToInt16(Convert.IsDBNull(Registro["Valor"]) ? 0 : Registro["Valor"]);
                        Restriccion.EsPred      = Convert.ToByte(Convert.IsDBNull(Registro["EsPred"]) ? 0 : Registro["EsPred"]);
                        Restriccion.Posicion    = Convert.ToInt16(Convert.IsDBNull(Registro["Posicion"]) ? 0 : Registro["Posicion"]);
                        Restriccion.Guardar(true);
                    }
                    Registro.Dispose();
                }
                cnn.Dispose();
            }
            catch (System.Data.Common.DbException ex)
            {
                Helper.showError(ex.Message);
            }
        }
        public int Consultar(int vCatalogo, string vDescripcion, ref JObject objJSON)
        {
            //IDataReader Registro;
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strJSON = "";
            string strConsulta;

            //generar consulta SQL
            strFiltro = " WHERE Catalogo=" + vCatalogo;
            if (vDescripcion.Length > 0)
            {
                strFiltro = strFiltro + " and Descripcion LIKE " + cnn.nSt(vDescripcion);
            }
            strConsulta = "SELECT Descripcion, Codigo FROM [" + Tabla + "]" + strFiltro + " ORDER BY Descripcion";

            //obtener registros
            Count = 0;
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.RStoJSON(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            Helper.validarJSON(strJSON, ref objJSON);
            return(Count);
        }
        public string ObtenerPerfil(int vUsuario, string vFecha)
        {
            var         cnn = new Conexion();
            IDataReader vp_rs;
            string      strFiltro;
            string      strConSql;

            cnn.Conectar();
            strFiltro = "";
            strConSql = "SELECT Perfil FROM [" + Tabla + "] WHERE Usuario=" + vUsuario + " and (isnull(ConVigencia,0)=0 or (" + cnn.DateSQL(vFecha) + " between InicioVigencia and FinVigencia))";
            cnn.SQL   = strConSql;
            vp_rs     = cnn.AbreSQL();
            if (cnn.Hay(vp_rs))
            {
                while (vp_rs.Read())
                {
                    strFiltro = strFiltro + (strFiltro.Length > 0? " or ": " and (") + " Perfil=" + vp_rs["Perfil"].ToString();
                }
                if (strFiltro.Length > 0)
                {
                    strFiltro = strFiltro + ")";
                }
            }
            vp_rs.Dispose();
            cnn.Dispose();
            return(strFiltro);
        }
예제 #4
0
        public int Listar(byte OmitirAdmin, string vTipo, ref string strJSON)
        {
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strConSql;

            //generar consulta SQL
            strFiltro = "";
            if (OmitirAdmin > 0)
            {
                strFiltro = strFiltro + " and Tipo<>'Admin'";
            }
            if (vTipo.Length > 0)
            {
                strFiltro = strFiltro + " and Tipo=" + Helper.strSql(vTipo);
            }
            strConSql = "SELECT Tipo,Codigo,Padre,Descripcion,Origen,Catalogo,EsPermiso,Orden FROM [" + Tabla + "] WHERE len(Codigo)>0" + strFiltro + " ORDER BY " + (vTipo.Length > 0? "Orden" : "Tipo,Codigo");

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = strConSql;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
        public int Consultar(int vUsuario, int vPerfil, short vTipo, ref JObject objJSON)
        {
            //IDataReader Registro;
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strJSON = "";
            string strConsulta;

            //generar consulta SQL
            strFiltro = "";
            strFiltro = strFiltro + " and Usuario=" + vUsuario;
            strFiltro = strFiltro + " and Perfil=" + vPerfil;
            if (vTipo > 0)
            {
                strFiltro = strFiltro + " and Tipo=" + vTipo;
            }
            strConsulta = "SELECT Id,Usuario,Perfil,Tipo,Catalogo,Posicion,Codigo,Descripcion,Valor,EsPred,Padre,Cuenta FROM [" + Tabla + "] WHERE Id>0" + strFiltro + " ORDER BY Tipo,Posicion";

            //obtener registros
            Count = 0;
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.RStoJSON(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            Helper.validarJSON(strJSON, ref objJSON);
            return(Count);
        }
예제 #6
0
        public IDataReader Listar(int vCatalogo, int vIdPadre, string vDescripcion)
        {
            var    cnn = new Conexion();
            string strFiltro;
            string strConsulta;

            //generar consulta SQL
            strFiltro = " WHERE Catalogo=" + vCatalogo;
            if (vIdPadre > 0)
            {
                strFiltro = strFiltro + " and IdPadre=" + vIdPadre;
            }
            if (vDescripcion.Length > 0)
            {
                strFiltro = strFiltro + " and Descripcion LIKE " + cnn.nSt(vDescripcion);
            }
            strConsulta = "SELECT Descripcion, Codigo, Id, Password, Nivel, IdPadre, Activo FROM [" + Tabla + "]" + strFiltro + " ORDER BY Descripcion";

            //obtener registros
            cnn.Conectar();
            IDataReader Registro = cnn.AbreSQL(strConsulta);

            cnn.Dispose();
            return(Registro);
        }
        public int Listar(short vCatalogo, string vDescripcion, ref string strJSON)
        {
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strConsulta;

            //generar consulta SQL
            strFiltro = "";
            if (vDescripcion.Length > 0)
            {
                strFiltro = strFiltro + " and Descripcion LIKE " + Helper.nSt(vDescripcion);
            }
            strConsulta = "SELECT Descripcion,Codigo FROM [" + Tabla + "] WHERE Catalogo=" + vCatalogo + strFiltro + " ORDER BY Descripcion";

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
        public int Consultar(int vUsuario, int vPerfil, string vTipo, ref JObject objJSON)
        {
            //IDataReader Registro;
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strJSON = "";
            string strConsulta;

            //generar consulta SQL
            strFiltro = "";
            strFiltro = strFiltro + " and Usuario=" + vUsuario;
            strFiltro = strFiltro + " and Perfil=" + vPerfil;
            if (vTipo.Length > 0)
            {
                strFiltro = strFiltro + " and Tipo=" + Helper.strSql(vTipo);
            }
            strConsulta = "SELECT Id,Usuario,Perfil,Tipo,Codigo,SoloLectura FROM [" + Tabla + "] WHERE Id>0" + strFiltro + " ORDER BY Tipo,Codigo";

            //obtener registros
            Count = 0;
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.RStoJSON(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            Helper.validarJSON(strJSON, ref objJSON);
            return(Count);
        }
        public int Listar(string vDescripcion, ref string strJSON)
        {
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strConsulta;

            //generar consulta SQL
            strFiltro   = "";
            strConsulta = "SELECT Moneda,Fecha,TipoDeCambio FROM [" + Tabla + "] WHERE Moneda>0" + strFiltro + " ORDER BY Moneda,Fecha";

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
        //------------------------------------------------
        //Este procedimiento habilita las nuevas opciones
        //a usuarios con perfil de administrador.
        //------------------------------------------------
        public void HabilitarOpciones(string vTipo, string vCodigo)
        {
            var         cnn = new Conexion();
            IDataReader Registro;
            int         vPerfil;
            string      strConSql;
            int         vId;
            string      c;
            string      v;

            try
            {
                vPerfil = -1;
                cnn.Conectar();

                //agregar opción a usuarios administrador
                strConSql = "SELECT d.Perfil, d.Usuario FROM SegCatalogosDetalle as d INNER JOIN SegCatalogos as p ON d.Perfil=p.Id WHERE p.Catalogo=3 and p.Nivel=1 ORDER BY d.Perfil, d.Usuario";
                cnn.SQL   = strConSql;
                Registro  = cnn.AbreSQL();
                if (cnn.Hay(Registro))
                {
                    while (Registro.Read())
                    {
                        if (vPerfil != (int)Helper.Val(Registro["Perfil"].ToString()))
                        {
                            //agregar opción al perfil
                            vId = Helper.Val(cnn.DameValor("SegCatalogosOpciones", "Usuario=0 and Perfil=" + Registro["Perfil"].ToString() + " and Tipo=" + Helper.strSql(vTipo) + " and Codigo=" + Helper.strSql(vCodigo), "Id"));
                            c   = "Id,0,9|Usuario|Perfil|Tipo,1|Codigo,1|SoloLectura";
                            v   = vId + "|0|" + Registro["Perfil"].ToString() + "|" + vTipo + "|" + vCodigo + "|0";
                            cnn.GuardarRegistro("SegCatalogosOpciones", c, v);
                            vPerfil = (int)Helper.Val(Registro["Perfil"].ToString());
                        }

                        //agregar opción al usuario
                        vId = Helper.Val(cnn.DameValor("SegCatalogosOpciones", "Usuario=" + Registro["Usuario"].ToString() + " and Perfil=" + Registro["Perfil"].ToString() + " and Tipo=" + Helper.strSql(vTipo) + " and Codigo=" + Helper.strSql(vCodigo), "Id"));
                        c   = "Id,0,9|Usuario|Perfil|Tipo,1|Codigo,1|SoloLectura";
                        v   = vId + "|" + Registro["Usuario"].ToString() + "|" + Registro["Perfil"].ToString() + "|" + vTipo + "|" + vCodigo + "|0";
                        cnn.GuardarRegistro("SegCatalogosOpciones", c, v);
                    }
                    Registro.Dispose();
                }
                cnn.Dispose();
            }
            catch (System.Data.Common.DbException ex)
            {
                Helper.showError(ex.Message);
            }
        }
예제 #11
0
        public int ConsultarPorFiltros(ref string strJSON)
        {
            int Count;
            var cnn = new Conexion();

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = "SELECT Fecha,Hora,FechaSistema,Usuario,Opcion,Accion,Pc,Version,Sucursal FROM [" + Tabla + "] " + Filtros + " ORDER BY Fecha,Hora,Usuario";
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
예제 #12
0
        public int ConsultarOpciones(int vUsuario, int vPerfil, string vTipo, ref JObject objJSON)
        {
            //IDataReader Registro;
            int    Count;
            var    cnn       = new Conexion();
            string strFiltro = "";
            string strJSON   = "";
            string strConsulta;

            cnn.Conectar();
            //if (cnn.ExisteRegistro("SegCatalogosOpciones", "Usuario=" + vUsuario + " and Perfil=" + vPerfil + " and Tipo='" + vTipo,""))
            //{
            //generar consulta SQL
            strFiltro = strFiltro + " and d.Usuario=" + vUsuario;
            strFiltro = strFiltro + " and d.Perfil=" + vPerfil;
            if (vTipo.Length > 0)
            {
                strFiltro = strFiltro + " and d.Tipo=" + Helper.strSql(vTipo);
            }
            strConsulta = "SELECT d.Tipo,d.Codigo,o.Padre,o.Descripcion,o.Origen,o.Catalogo,o.Orden,d.SoloLectura FROM SegCatalogosOpciones as d INNER JOIN SegOpciones as o ON (d.Tipo=o.Tipo) and (d.Codigo=o.Codigo) WHERE d.Id>0" + strFiltro + " ORDER BY o.Orden, d.Tipo, d.Codigo";
            //}
            //else
            //{
            //    strConsulta = "SELECT Tipo,Codigo,Padre,Descripcion,Orden,0 as SoloLectura FROM SegOpciones ORDER BY Orden,Tipo,Codigo";
            //}

            //obtener registros
            Count   = 0;
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.RStoJSON(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            Helper.validarJSON(strJSON, ref objJSON);
            return(Count);
        }
예제 #13
0
        public int Consultar(byte vCatalogo, int vIdRelacion, int vPosicion, string strJSON)
        {
            var    cnn = new Conexion();
            int    Count;
            string strFiltro;
            string strConSql;

            //generar consulta SQL
            strFiltro = " WHERE d.Catalogo=" + vCatalogo;
            if (vIdRelacion > 0)
            {
                strFiltro = strFiltro + " and d.IdRelacion=" + vIdRelacion;
            }
            if (vPosicion > 0)
            {
                strFiltro = strFiltro + " and d.Posicion=" + vPosicion;
            }

            strConSql = "SELECT d.Posicion, d.Tipo, catRequisitos.Descripcion, d.FechaAlta, d.Nombre, d.Extension, d.FechaMod, d.UsuarioMod" +
                        " FROM  sysAdjuntosRelacion as d LEFT JOIN catRequisitos ON d.Tipo=catRequisitos.Codigo" +
                        strFiltro +
                        " ORDER BY d.Posicion";

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = strConSql;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
        public int Consultar(byte TipoDeConsulta, int vUsuario, ref string strJSON)
        {
            int    Count;
            var    cnn = new Conexion();
            string strFiltro;
            string strConSql;

            //generar consulta SQL
            if (TipoDeConsulta == 0)
            {
                strFiltro = " WHERE d.Usuario=" + vUsuario;
                strConSql = "SELECT d.Perfil, p.Descripcion as PerfilDesc, d.ConVigencia, d.InicioVigencia, d.FinVigencia, d.Orden" +
                            " FROM  SegCatalogosDetalle as d LEFT JOIN SegCatalogos as p ON d.Perfil = p.Id" +
                            strFiltro + " ORDER BY d.Orden, d.Perfil";
            }
            else
            {
                strFiltro = " WHERE d.Usuario<>" + vUsuario;
                strConSql = "SELECT d.Usuario, u.Codigo, d.Perfil, p.Descripcion" +
                            " FROM (SegCatalogos as u INNER JOIN SegCatalogosDetalle as d ON u.Id=d.Usuario) LEFT JOIN SegCatalogos as p ON d.Perfil=p.Id" +
                            strFiltro + " ORDER BY u.Codigo, d.Usuario, d.Perfil";
            }

            //obtener registros
            strJSON = "";
            Count   = 0;
            cnn.Conectar();
            cnn.SQL = strConSql;
            IDataReader Registro = cnn.AbreSQL();

            if (cnn.Hay(Registro))
            {
                strJSON = Json.ReaderToJson(Registro, ref Count);
                Registro.Dispose();
            }
            cnn.Dispose();
            return(Count);
        }
        public IDataReader Listar(int vUsuario, int vPerfil, short vTipo)
        {
            var    cnn = new Conexion();
            string strFiltro;
            string strConsulta;

            //generar consulta SQL
            strFiltro = "";
            strFiltro = strFiltro + " and Usuario=" + vUsuario;
            strFiltro = strFiltro + " and Perfil=" + vPerfil;
            if (vTipo > 0)
            {
                strFiltro = strFiltro + " and Tipo=" + vTipo;
            }
            strConsulta = "SELECT Id,Usuario,Perfil,Tipo,Catalogo,Posicion,Codigo,Descripcion,Valor,EsPred,Padre,Cuenta FROM [" + Tabla + "] WHERE Id>0" + strFiltro + " ORDER BY Tipo,Posicion";

            //obtener registros
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            cnn.Dispose();
            return(Registro);
        }
        public IDataReader Listar(int vUsuario, int vPerfil, string vTipo)
        {
            var    cnn = new Conexion();
            string strFiltro;
            string strConsulta;

            //generar consulta SQL
            strFiltro = "";
            strFiltro = strFiltro + " and Usuario=" + vUsuario;
            strFiltro = strFiltro + " and Perfil=" + vPerfil;
            if (vTipo.Length > 0)
            {
                strFiltro = strFiltro + " and Tipo=" + Helper.strSql(vTipo);
            }
            strConsulta = "SELECT Id,Usuario,Perfil,Tipo,Codigo,SoloLectura FROM [" + Tabla + "] WHERE Id>0" + strFiltro + " ORDER BY Tipo,Codigo";

            //obtener registros
            cnn.Conectar();
            cnn.SQL = strConsulta;
            IDataReader Registro = cnn.AbreSQL();

            cnn.Dispose();
            return(Registro);
        }