Пример #1
0
        private static byte[] GenerateReport(ReporteConfigDto _config, ref String _nombreArchivo, object _dto, List <ReportParameter> _reportParams)
        {
            ReportDataSource ds = new ReportDataSource(_config.DataSource, _dto);

            _nombreArchivo = FileUtil.GenerarNombreArchivoConFecha(_config.OutputFileName, _config.Format);
            return(GenerateFromReportViewer(_config.TiposArchivo.Value, _config.Rdlc, ds, _reportParams));
        }
Пример #2
0
        public static byte[] GenerateAndPersist(ReporteConfigDto _config, ref String _nombreArchivo, object _dto, List <ReportParameter> _reportParams)
        {
            byte[] bytes = GenerateReport(_config, ref _nombreArchivo, _dto, _reportParams);
            string rutaArchivoEnDirectorioTemporal = FileUtil.GenerarRutaArchivoEnDirectorioTemporal(_nombreArchivo);

            PersistFile(rutaArchivoEnDirectorioTemporal, bytes);
            return(bytes);
        }
Пример #3
0
        public IHttpActionResult GenerarReporteAdministrarCursos([FromUri] CursoByFiltersCursoQuery query)
        {
            query.VieneParaExcel = 1;
            var queryResult = _queryDispatcher.Dispatch <CursoByFiltersCursoQuery, CursoByFiltersCursoQueryResult>(query);

            ReporteConfigDto _config = ReportesConfiguracion.GetReporteConfig(TiposReporte.AdministrarCursos.Value);

            byte[] bytes = ReportViewerUtil.GenerateReport(_config, queryResult.CursosDto, null);
            return(GenerateExcelFromReportViewer(bytes, _config.OutputFileName + "." + _config.Format));
        }
Пример #4
0
        private static ReporteConfigDto GetReporteMadreBeneficiarioConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSMadresBeneficiarios";
            config.OutputFileName     = "MadresBeneficiariosExcel";
            config.Format             = "xls";
            config.Rdlc               = "MadresBeneficiariosExcel.rdlc";
            config.StoreProcedureName = "PR_REPORTE_MADRES";
            config.AsuntoEmail        = "Reporte madres de beneficiarios";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #5
0
        private static ReporteConfigDto GetReporteListadoInscriptosCursosConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSListadoInscriptos";
            config.OutputFileName     = "InscriptosCursos";
            config.Format             = "pdf";
            config.Rdlc               = "ListadoInscriptos.rdlc";
            config.StoreProcedureName = "";
            config.AsuntoEmail        = "Reporte inscriptos a curso";
            config.TiposArchivo       = TiposArchivo.PDF;
            return(config);
        }
Пример #6
0
        private static ReporteConfigDto GetReporteCertificadosPorCursoConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSCertificadosCurso";
            config.OutputFileName     = "ReporteCertificadosPorCurso";
            config.Format             = "pdf";
            config.Rdlc               = "CertificadosCurso.rdlc";
            config.StoreProcedureName = "";
            config.AsuntoEmail        = "Reporte certificados por curso";
            config.TiposArchivo       = TiposArchivo.PDF;
            return(config);
        }
Пример #7
0
        private static ReporteConfigDto GetReporteAdministrarCursosConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSCursos";
            config.OutputFileName     = "InformeCursos";
            config.Format             = "xls";
            config.Rdlc               = "CursosExcel.rdlc";
            config.StoreProcedureName = "";
            config.AsuntoEmail        = "Reporte administrar curso";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #8
0
        private static ReporteConfigDto GetReporteSalasCunaConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSSalasCuna";
            config.OutputFileName     = "ReporteSalasCunas";
            config.Format             = "xls";
            config.Rdlc               = "SalasCunaExcel.rdlc";
            config.StoreProcedureName = "PR_REPORTE_SALAS_CUNA";
            config.AsuntoEmail        = "Reporte salas cuna";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #9
0
        private static ReporteConfigDto GetReporteProductorPorFamiliaExcelConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSReportePXFXS";
            config.OutputFileName     = "ReporteProductosXFamiliaTotalizado";
            config.Format             = "xls";
            config.Rdlc               = "ExcelPxFxS.rdlc";
            config.StoreProcedureName = "PR_REPORTE_PROD_X_FAMILIA";
            config.AsuntoEmail        = "Reporte producto por familia";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #10
0
        private static ReporteConfigDto GetReporteProductorPorSalaConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSReporteProductoPorSala";
            config.OutputFileName     = "ProductoXSala";
            config.Format             = "pdf";
            config.Rdlc               = "ProductoXSala.rdlc";
            config.StoreProcedureName = "PR_REPORTE_PROD_X_SALA";
            config.AsuntoEmail        = "Reporte producto por sala";
            config.TiposArchivo       = TiposArchivo.PDF;
            return(config);
        }
Пример #11
0
        private static ReporteConfigDto GetReporteGrupoFamiliarConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSGrupoFamiliar";
            config.OutputFileName     = "ReporteGrupoConviviente";
            config.Format             = "xls";
            config.Rdlc               = "GrupoFamiliarExcel.rdlc";
            config.StoreProcedureName = "PR_REPORTE_GRUPO_FAMILIAR";
            config.AsuntoEmail        = "Reporte grupo conviviente";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #12
0
        private static ReporteConfigDto GetReportePersonalPorSalaConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSPersonal";
            config.OutputFileName     = "ReportePersonalPorSala";
            config.Format             = "xls";
            config.Rdlc               = "PersonalPorSala.rdlc";
            config.StoreProcedureName = "PR_REPORTE_PERS_X_SALA";
            config.AsuntoEmail        = "Reporte personal por sala";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #13
0
        private static ReporteConfigDto GetReporteInfoGlobalConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSInfoGlobal";
            config.OutputFileName     = "ReporteInfoGlobal";
            config.Format             = "xls";
            config.Rdlc               = "InfoGlobal.rdlc";
            config.StoreProcedureName = "PR_REPORTE_INFO_GLOBAL";
            config.AsuntoEmail        = "Reporte info global";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #14
0
        private static ReporteConfigDto GetReporteProvisionDeProductoCEConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSProvisionProductos";
            config.OutputFileName     = "ProvisionProductosCE";
            config.Format             = "xls";
            config.Rdlc               = "ProvisionProductosCEExcel.rdlc";
            config.StoreProcedureName = "PR_REPORTE_PROVISIONES_CE";
            config.AsuntoEmail        = "Reporte provisión de producto especiales";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #15
0
        private static ReporteConfigDto GetReporteSocioAmbientalConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSSocioAmbiental";
            config.OutputFileName     = "ReporteSocioAmbientalExcel";
            config.Format             = "xls";
            config.Rdlc               = "ReporteSocioAmbiental.rdlc";
            config.StoreProcedureName = "PR_REPORTE_SOCIO_AMBIENTAL";
            config.AsuntoEmail        = "Reporte socio ambiental";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #16
0
        private static ReporteConfigDto GetReporteBeneficiarioConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSBeneficiario";
            config.OutputFileName     = "Beneficiario";
            config.Format             = "xls";
            config.Rdlc               = "BeneficiarioExcel.rdlc";
            config.StoreProcedureName = "PR_REPORTE_BENEFICIARIOS";
            config.AsuntoEmail        = "Reporte beneficiario";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #17
0
        private static ReporteConfigDto GetReporteAsistenciaPorCursoConfig()
        {
            ReporteConfigDto config = new ReporteConfigDto();

            config.DataSource         = "DSAsistenciaPorCurso";
            config.OutputFileName     = "ReporteAsistenciaCurso";
            config.Format             = "xls";
            config.Rdlc               = "AsistenciaPorCurso.rdlc";
            config.StoreProcedureName = "";
            config.AsuntoEmail        = "Reporte asistencia por curso";
            config.TiposArchivo       = TiposArchivo.Excel;
            return(config);
        }
Пример #18
0
        private object GenerarReportePersonalPorSala <T>(ReporteConfigDto _config)
        {
            var querySession = _repositoryLocalScheme.Session.CallFunction <T>(_config.StoreProcedureName + "(?,?,?,?,?,?,?,?,?)");

            addParam(querySession, 0, ParametrosSeparados[0]);
            addParam(querySession, 1, ParametrosSeparados[1]);
            addParamStringNulleable(querySession, 2, ParametrosSeparados[2]);
            addParam(querySession, 3, ParametrosSeparados[3]);
            addParamStringNulleable(querySession, 4, ParametrosSeparados[4]);
            addParam(querySession, 5, ParametrosSeparados[5]);
            addParam(querySession, 6, ParametrosSeparados[6]);
            addParam(querySession, 7, ParametrosSeparados[7]);
            addParam(querySession, 8, ParametrosSeparados[8]);
            return((List <T>)querySession.List <T>());
        }
Пример #19
0
        public IHttpActionResult ExportCertificadosCurso([FromUri] AsistenciaPersonalCursoQuery query)
        {
            List <PersonalAsistenciaDto> lista = new List <PersonalAsistenciaDto>();

            if (query.imprimirTodos)
            {
                AsistenciaPersonalCursoQueryResult queryResult = _queryDispatcher.Dispatch <AsistenciaPersonalCursoQuery, AsistenciaPersonalCursoQueryResult>(query);
                lista = queryResult.ListPersonal;
            }
            else
            {
                PersonalCertificadoQueryResult queryResult = _queryDispatcher.Dispatch <AsistenciaPersonalCursoQuery, PersonalCertificadoQueryResult>(query);
                lista = queryResult.ListPersonal;
            }
            CursoByIdQuery query2 = new CursoByIdQuery();

            query2.CursoId = query.CursoId;
            var queryResult2 = _queryDispatcher.Dispatch <CursoByIdQuery, CursoByIdQueryResult>(query2);

            DateTime fechaActual = DateTime.Now;
            string   nombreMes   = new DateTime(2015, fechaActual.Month, 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("es"));

            nombreMes = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nombreMes);
            string textoAgregado      = "";
            int    duracionTotalCurso = queryResult2.CursoDto.CantidadDias * (int)queryResult2.CursoDto.HorasPorDia;

            if (duracionTotalCurso > 0.0)
            {
                textoAgregado = "La capacitación tuvo una duración total de " + duracionTotalCurso + "hs. reloj y se llevó a cabo en el SUM de la Secretaría de Equidad y Promoción del Empleo.-";
            }
            else
            {
                textoAgregado = "La capacitación se llevó a cabo en el SUM de la Secretaría de Equidad y Promoción del Empleo.-";
            }

            List <ReportParameter> parametros = new List <ReportParameter>();

            parametros.Add(new ReportParameter("NombreCurso", queryResult2.CursoDto.NombreCurso));
            parametros.Add(new ReportParameter("Dia", fechaActual.Day.ToString()));
            parametros.Add(new ReportParameter("Mes", nombreMes));
            parametros.Add(new ReportParameter("Anio", fechaActual.Year.ToString()));
            parametros.Add(new ReportParameter("TextoAgregado", textoAgregado));

            ReporteConfigDto _config = ReportesConfiguracion.GetReporteConfig(TiposReporte.CertificadosPorCurso.Value);

            byte[] bytes = ReportViewerUtil.GenerateReport(_config, lista, parametros);
            return(Ok(bytes));
        }
Пример #20
0
        public IHttpActionResult ExportListadoInscriptos([FromUri] ClaseByCursoQuery query)
        {
            var            queryResult = _queryDispatcher.Dispatch <ClaseByCursoQuery, ListadoInscriptosQueryResult>(query);
            CursoByIdQuery queryCurso  = new CursoByIdQuery();

            queryCurso.CursoId = query.CursoId;
            var queryResult2 = _queryDispatcher.Dispatch <CursoByIdQuery, CursoByIdQueryResult>(queryCurso);

            List <ReportParameter> parametros = new List <ReportParameter>();

            parametros.Add(new ReportParameter("NombreCurso", queryResult2.CursoDto.NombreCurso));
            ReporteConfigDto _config = ReportesConfiguracion.GetReporteConfig(TiposReporte.ListadoInscriptosCursos.Value);

            byte[] bytes = ReportViewerUtil.GenerateReport(_config, queryResult.ListPersonal, parametros);
            return(Ok(bytes));
        }
Пример #21
0
        public string GenerarReporte()
        {
            QueryDispatcher = ServiceLocator.Current.GetInstance <QueryDispatcher>();

            //1) Si no existe un reporte ejecutandose busco el reporte en estado pendiente mas antiguo.
            ConsultarReportesPendientesQueryResult rpResult = QueryDispatcher.Dispatch <ConsultarReportesPendientesQuery, ConsultarReportesPendientesQueryResult>(null);

            if (rpResult != null && rpResult.ReportesPendientesDto != null && !String.IsNullOrEmpty(rpResult.ReportesPendientesDto.NombreProceso))
            {
                ReporteConfigDto config = ReportesConfiguracion.GetReporteConfig(rpResult.ReportesPendientesDto.NombreProceso);

                //2) Se genera el reporte y se envía por email.
                Task.Run(async() => GenerarReporteAsync(rpResult.ReportesPendientesDto, config));
            }
            return(String.Empty);
        }
Пример #22
0
        public IHttpActionResult GenerarReporteAsistenciaPorCusro([FromUri] AsistenciaPersonalCursoQuery query)
        {
            var queryResult = _queryDispatcher.Dispatch <AsistenciaPersonalCursoQuery, AsistenciaPersonalCursoQueryResult>(query);

            CursoByIdQuery cursoQuery = new CursoByIdQuery();

            cursoQuery.CursoId = query.CursoId;
            var queryResult2 = _queryDispatcher.Dispatch <CursoByIdQuery, CursoByIdQueryResult>(cursoQuery);

            List <ReportParameter> parametros = new List <ReportParameter>();

            parametros.Add(new ReportParameter("NombreCurso", queryResult2.CursoDto.NombreCurso));
            ReporteConfigDto _config = ReportesConfiguracion.GetReporteConfig(TiposReporte.AsistenciaPorCurso.Value);

            byte[] bytes = ReportViewerUtil.GenerateReport(_config, queryResult.ListPersonal, parametros);
            return(GenerateExcelFromReportViewer(bytes, _config.OutputFileName + queryResult2.CursoDto.NombreCurso + "." + _config.Format));
        }
Пример #23
0
        private object GenerarReporteMadresBeneficiarios <T>(ReporteConfigDto _config)
        {
            var querySession = _repositoryLocalScheme.Session.CallFunction <T>(_config.StoreProcedureName + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

            addParam(querySession, 0, ParametrosSeparados[0]);
            addParam(querySession, 1, ParametrosSeparados[1]);
            addParamStringNulleable(querySession, 2, ParametrosSeparados[2]);
            addParam(querySession, 3, ParametrosSeparados[3]);
            addParam(querySession, 4, ParametrosSeparados[4]);
            addParam(querySession, 5, ParametrosSeparados[5]);
            addParamIntNulleable(querySession, 6, Int64.Parse(ParametrosSeparados[6]));
            addParam(querySession, 7, ParametrosSeparados[7]);
            addParam(querySession, 8, ParametrosSeparados[8]);
            addParamStringNulleable(querySession, 9, ParametrosSeparados[9]);
            addParamStringNulleable(querySession, 10, ParametrosSeparados[10]);
            addParamStringNulleable(querySession, 11, ParametrosSeparados[11]);
            addParam(querySession, 12, ParametrosSeparados[12]);
            addParam(querySession, 13, ParametrosSeparados[13]);
            return((List <T>)querySession.List <T>());
        }
Пример #24
0
        private object GenerarReporteProvisionDeProducto <T>(ReporteConfigDto _config)
        {
            var querySession = _repositoryLocalScheme.Session.CallFunction <T>(_config.StoreProcedureName + "(?,?,?,?,?,?,?,?,?,?,?,?)");

            addParam(querySession, 0, ParametrosSeparados[0]);
            addParam(querySession, 1, ParametrosSeparados[1]);
            addParamStringNulleable(querySession, 2, ParametrosSeparados[2]);
            addParam(querySession, 3, ParametrosSeparados[3]);
            addParam(querySession, 4, ParametrosSeparados[4]);
            addParam(querySession, 5, ParametrosSeparados[5]);
            addParam(querySession, 6, ParametrosSeparados[6]);
            addParam(querySession, 7, ParametrosSeparados[7]);
            addParam(querySession, 8, ParametrosSeparados[8]);
            addParam(querySession, 9, ParametrosSeparados[9]);
            addParam(querySession, 10, ParametrosSeparados[10]);
            addParam(querySession, 11, ParametrosSeparados[11]);

            List <ProvisionProductosReporteDto> lista = (List <ProvisionProductosReporteDto>)querySession.List <ProvisionProductosReporteDto>();

            var queryResult = new ProvisionProductosQueryResult();

            var querySession2 = _repositoryLocalScheme.Session.CallFunction <ParametrosProvisionDto>("PR_PARAMETROS_PROVISIONES ()");

            queryResult.ParametrosProvision = querySession2.UniqueResult <ParametrosProvisionDto>();
            //Valores que en un futura seran parametros fijos.

            float paramLecheA         = (float)System.Convert.ToSingle(queryResult.ParametrosProvision.paramLecheA.ToString());
            float paramLecheB         = (float)System.Convert.ToSingle(queryResult.ParametrosProvision.paramLecheB.ToString());
            float paramPanialA        = (float)System.Convert.ToSingle(queryResult.ParametrosProvision.paramPanialA.ToString());
            float paramPanial0a2Anios = (float)System.Convert.ToSingle(queryResult.ParametrosProvision.paramPanial0a2Anios.ToString());
            float paramPanial3Anios   = (float)System.Convert.ToSingle(queryResult.ParametrosProvision.paramPanial3Anios.ToString());

            foreach (ProvisionProductosReporteDto provisionesPorEntidadYSala in lista)
            {
                provisionesPorEntidadYSala.SetParametrosDeCalculo(paramLecheA, paramLecheB, paramPanialA, paramPanial0a2Anios, paramPanial3Anios);
            }

            return(lista);
        }
Пример #25
0
        public static ReporteConfigDto GetReporteConfig(string _nombreProceso)
        {
            ReporteConfigDto config = null;

            if (String.IsNullOrEmpty(_nombreProceso))
            {
                return(config);
            }

            _nombreProceso = _nombreProceso.ToUpper();

            //Madres beneficiarios
            if (_nombreProceso.Equals(TiposReporte.MadresBeneficiarios.Value.ToUpper()))
            {
                config = GetReporteMadreBeneficiarioConfig();
            }

            //Socio ambiental
            else if (_nombreProceso.Equals(TiposReporte.SocioAmbiental.Value.ToUpper()))
            {
                config = GetReporteSocioAmbientalConfig();
            }

            //Info Global
            else if (_nombreProceso.Equals(TiposReporte.InfoGlobal.Value.ToUpper()))
            {
                config = GetReporteInfoGlobalConfig();
            }

            //GrupoFamiliar
            else if (_nombreProceso.Equals(TiposReporte.GrupoFamiliar.Value.ToUpper()))
            {
                config = GetReporteGrupoFamiliarConfig();
            }

            //Personal por sala
            else if (_nombreProceso.Equals(TiposReporte.PersonalPorSala.Value.ToUpper()))
            {
                config = GetReportePersonalPorSalaConfig();
            }

            //Producto por Sala
            else if (_nombreProceso.Equals(TiposReporte.ProductoPorSala.Value.ToUpper()))
            {
                config = GetReporteProductorPorSalaConfig();
            }

            //Productor por familia PDF
            else if (_nombreProceso.Equals(TiposReporte.ProductoPorFamiliaPDF.Value.ToUpper()))
            {
                config = GetReporteProductorPorFamiliaPDFConfig();
            }

            //Productor por familia EXCEL
            else if (_nombreProceso.Equals(TiposReporte.ProductoPorFamiliaExcel.Value.ToUpper()))
            {
                config = GetReporteProductorPorFamiliaExcelConfig();
            }

            //Provision de producto
            else if (_nombreProceso.Equals(TiposReporte.ProvisionDeProducto.Value.ToUpper()))
            {
                config = GetReporteProvisionDeProductoConfig();
            }

            //Provision de producto especiales
            else if (_nombreProceso.Equals(TiposReporte.ProvisionDeProductoCE.Value.ToUpper()))
            {
                config = GetReporteProvisionDeProductoCEConfig();
            }

            //Salas cuna
            else if (_nombreProceso.Equals(TiposReporte.SalasCuna.Value.ToUpper()))
            {
                config = GetReporteSalasCunaConfig();
            }

            //Beneficiario
            else if (_nombreProceso.Equals(TiposReporte.Beneficiario.Value.ToUpper()))
            {
                config = GetReporteBeneficiarioConfig();
            }

            //AsistenciaPorCurso
            else if (_nombreProceso.Equals(TiposReporte.AsistenciaPorCurso.Value.ToUpper()))
            {
                config = GetReporteAsistenciaPorCursoConfig();
            }

            //CertificadosPorCurso
            else if (_nombreProceso.Equals(TiposReporte.CertificadosPorCurso.Value.ToUpper()))
            {
                config = GetReporteCertificadosPorCursoConfig();
            }

            else if (_nombreProceso.Equals(TiposReporte.AdministrarCursos.Value.ToUpper()))
            {
                config = GetReporteAdministrarCursosConfig();
            }

            else if (_nombreProceso.Equals(TiposReporte.ListadoInscriptosCursos.Value.ToUpper()))
            {
                config = GetReporteListadoInscriptosCursosConfig();
            }


            return(config);
        }
Пример #26
0
        private object GenerarReporteSalasCuna(ReporteConfigDto _config)
        {
            var querySession = _repositoryLocalScheme.Session.CallFunction <SalasCunaReporteDto>(_config.StoreProcedureName + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

            addParamDate(querySession, 0, ParametrosSeparados[0]);
            addParamDate(querySession, 1, ParametrosSeparados[1]);
            addParam(querySession, 2, ParametrosSeparados[2]);
            addParam(querySession, 3, ParametrosSeparados[3]);
            addParam(querySession, 4, ParametrosSeparados[4]);
            addParam(querySession, 5, ParametrosSeparados[5]);
            addParam(querySession, 6, ParametrosSeparados[6]);
            addParam(querySession, 7, ParametrosSeparados[7]);
            addParam(querySession, 8, ParametrosSeparados[8]);
            addParamStringNulleable(querySession, 9, ParametrosSeparados[9]);
            addParam(querySession, 10, ParametrosSeparados[10]);
            addParam(querySession, 11, ParametrosSeparados[11]);
            addParam(querySession, 12, ParametrosSeparados[12]);
            addParam(querySession, 13, ParametrosSeparados[13]);
            List <SalasCunaReporteDto> listaSalasCuna = (List <SalasCunaReporteDto>)querySession.List <SalasCunaReporteDto>();


            foreach (SalasCunaReporteDto salasCuna in listaSalasCuna)
            {
                QueryDispatcher _queryDispatcher = ServiceLocator.Current.GetInstance <QueryDispatcher>();

                //convenios
                var queryConvenios = new ConveniosDeSalaByFiltersQuery {
                    SalaCunaId = (int)salasCuna.SalaCunaId
                };
                var resultadoConvenios = _queryDispatcher.Dispatch <ConveniosDeSalaByFiltersQuery, ConveniosDeSalaCunaQueryResult>(queryConvenios);

                salasCuna.Convenios = resultadoConvenios.ConveniosDeSalaCunaDto;

                List <ConveniosDeSalasCunaDto> convenios = salasCuna.Convenios;
                if (convenios != null && convenios.Count != 0)
                {
                    StringBuilder conveniosString = new StringBuilder();
                    foreach (ConveniosDeSalasCunaDto convenio in convenios)
                    {
                        conveniosString.Append(" " + DateTimeHelper.GetShortDateTime(convenio.FechaDesde) + " - " + DateTimeHelper.GetShortDateTime(convenio.FechaHasta) + " ,");
                    }
                    conveniosString           = new StringBuilder(conveniosString.ToString().Substring(0, conveniosString.ToString().Length - 1));
                    salasCuna.ConveniosString = conveniosString.ToString();
                    salasCuna.ConveniosEstado = "Correcto";
                }
                else
                {
                    salasCuna.ConveniosString = "";
                    salasCuna.ConveniosEstado = "Incorrecto";
                }

                //fin convenios

                //requisitos
                var queryRequisitos = new RequisitosDeSalaByFiltersQuery {
                    IdSalaCuna = (int)salasCuna.SalaCunaId
                };
                var resultadoRequisitos = _queryDispatcher.Dispatch <RequisitosDeSalaByFiltersQuery, RequisitosReporteSalaCunaQueryResult>(queryRequisitos);

                salasCuna.ListRequisitos   = resultadoRequisitos.RequisitosPresentadosDto;
                salasCuna.RequisitosEstado = salasCuna.DebeRequisitos == "N" ? "Completo" : "Incompleto";

                //fin requisitos

                //inmuebles
                var queryInmuebles = new InmuebleByFiltersQuery {
                    SalaCunaId = (int)salasCuna.SalaCunaId
                };
                var resultadoInmuebles = _queryDispatcher.Dispatch <InmuebleByFiltersQuery, InmuebleByFiltersQueryResult>(queryInmuebles);

                double monto = 0;
                foreach (InmuebleDto inmueble in resultadoInmuebles.InmueblesDto)
                {
                    monto += inmueble.Monto;
                }

                salasCuna.MontoRefacciones = monto;
                salasCuna.Inmuebles        = resultadoInmuebles.InmueblesDto;
            }


            return(listaSalasCuna.Cast <object>().ToList());
        }
Пример #27
0
        private void GenerarReporteAsync(ReportesPendientesDto _reportesPendientesDto, ReporteConfigDto _config)
        {
            String _nombreArchivo = String.Empty;

            //Se anexa a loa parámetros el id de proceso y luego se obtiene un array de todos los parámetros.
            String _params = _reportesPendientesDto.StringProcedimiento + "," + _reportesPendientesDto.ProcesoId;

            ParametrosSeparados = _params.Split(',');

            Boolean _ok  = false;
            object  _dto = null;

            try
            {
                _reportesPendientesDto.NombreProceso = _reportesPendientesDto.NombreProceso.ToUpper();
                _repositoryLocalScheme = new RepositoryLocalScheme();

                //3)Se llama al procedimiento correspondiente al reporte asociado al proceso.

                //Madres beneficiarios
                if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.MadresBeneficiarios.Value.ToUpper()))
                {
                    _dto = GenerarReporteMadresBeneficiarios <MadresBeneficiariosDto>(_config);
                }
                //Socio ambiental
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.SocioAmbiental.Value.ToUpper()))
                {
                    _dto = GenerarReporteSocioAmbiental <SocioAmbientalDto>(_config);
                }

                //Info Global
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.InfoGlobal.Value.ToUpper()))
                {
                    _dto = GenerarReporteInfoGloabal <InfoGlobalDto>(_config);
                }

                //GrupoFamiliar
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.GrupoFamiliar.Value.ToUpper()))
                {
                    _dto = GenerarReporteGrupoFamiliar <GrupoFamiliarDto>(_config);
                }

                //Personal por sala
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.PersonalPorSala.Value.ToUpper()))
                {
                    _dto = GenerarReportePersonalPorSala <PersonalPorSalaDto>(_config);
                }

                //Producto por Sala
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.ProductoPorSala.Value.ToUpper()))
                {
                    _dto = GenerarReporteProductorPorSala <ProductosPorSalaDto>(_config);
                }

                //Productor por familia PDF
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.ProductoPorFamiliaPDF.Value.ToUpper()))
                {
                    _dto = GenerarReporteProductorPorFamiliaPDF <ProductoXFamiliaXSalaDto>(_config);
                }

                //Productor por familia EXCEL
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.ProductoPorFamiliaExcel.Value.ToUpper()))
                {
                    _dto = GenerarReporteProductorPorFamiliaExcel <ProductoXFamiliaXSalaDto>(_config);
                }

                //Provision de producto
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.ProvisionDeProducto.Value.ToUpper()))
                {
                    _dto = GenerarReporteProvisionDeProducto <ProvisionProductosReporteDto>(_config);
                }

                //Provision de producto especiales
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.ProvisionDeProductoCE.Value.ToUpper()))
                {
                    _dto = GenerarReporteProvisionDeProductoCE <ProvisionProductosReporteDto>(_config);
                }

                //Salas cuna
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.SalasCuna.Value.ToUpper()))
                {
                    _dto = GenerarReporteSalasCuna(_config);
                }

                //Beneficiario
                else if (_reportesPendientesDto.NombreProceso.Equals(TiposReporte.Beneficiario.Value.ToUpper()))
                {
                    _dto = GenerarReporteBeneficiario <BeneficiarioReporteDto>(_config);
                }

                if (_dto != null)
                {
                    List <ReportParameter> _reportParams = DeterminarParametros(_reportesPendientesDto);

                    //4)Creo el reporte en disco
                    ReportViewerUtil.GenerateAndPersist(_config, ref _nombreArchivo, _dto, _reportParams);
                    _ok = true;
                }
            }
            catch (Exception e)
            {
                Console.Write(e);
            }
            finally
            {
                FinalizarProceso(_reportesPendientesDto.ProcesoId, _ok);
                EnviarMail(_reportesPendientesDto.Cuil, _ok, _nombreArchivo, _params, _config.AsuntoEmail);
            }
        }
Пример #28
0
        public static byte[] GenerateReport(ReporteConfigDto _config, object _dto, List <ReportParameter> _reportParams)
        {
            ReportDataSource ds = new ReportDataSource(_config.DataSource, _dto);

            return(GenerateFromReportViewer(_config.TiposArchivo.Value, _config.Rdlc, ds, _reportParams));
        }
Пример #29
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));
        }