Example #1
0
        public ActionResult HistoricoVentas(int?page, HistoricoVentasConsulta model = null)
        {
            if (Session["StringToken"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            tkn = Session["StringToken"].ToString();

            if (TempData["year"] != null)
            {
                model.Years      = (List <YearsDTO>)TempData["year"];
                TempData["year"] = model.Years;
            }
            else
            {
                //List<YearsDTO> listYears = ObtenerAños();
                model.Years = HistoricoServicio.GetYears(tkn);
            }
            ViewBag.json = TempData["json"];
            if (TempData["RespuestaDTO"] != null)
            {
                var Respuesta = (RespuestaDTO)TempData["RespuestaDTO"];
                if (Respuesta.Exito)
                {
                    ViewBag.Msj = Respuesta.Mensaje;
                }
                else
                {
                    ViewBag.MensajeError = Validar(Respuesta);
                }
            }
            return(View(model));
        }
Example #2
0
        public static List <YearsDTO> BuscarHistoricoVSVentas(HistoricoVentasConsulta model, string tkn)
        {
            AgenteServicio agenteServico = new AgenteServicio();

            agenteServico.GetVentasTotales(model, tkn);
            return(agenteServico._ListYears);
        }
Example #3
0
        public static string GetJson(HistoricoVentasConsulta modelo, string tkn)
        {
            AgenteServicio agenteServico = new AgenteServicio();

            agenteServico.GetJson(modelo, tkn);
            return(agenteServico._Json);
        }
Example #4
0
 public ActionResult HistoricoVsVentas(HistoricoVentasConsulta model = null)
 {
     if (Session["StringToken"] == null)
     {
         return(RedirectToAction("Index", "Home"));
     }
     tkn = Session["StringToken"].ToString();
     if (TempData["DataSource"] != null)
     {
         TempData["DataSource"] = null;
     }
     if (TempData["year"] != null)
     {
         model.Years = (List <YearsDTO>)TempData["year"];
     }
     if (model.Years == null)
     {
         TempData["year"] = model.Years = HistoricoServicio.GetYears(tkn);
     }
     if (model != null && model.Years.Exists(x => x.Seleccionar))
     {
         ViewData["Reporte"]    = TiposReporteConst.HistoricoVsVentas;
         TempData["DataSource"] = ReporteServicio.BuscarHistoricoVSVentas(model, tkn);
         TempData["json"]       = HistoricoServicio.GetJson(model, tkn);
     }
     return(View(model));
 }
Example #5
0
        public ActionResult ObtenerJsonGrf(HistoricoVentasConsulta modelo = null)
        {
            if (Session["StringToken"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            tkn = Session["StringToken"].ToString();
            string res = HistoricoServicio.GetJson(modelo, tkn);

            //TempData["json"] = HttpUtility.JavaScriptStringEncode(res);
            TempData["json"] = res;

            var temp = JsonConvert.DeserializeObject <JsonDTO>(res);

            TempData["data"]  = temp.data;
            TempData["meses"] = temp.labels;
            TempData["year"]  = modelo.Years;
            return(RedirectToAction("HistoricoVentas", modelo));
        }
Example #6
0
        public ActionResult GenerarExcel(HistoricoVentasConsulta modelo = null)
        {
            if (Session["StringToken"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            tkn = Session["StringToken"].ToString();
            ExcelPackage sLDocument = new ExcelPackage();

            modelo.Years     = (List <YearsDTO>)TempData["year"];
            TempData["year"] = modelo.Years;

            var             worksheet  = sLDocument.Workbook.Worksheets.Add("Ventas Generales");
            var             datos      = (List <object>)TempData["data"];
            var             mes        = (List <string>)TempData["meses"];
            List <YearsDTO> Montototal = HistoricoServicio.GetVentasTotalesxMes(modelo, tkn);
            string          pahtFile   = "";

            //create a new piechart of type Line
            ExcelBarChart lineChart = worksheet.Drawings.AddChart("BarChart", eChartType.ColumnClustered) as ExcelBarChart;

            if (modelo.IdTipoReporte == 1)
            {
                pahtFile = "VentasGeneral.xlsx";
                var rangeLabel = worksheet.Cells["B1:M1"];
                var rows       = 2;
                var rowsMes    = 2;
                for (int r = 0; r < datos.Count; r++)
                {
                    char[] charArray = datos[r].ToString().ToCharArray();
                    rows = rowsMes;

                    //create the ranges for the chart
                    var range1 = worksheet.Cells["B" + rows.ToString() + ":K" + rows.ToString()];
                    //add the ranges to the chart
                    lineChart.Series.Add(range1, rangeLabel);
                    if (charArray[6].Equals('y'))
                    {
                        worksheet.Cells[rows, 1].Value = charArray[11].ToString() + charArray[12].ToString() + charArray[13].ToString() + charArray[14].ToString();
                    }
                    lineChart.Series[r].Header = worksheet.Cells["A" + rows.ToString()].Value.ToString();
                    rows = 2;
                    for (int i = 0; i < mes.Count; i++)
                    {
                        char[] charMes = mes[i].ToCharArray();

                        string mesfila = "";

                        for (int x = 0; x < charMes.Length; x++)
                        {
                            mesfila = mesfila += charMes[x];
                        }

                        if (mesfila != "")
                        {
                            worksheet.Cells[1, rows].Value = mesfila;
                        }

                        for (int o = 0; o < Montototal[r].MesesVenta.Count; o++)
                        {
                            if (Montototal[r].MesesVenta[o].mes == mesfila)
                            {
                                worksheet.Cells[rowsMes, rows].Value = Montototal[r].MesesVenta[o].montoTotal;
                            }
                        }

                        rows++;
                    }
                    rowsMes++;
                }


                //set the title
                lineChart.Title.Text = "Venta General";
            }
            else
            {
                if (modelo.IdTipoReporte == 2)
                {
                    pahtFile = "PipasvsCamionetas.xlsx";
                }
                else
                {
                    pahtFile = "VentasLocalvsForaneas.xlsx";
                }


                var           rangeLabel = worksheet.Cells["B1:M1"];
                var           rowsMes    = 2;
                var           rowsaños   = 2;
                var           rowPipa    = 2;
                var           tempa      = "";
                var           rows       = 2;
                var           cont       = 0;
                List <string> rangelabe  = new List <string>();



                for (int r = 0; r < datos.Count; r++)
                {
                    char[] charArray = datos[r].ToString().ToCharArray();
                    var    m         = datos[r].ToString().Split('{');



                    foreach (var item in m)
                    {
                        var rowCamio = 1;

                        if (item != "")
                        {
                            var p = m[1].Split(',');
                            foreach (var prop in p)
                            {
                                var valores = prop.ToString().Split(':');
                                if (valores.ToList()[0].Contains("y"))
                                {
                                    //El mes y el año
                                    var    año  = valores[1].ToString().Split(' ').ToList()[2];
                                    char[] años = año.ToCharArray();

                                    if (tempa == "" || tempa != año)
                                    {
                                        for (int i = 0; i < mes.Count; i++)
                                        {
                                            var range1 = worksheet.Cells["B" + rowsaños.ToString() + ":K" + rowsaños.ToString()];
                                            worksheet.Cells[rowsaños, 1].Value = mes[i] + "-" + años[2] + años[3];
                                            rangelabe.Add(mes[i] + "-" + años[2] + años[3]);
                                            lineChart.Series.Add(range1, rangeLabel);
                                            rowsaños++;
                                        }

                                        if (tempa != "")
                                        {
                                            rows    = 2;
                                            cont   += 2;
                                            rowPipa = 2;
                                        }
                                    }

                                    if (r >= 3)
                                    {
                                        rowCamio += cont;
                                        //rowPipa++;
                                    }

                                    var    meses     = valores[1].ToString().Split(' ').ToList()[1];
                                    char[] tamañoMes = meses.ToCharArray();
                                    worksheet.Cells[1, rows].Value = meses.Substring(1, tamañoMes.Length - 1);

                                    rows++;
                                    tempa = año;
                                    //rowCamio++;
                                }

                                if (valores.ToList()[0].Contains("a"))
                                {
                                    //Ventas de Cmaionetas
                                    var    sumaCamioneta = valores[1].ToString().Split(' ').ToList()[1];
                                    char[] tamSuma       = sumaCamioneta.ToCharArray();


                                    if (tamSuma[1] == '0')
                                    {
                                        var doubleValue = Double.Parse(sumaCamioneta.Substring(1, tamSuma.Length - 2));
                                        worksheet.Cells[rowCamio, rowPipa].Value = doubleValue;
                                    }
                                    else
                                    {
                                        var doubleValue = Double.Parse(sumaCamioneta.Substring(1, tamSuma.Length - 2));
                                        worksheet.Cells[rowCamio, rowPipa].Value = doubleValue;
                                    }

                                    sumaCamioneta = "";
                                    //rowPipa++;
                                }

                                if (valores.ToList()[0].Contains("b"))
                                {
                                    //Ventas de Pipas

                                    var    sumaPipa  = valores[1].ToString().Split(' ').ToList()[1];
                                    char[] tamSumaPi = sumaPipa.ToCharArray();
                                    if (tamSumaPi[1] == '0')
                                    {
                                        var doubleValue = Double.Parse(sumaPipa.Substring(1, tamSumaPi.Length - 5));
                                        worksheet.Cells[rowCamio, rowPipa].Value = doubleValue;
                                    }
                                    else
                                    {
                                        var doubleValue = Double.Parse(sumaPipa.Substring(1, tamSumaPi.Length - 5));

                                        worksheet.Cells[rowCamio, rowPipa].Value = doubleValue;
                                    }
                                    sumaPipa = "";
                                }
                                rowCamio++;
                            }

                            rowPipa++;
                        }
                    }
                }

                for (int e = 0; e < rangelabe.Count(); e++)
                {
                    lineChart.Series[e].Header = worksheet.Cells["A" + rowsMes.ToString()].Value.ToString();
                    rowsMes++;
                }
                rangelabe = null;
                rowsaños++;
                //rowPipa = 2;
                //set the title
                if (modelo.IdTipoReporte == 2)
                {
                    lineChart.Title.Text = "PipasvsCamionetas";
                }
                else
                {
                    lineChart.Title.Text = "LocalvsForanea";
                }
            }

            //position of the legend
            lineChart.Legend.Position = eLegendPosition.Right;

            //size of the chart
            lineChart.SetSize(700, 600);

            //add the chart at cell B6
            lineChart.SetPosition(1, 0, 8, 0);

            //  FileInfo infor = new FileInfo(pahtFile);

            MemoryStream memoryStream = new MemoryStream();

            sLDocument.SaveAs(memoryStream);
            memoryStream.Position = 0;
            TempData["data"]      = datos;
            TempData["meses"]     = mes;

            return(new FileStreamResult(memoryStream, "application/vnd.ms-excel")
            {
                FileDownloadName = pahtFile
            });
            // Descraga(pahtFile, memoryStream);

            // return RedirectToAction("HistoricoVentas", modelo);
        }