public ActionResult ConsultarReporteContenedorNoDevuelto(RequestReporteContenedorNoDevueltoViewModel filtros, string requestExportar) { ActionResult actionResult = null; var manejadorLogEventos = new ManejadorLogEventos(); try { if (ModelState.IsValid) { if (!string.IsNullOrEmpty(Request.QueryString["export"])) { var rm = new ResourceManager("TRAMARSA.AGMA.ACUERDOCOMERCIAL.Resource.ResourceGrillas", Assembly.GetExecutingAssembly()); var idGrilla = rm.GetString("IdGrilla_ReporteContenedorNoDevuelto"); filtros = GR.Frameworks.Helper.ConvertirJsonAObjeto <RequestReporteContenedorNoDevueltoViewModel>(requestExportar); if (idGrilla != null) { filtros.paginacionDTO.IdGrilla = new Guid(idGrilla); } filtros.paginacionDTO.sord = new HelperDataScriptor().ObtenerCampoOrdenDefault(filtros.paginacionDTO.IdGrilla); filtros.paginacionDTO.rows = 9999; filtros.paginacionDTO.page = 1; var listaRespuesta = new AcuerdoComercialAgente().ConsultarReporteContenedorNoDevuelto(filtros); listaRespuesta.NroPagina = 1; actionResult = HelperCtrl.ExportarExcel(listaRespuesta, listaRespuesta.LiquidacionesNoDevueltas, filtros.paginacionDTO.IdGrilla, "CodigoContenedor", Request.QueryString["export"], Response, "Reporte_contenedores_no_liquidados_"); } else { var responseContenedores = new AcuerdoComercialAgente().ConsultarReporteContenedorNoDevuelto(filtros); if (responseContenedores.Result.Satisfactorio) { responseContenedores.TotalRegistros = responseContenedores.LiquidacionesNoDevueltas.Count; var totalPages = int.Parse("" + Math.Ceiling(Convert.ToDouble(responseContenedores.TotalRegistros) / filtros.paginacionDTO.GetNroFilas())); var res = Grid.toJSONFormat2(responseContenedores.LiquidacionesNoDevueltas, filtros.paginacionDTO.GetNroPagina(), responseContenedores.TotalRegistros, totalPages, "CodigoContenedor"); actionResult = Content(res); } else { actionResult = Content(Grid.toJSONFormat2(responseContenedores.LiquidacionesNoDevueltas, 0, 0, 0)); } } } else { var cadena = string.Empty; var objetos = GR.Frameworks.Helper.GetErrorsFromModelState(ref cadena, ModelState); actionResult = Content(Grid.emptyStrJSON(cadena, objetos)); } } catch (Exception ex) { HelperCtrl.GrabarLog(ex, "", PoliticaExcepcion.Win); } finally { manejadorLogEventos.RegistrarTiempoEjecucion("", HelperCtrl.ObtenerAtributosManejadorEventos(ControllerContext.ToString(), MethodBase.GetCurrentMethod().Name, HelperCtrl.ObtenerUsuario())); } return(actionResult); }
public ActionResult GenerarReporteContenedorNoDevuelto(string requestExportar) { try { var filtros = new RequestReporteContenedorNoDevueltoViewModel(); var filtro = GR.Frameworks.Helper.ConvertirJsonAObjeto <ReporteContenedorNoDevueltoRequestViewModel>(requestExportar); filtros.filtro = filtro; var listaContNoDev = new AcuerdoComercialAgente().ConsultarReporteContenedorNoDevuelto(filtros); LocalReport localReport = new LocalReport(); localReport.ReportPath = Server.MapPath("~/Content/Reportes/Contenedores.rdlc"); ContenedoresNoDevueltos1.ContenedoresDataTable contenedoresDataTable = new ContenedoresNoDevueltos1.ContenedoresDataTable(); ContenedoresNoDevueltos1.CabeceraDataTable cabeceraDataTable = new ContenedoresNoDevueltos1.CabeceraDataTable(); if (listaContNoDev.LiquidacionesNoDevueltas.Count > 0) { listaContNoDev.LiquidacionesNoDevueltas.ForEach(x => { contenedoresDataTable.AddContenedoresRow( x.NombreSucursal, "NumeroTransaccion", x.FechaTransaccion, x.CodigoNave, x.NombreNave, x.NumeroViaje, x.PuertoOrigen, x.PuertoEmbarque, x.PuertoDescarga, x.PuertoFinal, x.CodigoLinea, x.NumeroBL, x.Consignatario, x.Notificante, x.CodigoContenedor, x.UDL, x.DiasSob.ToString(), x.FechaArribo, x.ServicioBL, x.TipoContenedor ); }); } cabeceraDataTable.AddCabeceraRow( "", "", filtros.filtro.NombreLinea, "", string.Format("{0:dd/MM/yyyy}", filtros.filtro.Desde) + " - " + string.Format("{0:dd/MM/yyyy}", filtros.filtro.Hasta), filtros.filtro.CodigoCotenedor, "Reporte Contenedores No Liquidados", ""); ReportDataSource reportDataSource = new ReportDataSource(); reportDataSource.Name = "ContenedoresDataSet"; reportDataSource.Value = contenedoresDataTable; localReport.DataSources.Add(reportDataSource); reportDataSource = new ReportDataSource(); reportDataSource.Name = "CabeceraDataSet"; reportDataSource.Value = cabeceraDataTable; localReport.DataSources.Add(reportDataSource); string reportType = "PDF"; string mimeType; string encoding; string fileNameExtension; string deviceInfo = "<DeviceInfo>" + " <OutputFormat>PDF</OutputFormat>" + " <PageWidth></PageWidth>" + " <PageHeight></PageHeight>" + " <MarginTop></MarginTop>" + " <MarginLeft></MarginLeft>" + " <MarginRight></MarginRight>" + " <MarginBottom></MarginBottom>" + "</DeviceInfo>"; Warning[] warnings; string[] streams; byte[] renderedBytes; renderedBytes = localReport.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); } catch (Exception ex) { (new ManejadorLog()).RegistrarEvento(MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); return(Json(MethodBase.GetCurrentMethod().Name + ";" + ex.Message + ";" + ex.StackTrace, JsonRequestBehavior.AllowGet)); } }