コード例 #1
0
        public ActionResult VentasPorCategoria(DateTime fecha_inicio, DateTime fecha_fin)
        {
            List <ReporteCategoria> pedidos = new List <ReporteCategoria>();
            ReporteCategoria        pedidoTemporal;

            try
            {
                List <string> pedidosCategoria = bl.consultarCantidadPedidoPorCategoria(fecha_inicio, fecha_fin);
                for (int i = 0; i < pedidosCategoria.Count() - 1; i += 3)
                {
                    pedidoTemporal             = new ReporteCategoria();
                    pedidoTemporal.FechaInicio = fecha_inicio;
                    ViewBag.desde            = "desde";
                    ViewBag.hasta            = "hasta";
                    ViewBag.fechainicio      = fecha_inicio.ToString("yyyy-MM-dd");
                    pedidoTemporal.FechaFin  = fecha_fin;
                    ViewBag.fechafin         = fecha_fin.ToString("yyyy-MM-dd");
                    pedidoTemporal.Codigo    = pedidosCategoria.ElementAt(i);
                    pedidoTemporal.Categoria = pedidosCategoria.ElementAt(i + 1);
                    pedidoTemporal.Cantidad  = pedidosCategoria.ElementAt(i + 2);
                    pedidos.Add(pedidoTemporal);
                }
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", "Seleccione las fechas para generar el reporte");
            }


            return(View(pedidos));
        }
コード例 #2
0
 public IHttpActionResult Get()
 {
     try
     {
         List <rptCatV_Result> todos = ReporteCategoria.Get();
         return(Content(HttpStatusCode.OK, todos));
         //return Json(todos);
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.BadRequest, ex));
     }
 }
コード例 #3
0
 private void Imprimirbutton_Click(object sender, EventArgs e)
 {
     if (listado == null || listado.Count <= 0)
     {
         MyerrorProvider.Clear();
         MyerrorProvider.SetError(Imprimirbutton, "No hay datos para imprimir.");
         return;
     }
     else
     {
         if (listado.Count > 0)
         {
             ReporteCategoria reporte = new ReporteCategoria(listado);
             reporte.ShowDialog();
         }
         else
         {
             MyerrorProvider.Clear();
             MyerrorProvider.SetError(Imprimirbutton, "No hay datos para imprimir.");
             return;
         }
     }
 }
コード例 #4
0
        public ActionResult ReporteCategoria(string id, DateTime fechai, DateTime fechaf)
        {
            LocalReport lr   = new LocalReport();
            string      path = Path.Combine(Server.MapPath("~/Reportes"), "VentasPorCategoria.rdlc");

            if (System.IO.File.Exists(path))
            {
                lr.ReportPath = path;
            }
            else
            {
                return(View("Index"));
            }


            List <string>           pedidosCategoria = bl.consultarCantidadPedidoPorCategoria(fechai, fechaf);
            List <ReporteCategoria> pedidos          = new List <ReporteCategoria>();
            ReporteCategoria        pedidoTemporal;

            for (int i = 0; i < pedidosCategoria.Count() - 1; i += 3)
            {
                pedidoTemporal             = new ReporteCategoria();
                pedidoTemporal.FechaInicio = fechai.Date;
                pedidoTemporal.FechaFin    = fechaf.Date;
                pedidoTemporal.Codigo      = pedidosCategoria.ElementAt(i);
                pedidoTemporal.Categoria   = pedidosCategoria.ElementAt(i + 1);
                pedidoTemporal.Cantidad    = pedidosCategoria.ElementAt(i + 2);
                pedidos.Add(pedidoTemporal);
            }


            ReportDataSource rd = new ReportDataSource("VentasPorCategoriaDataSet", pedidos);

            lr.DataSources.Add(rd);
            string reportType = id;
            string mimeType;
            string encoding;
            string fileNameExtension;



            string deviceInfo =
                "<DeviceInfo>" +
                "  <OutputFormat>" + id + "</OutputFormat>" +
                "  <PageWidth>8.5in</PageWidth>" +
                "  <PageHeight>11in</PageHeight>" +
                "  <MarginTop>0.5in</MarginTop>" +
                "  <MarginLeft>1in</MarginLeft>" +
                "  <MarginRight>1in</MarginRight>" +
                "  <MarginBottom>0.5in</MarginBottom>" +
                "</DeviceInfo>";

            Warning[] warnings;
            string[]  streams;
            byte[]    renderedBytes;

            renderedBytes = lr.Render(
                reportType,
                deviceInfo,
                out mimeType,
                out encoding,
                out fileNameExtension,
                out streams,
                out warnings);



            return(File(renderedBytes, mimeType));
        }