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)); }
public static List <YearsDTO> BuscarHistoricoVSVentas(HistoricoVentasConsulta model, string tkn) { AgenteServicio agenteServico = new AgenteServicio(); agenteServico.GetVentasTotales(model, tkn); return(agenteServico._ListYears); }
public static string GetJson(HistoricoVentasConsulta modelo, string tkn) { AgenteServicio agenteServico = new AgenteServicio(); agenteServico.GetJson(modelo, tkn); return(agenteServico._Json); }
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)); }
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)); }
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); }