Beispiel #1
0
        public List <CatalogosBE> getCatSelection(int IdCatGeneral, int IdSubCatalogo, Int64 App)
        {
            try
            {
                linqIELDataBaseDataContext dboSegLatino = new linqIELDataBaseDataContext();

                List <CatalogosBE> ListaCatalogo = new List <CatalogosBE>();
                CatalogosBE        items         = new CatalogosBE();

                ////Obtenemos el catalogo especifico por id
                var lnqgetCat = (from c in dboSegLatino.CAT_GRALs
                                 where c.IDCATGRAL == IdCatGeneral
                                 select new
                {
                    IDCATGRAL = c.IDCATGRAL,
                    NOMBRETABLA = c.NOMBRETABLA,
                    IDTABLA = c.IDTABLA,
                    DESCRIPCIONTABLA = c.DESCRIPCIONTABLA,
                    IDFILTRO = c.IDFILTRO,
                }).ToList();

                Cat_GralsBE CatGrasl = new Cat_GralsBE();
                foreach (var a in lnqgetCat)
                {
                    CatGrasl.IDCATGRAL        = a.IDCATGRAL;
                    CatGrasl.NOMBRETABLA      = a.NOMBRETABLA;
                    CatGrasl.IDTABLA          = a.IDTABLA;
                    CatGrasl.DESCRIPCIONTABLA = a.DESCRIPCIONTABLA;
                    CatGrasl.IDFILTRO         = a.IDFILTRO;
                }


                ////Obtenemos finalmente el catalogo

                StringBuilder sComando = new StringBuilder(string.Empty);
                sComando.Append("SELECT CONVERT(VARCHAR(250),");
                sComando.Append(CatGrasl.IDTABLA); sComando.Append(") AS ID,");
                sComando.Append("CONVERT(VARCHAR(250),");
                sComando.Append(CatGrasl.DESCRIPCIONTABLA); sComando.Append(")");
                sComando.Append(" AS DESCRIPCION");
                sComando.Append(" FROM ");
                sComando.Append(CatGrasl.NOMBRETABLA);

                if (!string.IsNullOrEmpty(CatGrasl.IDFILTRO) && IdSubCatalogo != 0)
                {
                    sComando.Append(" WHERE ");
                    sComando.Append(CatGrasl.IDFILTRO);
                    sComando.Append("='");
                    sComando.Append(IdSubCatalogo);
                    sComando.Append("' AND ACTIVO = 1 ");
                }
                else
                {
                    sComando.Append(" WHERE ACTIVO = 1 ");
                }

                var lnqConsulta = dboSegLatino.ExecuteQuery <CatalogosBE>(sComando.ToString());
                List <CatalogosBE> ListCatalogo = new List <CatalogosBE>();

                foreach (var a in lnqConsulta)
                {
                    CatalogosBE item = new CatalogosBE();
                    item.ID          = a.ID.ToString();
                    item.DESCRIPCION = a.DESCRIPCION.ToUpper();
                    ListaCatalogo.Add(item);
                }
                lnqConsulta = null;
                List <CatalogosBE> ListaGrlSort = ListaCatalogo.OrderBy(x => x.DESCRIPCION).ThenBy(x => x.DESCRIPCION).ToList();
                CatalogosBE        lista        = new CatalogosBE();
                lista.ID          = "0";
                lista.DESCRIPCION = "[SELECCIONE UNA OPCIÓN]";
                ListaGrlSort.Insert(0, lista);

                return(ListaGrlSort);
            }
            catch (Exception ex)
            {
                StackTrace st      = new StackTrace(true);
                CommonDA   ComunDA = new CommonDA();
                ComunDA.insErrorDB("Error: " + ex.Message + " En El Metodo: " + MethodBase.GetCurrentMethod().Name, st, "", App.ToString());
                throw new Exception(ex.Message);
            }
        }