/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }