private void InitializarReclamaciones(ReclamacionesReportViewModel reclamacionesReport) { List <ReclamacionReportViewModel> reclamaciones = new List <ReclamacionReportViewModel>(); db.Reclamacions .Include(q => q.Cliente) .Include(q => q.Empleado) .Include(q => q.Sucursal) .Include(q => q.Departamento) .Include(q => q.Tipo_Reclamacion) .Include(q => q.Estado_QR) .ToList().ForEach( q => { ReclamacionReportViewModel tempReclamacion = new ReclamacionReportViewModel(); tempReclamacion.Numero = q.QRID.GetValueOrDefault(); tempReclamacion.Fecha = q.Fecha.GetValueOrDefault(); tempReclamacion.Cliente = q.Cliente?.Nombre + " " + q.Cliente?.Apellido; tempReclamacion.Departamento = q.Departamento?.Nombre; tempReclamacion.Sucursal = q.Sucursal?.Nombre; tempReclamacion.Empleado = q.Empleado?.Nombre + " " + q.Empleado?.Apellido; tempReclamacion.Estado = q.Estado_QR?.Descripcion; tempReclamacion.Tipo = q.Tipo_Reclamacion?.Descripcion; tempReclamacion.Comentario = q.Comentario; reclamaciones.Add(tempReclamacion); } ); reclamacionesReport.Reclamaciones = reclamaciones; }
public ActionResult ExportReclamaciones() { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using (ExcelPackage Ep = new ExcelPackage()) { ReclamacionesReportViewModel reclamacionesReport = InitializarReclamacionesReportViewModel(); ExcelWorksheet Sheet = Ep.Workbook.Worksheets.Add("Report"); Sheet.Cells["A1"].Value = "Número de reclamacion"; Sheet.Cells["B1"].Value = "Fecha"; Sheet.Cells["C1"].Value = "Cliente"; Sheet.Cells["D1"].Value = "Departamento"; Sheet.Cells["E1"].Value = "Sucursal"; Sheet.Cells["F1"].Value = "Empleado"; Sheet.Cells["G1"].Value = "Estado"; Sheet.Cells["H1"].Value = "Tipo de reclamacion"; Sheet.Cells["I1"].Value = "Comentario"; int row = 2; foreach (var item in reclamacionesReport.Reclamaciones) { Sheet.Cells[string.Format("A{0}", row)].Value = item.Numero; Sheet.Cells[string.Format("B{0}", row)].Value = item.Fecha; Sheet.Cells[string.Format("C{0}", row)].Value = item.Cliente; Sheet.Cells[string.Format("D{0}", row)].Value = item.Departamento; Sheet.Cells[string.Format("E{0}", row)].Value = item.Sucursal; Sheet.Cells[string.Format("F{0}", row)].Value = item.Empleado; Sheet.Cells[string.Format("G{0}", row)].Value = item.Estado; Sheet.Cells[string.Format("H{0}", row)].Value = item.Tipo; Sheet.Cells[string.Format("I{0}", row)].Value = item.Comentario; row++; } row++; Sheet.Cells[string.Format("A{0}", row)].Value = "Estado"; Sheet.Cells[string.Format("B{0}", row)].Value = "Cantidad"; Sheet.Cells[string.Format("C{0}", row)].Value = "Porcentaje"; foreach (var item in reclamacionesReport.Estados) { Sheet.Cells[string.Format("A{0}", row)].Value = item.Estado; Sheet.Cells[string.Format("B{0}", row)].Value = item.Cantidad; Sheet.Cells[string.Format("C{0}", row)].Value = string.Format("{0}%", item.Porcentaje); row++; } Sheet.Cells["A:AZ"].AutoFitColumns(); var stream = new MemoryStream(); Ep.SaveAs(stream); string fileName = "ReclamacionesReport.xlsx"; string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; stream.Position = 0; return(File(stream, contentType, fileName)); } }
private ReclamacionesReportViewModel InitializarReclamacionesReportViewModel() { ReclamacionesReportViewModel reclamacionesReport = new ReclamacionesReportViewModel(); InitializarReclamaciones(reclamacionesReport); InitializarEstadosReclamaciones(reclamacionesReport); return(reclamacionesReport); }
private void InitializarEstadosReclamaciones(ReclamacionesReportViewModel reclamacionesReport) { int totalQR = db.Reclamacions.Count(); List <EstadoViewModel> estados = new List <EstadoViewModel>(); db.Estado_QRs.ToList().ForEach( e => { EstadoViewModel tempEstado = new EstadoViewModel(); tempEstado.Estado = e.Descripcion; tempEstado.Cantidad = db.Reclamacions.Count(q => q.Estado_QR_EstadoID == e.EstadoID); tempEstado.Porcentaje = getPorcentaje((decimal)tempEstado.Cantidad, (decimal)totalQR); estados.Add(tempEstado); } ); reclamacionesReport.Estados = estados; }
public ActionResult Reclamaciones() { ReclamacionesReportViewModel reclamacionesReport = InitializarReclamacionesReportViewModel(); return(View(reclamacionesReport)); }