private void LeerArticulos(CedForecastEntidades.FamiliaArticulo FamiliaArticulo)
 {
     DataTable dt = new DataTable();
     System.Text.StringBuilder a = new StringBuilder();
     a.Append("select IdArticulo from ArticuloInfoAdicional where IdFamiliaArticulo='" + FamiliaArticulo.Id + "' order by IdArticulo");
     dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     FamiliaArticulo.Articulos.Clear();
     if (dt.Rows.Count != 0)
     {
         List<CedForecastEntidades.Bejerman.Articulos> articulos = new CedForecastDB.Bejerman.Articulos(sesion).LeerLista();
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             CedForecastEntidades.Articulo elemento = new CedForecastEntidades.Articulo();
             elemento.Id = Convert.ToString(dt.Rows[i]["IdArticulo"]);
             CedForecastEntidades.Bejerman.Articulos articulo = articulos.Find(delegate(CedForecastEntidades.Bejerman.Articulos c) { return c.Art_CodGen == Convert.ToString(dt.Rows[i]["IdArticulo"]); });
             if (articulo == null)
             {
                 elemento.Descr = "<<<Desconocido>>>";
             }
             else
             {
                 elemento.Descr = articulo.Art_DescGen;
             }
             elemento.Familia = FamiliaArticulo;
             FamiliaArticulo.Articulos.Add(elemento);
         }
     }
 }
 public List<CedForecastEntidades.Articulo> LeerListaXFamilia(string ListaFamilias)
 {
     List<CedForecastEntidades.Articulo> lista = new List<CedForecastEntidades.Articulo>();
     if (ListaFamilias != String.Empty)
     {
         DataTable dt = new DataTable();
         System.Text.StringBuilder a = new StringBuilder();
         a.Append("select ArticuloInfoAdicional.IdArticulo, ArticuloInfoAdicional.IdFamiliaArticulo, FamiliaArticulo.DescrFamiliaArticulo ");
         a.Append("from ArticuloInfoAdicional, FamiliaArticulo ");
         a.Append("where ArticuloInfoAdicional.IdFamiliaArticulo=FamiliaArticulo.IdFamiliaArticulo collate database_default ");
         a.Append("and ArticuloInfoAdicional.IdFamiliaArticulo in (" + ListaFamilias.ToString() + ") ");
         a.Append("order by FamiliaArticulo.DescrFamiliaArticulo, ArticuloInfoAdicional.IdArticulo ");
         dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
         if (dt.Rows.Count != 0)
         {
             List<CedForecastEntidades.Bejerman.Articulos> articulos = new CedForecastDB.Bejerman.Articulos(sesion).LeerLista();
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 CedForecastEntidades.Articulo elemento = new CedForecastEntidades.Articulo();
                 elemento.Id = Convert.ToString(dt.Rows[i]["IdArticulo"]);
                 CedForecastEntidades.Bejerman.Articulos articulo = articulos.Find(delegate(CedForecastEntidades.Bejerman.Articulos c) { return c.Art_CodGen == Convert.ToString(dt.Rows[i]["IdArticulo"]); });
                 if (articulo == null)
                 {
                     elemento.Descr = "<<<Desconocido>>>";
                 }
                 else
                 {
                     elemento.Descr = articulo.Art_DescGen;
                 }
                 elemento.Familia = new CedForecastEntidades.FamiliaArticulo();
                 elemento.Familia.Id = Convert.ToString(dt.Rows[i]["IdFamiliaArticulo"]);
                 elemento.Familia.Descr = Convert.ToString(dt.Rows[i]["DescrFamiliaArticulo"]);
                 lista.Add(elemento);
             }
         }
     }
     return lista;
 }
 public List<CedForecastEntidades.Articulo> LeerArticulosSinFamilia()
 {
     List<CedForecastEntidades.Articulo> lista = new List<CedForecastEntidades.Articulo>();
     System.Text.StringBuilder a = new StringBuilder();
     a.Append("select distinct(IdArticulo) as Articulo from Forecast where IdArticulo collate database_default not in (select IdArticulo from ArticuloInfoAdicional) ");
     DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<CedForecastEntidades.Bejerman.Articulos> articulos = new CedForecastDB.Bejerman.Articulos(sesion).LeerListaConPrecios(dt);
     for (int i = 0; i < dt.Rows.Count; i++)
     {
         CedForecastEntidades.Articulo elemento = new CedForecastEntidades.Articulo();
         elemento.Id = Convert.ToString(dt.Rows[i]["Articulo"]);
         CedForecastEntidades.Bejerman.Articulos articulo = articulos.Find(delegate(CedForecastEntidades.Bejerman.Articulos c) { return c.Art_CodGen == Convert.ToString(dt.Rows[i]["Articulo"]); });
         if (articulo == null)
         {
             elemento.Descr = Convert.ToString("<<<Desconocido>>>");
         }
         else
         {
             elemento.Descr = Convert.ToString(articulo.Art_DescGen);
         }
         lista.Add(elemento);
     }
     return lista;
 }