Пример #1
0
        /// <summary>
        /// Obtiene de forma paginada las empresas.
        /// </summary>
        /// <param name="peticionDataTable"></param>
        /// <returns></returns>
        public PeticionInformationDataTableDto <EmpresaDto> ObtenerInformacionEmpresas(PeticionInformationDataTableDto <EmpresaDto> peticionDataTable)
        {
            String fiduciarioEmisor = " (select NombreCorto from Empresa where IdEmpresa in (select top 1 IdEmpresaPrimaria from RelacionEmpresas where IdEmpresaSecundaria = e.IdEmpresa and IdTipoRelacionEmpresa = @TipoRelacion )) ";
            String representanteComunDelFideicomiso = " (select NombreCorto from Empresa where IdEmpresa in (select top 1 IdEmpresaPrimaria from RepresentanteComunFideciomiso where IdEmpresaSecundaria = e.IdEmpresa and IdTipoRelacionEmpresa = @TipoRelacionRepComun)) ";

            String        consultaSinSearch = "SELECT e.*," + fiduciarioEmisor + " FiduciarioEmisor," + representanteComunDelFideicomiso + " RepresentanteComunDelFideicomiso FROM Empresa e WHERE e.Borrado = @Borrado ";
            StringBuilder search            = new StringBuilder();

            search.Append(" and ( RazonSocial like '%" + peticionDataTable.search + "%' ");
            search.Append(" or NombreCorto like '%" + peticionDataTable.search + "%' ");
            search.Append(" or RFC like '%" + peticionDataTable.search + "%' ");
            search.Append(" or DomicilioFiscal like '%" + peticionDataTable.search + "%' ");
            search.Append(" or " + fiduciarioEmisor + " like '%" + peticionDataTable.search + "%' ");
            search.Append(" or " + representanteComunDelFideicomiso + " like '%" + peticionDataTable.search + "%' )");

            var consultaEmpresas = consultaSinSearch;

            if (peticionDataTable.search.Length > 0)
            {
                consultaEmpresas += search.ToString();
            }

            var parameters = new SqlParameter[] { new SqlParameter("Borrado", false), new SqlParameter("TipoRelacion", ConstantsTipoRelacionEmpresa.FIDUCIARIO_DE_FIDEICOMITENTE), new SqlParameter("TipoRelacionRepComun", ConstantsTipoRelacionEmpresa.REPRESENTANTE_COMUN_DE_FIDEICOMITENTE) };
            var query      = DbContext.Database.SqlQuery <EmpresaDto>(consultaEmpresas, parameters);

            var listaEmpresas = query.ToList();

            listaEmpresas = ReporteUtil.ordenarListaElementosPorColumna(listaEmpresas, EmpresaDto.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Key, peticionDataTable.order[0].dir, EmpresaDto.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Value);

            if (listaEmpresas == null)
            {
                listaEmpresas = new List <EmpresaDto>();
            }

            peticionDataTable.recordsTotal = listaEmpresas.Count();

            if (listaEmpresas.Count == 0)
            {
                peticionDataTable.data = new List <EmpresaDto>();
            }

            if (peticionDataTable.start < listaEmpresas.Count())
            {
                var diferencia = listaEmpresas.Count() - peticionDataTable.start;

                if (diferencia >= peticionDataTable.length)
                {
                    peticionDataTable.data = listaEmpresas.GetRange(peticionDataTable.start, peticionDataTable.length);
                }
                else
                {
                    peticionDataTable.data = listaEmpresas.GetRange(peticionDataTable.start, diferencia);
                }
            }

            return(peticionDataTable);
        }
Пример #2
0
        /// <summary>
        /// Obtiene la informacón de Personas Responsables para el Reporte de Excel.
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public List <PersonaResponsable> ObtenerInformacionReportePersonasResponsables(Dictionary <string, object> parametros)
        {
            List <PersonaResponsable> listaPersonasResponsables = AbaxXBRLCellStoreMongo.ConsultaElementos <PersonaResponsable>("PersonaResponsable", ReporteUtil.obtenerFiltrosEnviosEnFormatoBSON(parametros)).ToList();

            listaPersonasResponsables = ReporteUtil.ordenarListaElementosPorColumna(listaPersonasResponsables, PersonaResponsable.diccionarioColumnas.ElementAt(1).Key, "asc", PersonaResponsable.diccionarioColumnas.ElementAt(1).Value);

            foreach (var personaResponsable in listaPersonasResponsables)
            {
                personaResponsable.Taxonomia = ReporteUtil.obtenerNombreSimpleTaxonomia(personaResponsable.Taxonomia);
            }

            return(listaPersonasResponsables);
        }
Пример #3
0
        /// <summary>
        /// Obtiene la informacón de Administradores para el Reporte de Excel.
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public List <Administrador> ObtenerInformacionReporteAdministradores(Dictionary <string, object> parametros)
        {
            List <Administrador> listaAdministradores = AbaxXBRLCellStoreMongo.ConsultaElementos <Administrador>("Administrador", ReporteUtil.obtenerFiltrosEnviosEnFormatoBSON(parametros)).ToList();

            listaAdministradores = ReporteUtil.ordenarListaElementosPorColumna(listaAdministradores, Administrador.diccionarioColumnas.ElementAt(1).Key, "asc", Administrador.diccionarioColumnas.ElementAt(1).Value);

            foreach (var administrador in listaAdministradores)
            {
                administrador.Taxonomia = ReporteUtil.obtenerNombreSimpleTaxonomia(administrador.Taxonomia);
            }

            return(listaAdministradores);
        }
Пример #4
0
        /// <summary>
        /// Obtiene el listado de Personas responsables y se la pasa a PeticionDataTable.
        /// </summary>
        /// <param name="peticionDataTable"></param>
        /// <returns></returns>
        public PeticionInformationDataTableDto <PersonaResponsable> ObtenerInformacionPersonasResponsables(PeticionInformationDataTableDto <PersonaResponsable> peticionDataTable)
        {
            this.GeneraColeccionPersonaResponsable();

            Dictionary <String, object> parametros = new Dictionary <String, object>();

            foreach (var filtro in peticionDataTable.filtros)
            {
                parametros.Add(filtro.Key, (String)filtro.Value);
            }

            List <PersonaResponsable> listaPersonasResponsables = AbaxXBRLCellStoreMongo.ConsultaElementos <PersonaResponsable>("PersonaResponsable", ReporteUtil.obtenerFiltrosEnviosEnFormatoBSON(parametros)).ToList();

            if (listaPersonasResponsables == null || listaPersonasResponsables.Count() == 0)
            {
                peticionDataTable.data = new List <PersonaResponsable>();
                return(peticionDataTable);
            }

            listaPersonasResponsables = ReporteUtil.ordenarListaElementosPorColumna(listaPersonasResponsables, PersonaResponsable.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Key, peticionDataTable.order[0].dir, PersonaResponsable.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Value);

            foreach (var administrador in listaPersonasResponsables)
            {
                administrador.Taxonomia = ReporteUtil.obtenerNombreSimpleTaxonomia(administrador.Taxonomia);
            }

            peticionDataTable.recordsTotal = listaPersonasResponsables.Count();

            if (peticionDataTable.start < listaPersonasResponsables.Count())
            {
                var diferencia = listaPersonasResponsables.Count() - peticionDataTable.start;

                if (diferencia >= peticionDataTable.length)
                {
                    peticionDataTable.data = listaPersonasResponsables.GetRange(peticionDataTable.start, peticionDataTable.length);
                }
                else
                {
                    peticionDataTable.data = listaPersonasResponsables.GetRange(peticionDataTable.start, diferencia);
                }
            }

            return(peticionDataTable);
        }
Пример #5
0
        /// <summary>
        /// Obtien el listado de Resumen 4D y se la pasa a PeticionDataTable.
        /// </summary>
        /// <param name="peticionDataTable"></param>
        /// <returns></returns>
        public PeticionInformationDataTableDto <ResumenInformacion4DDTO> ObtenerResumenInformacion4D(PeticionInformationDataTableDto <ResumenInformacion4DDTO> peticionDataTable)
        {
            this.GeneraColeccionResumen4D();

            Dictionary <String, object> parametros = new Dictionary <String, object>();

            foreach (var filtro in peticionDataTable.filtros)
            {
                parametros.Add(filtro.Key, (String)filtro.Value);
            }

            List <ResumenInformacion4DDTO> listaResumenInformacion4D = this.ObtenerResumenInformacion4DPorFiltro(parametros);

            //Se ordena el resultado.
            if (peticionDataTable.order.Any() && listaResumenInformacion4D != null && listaResumenInformacion4D.Count > 0)
            {
                listaResumenInformacion4D = ReporteUtil.ordenarListaElementosPorColumna(listaResumenInformacion4D, ResumenInformacion4DDTO.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Key, peticionDataTable.order[0].dir, ResumenInformacion4DDTO.diccionarioColumnas.ElementAt(peticionDataTable.order[0].column).Value);
            }

            #region Se prepara el resultado.
            peticionDataTable.recordsTotal = listaResumenInformacion4D.Count();
            if (listaResumenInformacion4D.Count == 0)
            {
                peticionDataTable.data = listaResumenInformacion4D;
                return(peticionDataTable);
            }

            if (peticionDataTable.start < listaResumenInformacion4D.Count())
            {
                var diferencia = listaResumenInformacion4D.Count() - peticionDataTable.start;

                if (diferencia >= peticionDataTable.length)
                {
                    peticionDataTable.data = listaResumenInformacion4D.GetRange(peticionDataTable.start, peticionDataTable.length);
                }
                else
                {
                    peticionDataTable.data = listaResumenInformacion4D.GetRange(peticionDataTable.start, diferencia);
                }
            }
            #endregion

            return(peticionDataTable);
        }