Esempio n. 1
0
        public HttpResponseMessage XLS_TABLA(int cc, string re, string em)
        {
            var salida = new List <dynamic>();
            List <AsignacionEntity> asigs = AsignacionData.ObtenerEntidadesByEjecutivoE(re, cc, em);

            DataTable dt = new DataTable();

            dt.Columns.Add("RutAfiliado", typeof(string));
            dt.Columns.Add("DvAfiliado", typeof(string));
            dt.Columns.Add("NombreAfiliado", typeof(string));

            List <Columna> columns = new List <Columna>();

            columns.Add(new Columna("RutAfiliado", "Rut Afiliado"));
            columns.Add(new Columna("DvAfiliado", "Dv Afiliado"));
            columns.Add(new Columna("NombreAfiliado", "Nombre Afiliado"));


            asigs.ForEach(asg => {
                EntidadEntity ent           = EntidadData.ObtenerPorID(asg.RutEntidad);
                GestionEntity UltimaGestion = GestionData.ObtenerEntidades().FindAll(d => d.CodAsignacion == asg.CodAsignacion).OrderByDescending(f => f.FechaAccion).FirstOrDefault();


                DataRow dr           = dt.NewRow();
                dr["RutAfiliado"]    = asg.RutEntidad;
                dr["DvAfiliado"]     = ent.DvEntidad;
                dr["NombreAfiliado"] = ent.NombreEntidad;


                AttrvaloresData.ObtenerEntidadesByAsig(asg.CodAsignacion).ForEach(attrv => {
                    if (attrv.CodAttr != "FechaResolucion" && attrv.CodAttr != "Prioridad" && attrv.CodAttr != "Observacion")
                    {
                        if (!dt.Columns.Contains(attrv.CodAttr))
                        {
                            dt.Columns.Add(attrv.CodAttr, typeof(string));
                            columns.Add(new Columna(attrv.CodAttr, AtributoData.ObtenerPorID(attrv.CodAttr).Etiqueta));
                        }
                        dr[attrv.CodAttr] = attrv.ValorAttr;
                    }
                });

                if (!dt.Columns.Contains("NotaEjecutivo"))
                {
                    dt.Columns.Add("NotaEjecutivo", typeof(string));
                    columns.Add(new Columna("NotaEjecutivo", "Documentación Faltante"));
                }
                dr["NotaEjecutivo"] = (UltimaGestion != null) ? UltimaGestion.NotaGestion.Replace("\n", ";").Replace("\t", " ").Replace("\r", ";") : "Sin Gestión";

                dt.Rows.Add(dr);
            });

            byte[] filecontent = ExcelExportHelper.ExportExcel(dt, "Documentación Faltante.", false, columns.ToArray());


            HttpResponseMessage response = new HttpResponseMessage();
            Stream stri = new MemoryStream(filecontent);

            response.Content = new StreamContent(stri);
            response.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
            response.Content.Headers.ContentDisposition.FileName = "Documentacion_Pendiente_SIL.xlsx";
            response.Content.Headers.ContentType   = new MediaTypeHeaderValue(ExcelExportHelper.ExcelContentType);
            response.Content.Headers.ContentLength = stri.Length;

            return(response);
        }