public ActionResult Stock(ReporteStockFiltrosModel stockFiltrosModel)
 {
     return PartialOrView(stockFiltrosModel);
 }
        public ActionResult GenerarStock(ReporteStockFiltrosModel model)
        {
            DateTime? hasta = model.Hasta == null
                                    ? (DateTime?)null
                                    : model.Hasta.GetValueOrDefault().AddDays(1);

            var stockDataSource = Uow.Reportes.Stock(model.Desde, hasta, model.MaxiKioscoId, UsuarioActual.CuentaId);
            var stockDiferenciaDataSource = Uow.Reportes.StockDiferencia(model.Desde, hasta, model.MaxiKioscoId, UsuarioActual.CuentaId);

            var reporteFactory = new ReporteFactory();

            var datasources = new Dictionary<string, object>
                                  {
                                      {"StockDataSet", stockDataSource},
                                      {"StockDiferenciaDataSet",
                                          new List<object> { new { Diferencia = stockDiferenciaDataSource}}}
                                  };

            var parameters = new Dictionary<string, string>
                                  {
                                      {"MaxiKioscoId", model.MaxiKioscoId.GetValueOrDefault().ToString()},
                                      {"CuentaId", UsuarioActual.CuentaId.ToString()},
                                      {"DesdeString", model.Desde == null ? "-" : model.Desde.GetValueOrDefault().ToShortDateString()},
                                      {"HastaString", model.Hasta == null ? "-" : model.Hasta.GetValueOrDefault().ToShortDateString()}
                                  };
            reporteFactory
                .SetPathCompleto(Server.MapPath("~/Reportes/Stock.rdl"))
                .SetDataSource(datasources)
                .SetParametro(parameters);

            byte[] archivo = reporteFactory.Renderizar(model.ReporteTipo);

            return File(archivo, reporteFactory.MimeType);
        }