Exemplo n.º 1
0
    private List GenerarMesesConComentarios(List CurrentList)
    {
        Hashtable MesesConComentarios = new Hashtable();
        Hashtable MesesSinComentarios = new Hashtable();

        List ItemComentarioList    = new List(false, 20);
        List ItemSinComentarioList = new List(false, 20);


        DateTime Fecha = Convert.ToDateTime("01/" + cboPeriodos.SelectedItem.Text.Substring(5, 2) + "/" + cboPeriodos.SelectedItem.Text.Substring(0, 4));

        DSConosudTableAdapters.ConsultaItemConDocTableAdapter TAHoja = new DSConosudTableAdapters.ConsultaItemConDocTableAdapter();
        DSConosud.ConsultaItemConDocDataTable DTHoja = TAHoja.GetDataItemConDoc(Fecha, Convert.ToInt64(cboContratistas.SelectedItem.Value));



        foreach (DSConosud.ConsultaItemConDocRow row in DTHoja.Rows)
        {
            if (!MesesConComentarios.ContainsKey(row.Periodo))
            {
                MesesConComentarios.Add(row.Periodo, new List(false, 20));
                MesesSinComentarios.Add(row.Periodo, new List(false, 20));
            }
        }


        foreach (DSConosud.ConsultaItemConDocRow row in DTHoja.Rows)
        {
            if (row.Comentario == "")
            {
                ((List)MesesSinComentarios[row.Periodo]).Add(new iTextSharp.text.ListItem(row.Descripcion));
            }
            else
            {
                ((List)MesesConComentarios[row.Periodo]).Add(new iTextSharp.text.ListItem(row.Descripcion));


                List ComentarioList = new List(false, 10);
                Font font           = new Font();
                font       = FontFactory.GetFont("Verdana", 8);
                font.Color = BaseColor.LIGHT_GRAY;
                ComentarioList.ListSymbol = new Chunk("");
                ComentarioList.Add(new iTextSharp.text.ListItem(row.Comentario, font));

                ((List)MesesConComentarios[row.Periodo]).Add(ComentarioList);
            }
        }



        foreach (DateTime mesActual in MesesConComentarios.Keys)
        {
            List Meses = new List(false, 20);
            Meses.Add(new iTextSharp.text.ListItem(string.Format("{0:MMMM} del {0:yyyy} - Con Comentarios", mesActual)));
            Meses.Add((IElement)MesesConComentarios[mesActual]);
            CurrentList.Add(Meses);
        }

        foreach (DateTime mesActual in MesesConComentarios.Keys)
        {
            List Meses = new List(false, 20);
            Meses.Add(new iTextSharp.text.ListItem(string.Format("{0:MMMM} del {0:yyyy} - Sin Documentación", mesActual)));
            Meses.Add((IElement)MesesSinComentarios[mesActual]);
            CurrentList.Add(Meses);
        }


        return(CurrentList);
    }
    private List GenerarMesesConComentarios(List CurrentList, Int64 id, out bool CargoElementos)
    {
        Hashtable MesesConComentarios = new Hashtable();
        Hashtable MesesSinComentarios = new Hashtable();

        List ItemComentarioList    = new List(false, 20);
        List ItemSinComentarioList = new List(false, 20);


        DateTime Fecha = Convert.ToDateTime("01/" + cboPriodosAjax.SelectedItem.Text.Substring(5, 2) + "/" + cboPriodosAjax.SelectedItem.Text.Substring(0, 4));

        DSConosudTableAdapters.ConsultaItemConDocTableAdapter TAHoja = new DSConosudTableAdapters.ConsultaItemConDocTableAdapter();
        DSConosud.ConsultaItemConDocDataTable DTHoja = TAHoja.GetDataCurrentItemConDoc(Fecha, id);


        if (DTHoja.Rows.Count > 0)
        {
            foreach (DSConosud.ConsultaItemConDocRow row in DTHoja.Rows)
            {
                if (!MesesConComentarios.ContainsKey(row.Periodo))
                {
                    MesesConComentarios.Add(row.Periodo, new List(false, 20));
                    MesesSinComentarios.Add(row.Periodo, new List(false, 20));
                }
            }


            foreach (DSConosud.ConsultaItemConDocRow row in DTHoja.Rows)
            {
                if (row.Comentario == "")
                {
                    ((List)MesesSinComentarios[row.Periodo]).Add(new iTextSharp.text.ListItem(row.Descripcion));
                }
                else
                {
                    string cadenaDescriptiva = row.Descripcion;
                    cadenaDescriptiva += "- Ultima Presentación: " + row.DocFechaEntrega.ToShortDateString();

                    ((List)MesesConComentarios[row.Periodo]).Add(new iTextSharp.text.ListItem(cadenaDescriptiva));

                    List ComentarioList = new List(false, 10);
                    Font font           = new Font();
                    font       = FontFactory.GetFont("Verdana", 8);
                    font.Color = BaseColor.LIGHT_GRAY;
                    ComentarioList.ListSymbol = new Chunk("");
                    ComentarioList.Add(new iTextSharp.text.ListItem(row.Comentario, font));

                    ((List)MesesConComentarios[row.Periodo]).Add(ComentarioList);
                }
            }



            foreach (DateTime mesActual in MesesConComentarios.Keys)
            {
                List Meses = new List(false, 20);
                Meses.Add(new iTextSharp.text.ListItem("ITEMS CON COMENTARIOS"));
                Meses.Add((IElement)MesesConComentarios[mesActual]);
                CurrentList.Add(Meses);
            }

            foreach (DateTime mesActual in MesesConComentarios.Keys)
            {
                List Meses = new List(false, 20);
                Meses.Add(new iTextSharp.text.ListItem("ITEMS SIN COMENTARIOS"));
                Meses.Add((IElement)MesesSinComentarios[mesActual]);
                CurrentList.Add(Meses);
            }

            CargoElementos = true;
        }
        else
        {
            CargoElementos = false;
        }

        return(CurrentList);
    }