Пример #1
0
        public IHttpActionResult ObtenerReporteBeneficiario()
        {
            BeneficiarioReporteQuery query = new BeneficiarioReporteQuery();

            BeneficiarioReporteQueryResult queryResult = _queryDispatcher.Dispatch <BeneficiarioReporteQuery, BeneficiarioReporteQueryResult>(query);

            return(Ok(queryResult));
        }
Пример #2
0
        public IHttpActionResult GenerarReporteBeneficiarios([FromUri] BeneficiarioReporteQuery query)
        {
            if (query.SalaCunaId != null || !String.IsNullOrEmpty(query.Codigo))
            {
                BeneficiarioReporteQueryResult queryResult = _queryDispatcher.Dispatch <BeneficiarioReporteQuery, BeneficiarioReporteQueryResult>(query);
                ReportDataSource dsBeneficiario            = new ReportDataSource("DSBeneficiario", queryResult.Beneficiarios);
                //String _params = JsonHelper.GetJsonStringFromObject(queryResult);

                Boolean          _ok            = false;
                String           _nombreArchivo = String.Empty;
                ReporteConfigDto _config        = ReportesConfiguracion.GetReporteConfig(TiposReporte.Beneficiario.Value);
                try
                {
                    byte[] bytes = ReportViewerUtil.GenerateAndPersist(_config, ref _nombreArchivo, queryResult.Beneficiarios, null);
                    GenerateExcelFromReportViewer(bytes, _config.OutputFileName + "." + _config.Format);
                    _ok = true;
                }
                catch (Exception e) {
                    Console.Write(e);
                }
                finally{
                    EnviarMail(GetUsuarioLogueado().Cuil.ToString(), _ok, _nombreArchivo, "", _config.AsuntoEmail);
                }
            }
            else
            {
                StringBuilder builder   = new StringBuilder();
                long          tickDesde = (query.FechaDesde != null ? query.FechaDesde.Value : DateTimeHelper.GetMinDateTimeNullable(query.FechaDesde)).Ticks;
                builder.Append(tickDesde);
                builder.Append(",");
                long tickHasta = (query.FechaHasta == null && query.FechaDesde != null ? DateTime.Today : DateTimeHelper.GetMinDateTimeNullable(query.FechaHasta)).Ticks;
                builder.Append(tickHasta);
                builder.Append(",");
                builder.Append(query.PersonaJuridicaId != null ? query.PersonaJuridicaId.Value : -1);
                builder.Append(",");
                builder.Append(query.SalaCunaId != null ? query.SalaCunaId.Value : -1);
                builder.Append(",");
                builder.Append(query.Codigo);
                builder.Append(",");
                builder.Append(query.NroDocumento);
                builder.Append(",");
                builder.Append(query.DadosBaja ? 'S' : 'N');
                builder.Append(",");
                builder.Append(query.DepartamentoId != null ? query.DepartamentoId.Value : -1);
                builder.Append(",");
                builder.Append(query.LocalidadId != null ? query.LocalidadId.Value : -1);
                builder.Append(",");
                builder.Append(query.BarrioId != null ? query.BarrioId.Value : -1);
                builder.Append(",");
                builder.Append(query.SituacionCritica);
                builder.Append(",");
                builder.Append(query.TipoBeneficiario != null ? query.TipoBeneficiario : "0");
                builder.Append(",");
                builder.Append(query.TipoDocumentoId);
                builder.Append(",");
                builder.Append(query.PageNumber != null ? query.PaginationFrom.Value : 0);
                builder.Append(",");
                builder.Append(query.PageNumber != null ? query.PaginationTo.Value : 10000);

                ActualizarReporteCommand command = new ActualizarReporteCommand();
                command.IdEstado      = (int)EstadoReporteEnum.Pendiente;
                command.StringProceso = builder.ToString();
                command.IdUsuario     = GetUsuarioLogueado().Id;
                command.NombreProceso = TiposReporte.Beneficiario.Value;
                _commandDispatcher.Dispatch <ActualizarReporteCommand>(command);
            }

            var respuesta = new { mensaje = _mensaje + GetEmailUsuarioLogueado() };

            return(Ok(respuesta));
        }