protected void ExportarRanking(object sender, EventArgs e)
        {
            Int32                  idMeta     = Convert.ToInt32(this.idMeta.Value);
            DateTime               Fecha      = Convert.ToDateTime(this.FechaRanking.Value);
            wsCobranzas            ws         = new wsCobranzas();
            List <otMetasOperador> Resultados = ws.Ranking_lst(idMeta, Fecha);
            String                 Meta;

            using (CobranzasDataContext db = new CobranzasDataContext())
            {
                Meta = db.Metas.Single(x => x.idMeta == idMeta).Nombre;
            }
            Response.Clear();
            Response.BinaryWrite(System.Text.UTF8Encoding.UTF8.GetPreamble());
            Response.Write("Ranking de " + Meta + " Desde:" + Fecha + "\r\n");
            Response.Write(Resources.Recursos.Operator + ";" +
                           Resources.Recursos.Goal + ";" +
                           Resources.Recursos.Real + ";" +
                           Resources.Recursos.Percent + "\r\n");

            foreach (otMetasOperador Result in Resultados)
            {
                Response.Write(
                    Result.Operador.ToCSV() + ";" +
                    Result.Meta + ";" +
                    Result.Real + ";" +
                    Result.Porc + "\r\n"
                    );
            }
            Response.AddHeader("Content-disposition", "attachment;FileName=\"Ranking.csv\"");
            Response.AddHeader("content-type", "text/csv");
            Response.End();
        }
Ejemplo n.º 2
0
        protected void btnExportar_Click(object sender, EventArgs e)
        {
            Response.Clear();

            List <Int32> idMetas = selMetas.Value.Split(',').Select(x => Convert.ToInt32(x)).ToList();
            DateTime     Fecha   = Convert.ToDateTime(dtpFecha.Value);

            //Encabezado
            Response.BinaryWrite(System.Text.UTF8Encoding.UTF8.GetPreamble());
            String Encabezado = Resources.Recursos.Operator;
            String Principal  = Encabezado;
            String Enc        = ";" + Resources.Recursos.Goal +
                                ";" + Resources.Recursos.Amount +
                                ";" + Resources.Recursos.Effectiveness;

            using (CobranzasDataContext db = new CobranzasDataContext())
            {
                foreach (int idMeta in idMetas)
                {
                    Encabezado += Enc;
                    Principal  += ";" + db.Metas.Single(x => x.idMeta == idMeta).Nombre + ";;";
                }
            }
            Encabezado += "\r\n";
            Principal  += "\r\n";
            Response.Write(Principal);
            Response.Write(Encabezado);
            //Resultados
            wsCobranzas ws = new wsCobranzas();
            List <List <OT.otMetasOperador> > Rankings = new List <List <OT.otMetasOperador> >();
            List <String> Operadores = new List <string>();

            foreach (int idMeta in idMetas)
            {
                List <OT.otMetasOperador> Ranking = ws.Ranking_lst(idMeta, Fecha);
                Operadores.AddRange(Ranking.Select(x => x.Operador));
                Rankings.Add(Ranking);
            }
            Operadores = Operadores.Distinct().ToList();
            foreach (String Operador in Operadores)
            {
                Response.Write(Operador);
                foreach (List <OT.otMetasOperador> Ranking in Rankings)
                {
                    OT.otMetasOperador MO = Ranking.Single(x => x.Operador == Operador);
                    Response.Write(";" + MO.Meta.ToString() + ";" + MO.Real.ToString() + ";" + MO.Porc.ToString());
                }
                Response.Write("\r\n");
            }
            Response.AddHeader("Content-disposition", "attachment;FileName=\"Ranking.csv\"");
            Response.AddHeader("content-type", "text/csv");
            Response.End();
        }