예제 #1
0
        public IHttpActionResult GetAdministradores()
        {
            var resultado = new ResultadoOperacionDto();

            resultado.Resultado = false;
            try
            {
                var espacioNombres = getFormKeyValue("espacioNombres");
                var grupoEmpresa   = getFormKeyValue("grupoEmpresa");
                var nombreCorto    = getFormKeyValue("nombreCorto");
                var fechaReporte   = getFormKeyValue("fecha");

                var dataTableRequest = ObtenPeticionAdministradorDataTable();
                dataTableRequest.filtros = new Dictionary <string, object>();

                if (!String.IsNullOrEmpty(espacioNombres))
                {
                    dataTableRequest.filtros["Taxonomia"] = espacioNombres;
                }

                IList <Empresa> listaEmpresasPorGrupo;
                List <String>   listaEmpresas = new List <string>();
                String          value         = "";
                var             key           = "ClaveCotizacion: { $in: [";

                if (!String.IsNullOrEmpty(grupoEmpresa))
                {
                    listaEmpresasPorGrupo = EmpresaService.ObtenerEmpresasPorGrupoEmpresa(long.Parse(grupoEmpresa)).InformacionExtra as List <Empresa>;
                    if (listaEmpresasPorGrupo != null && listaEmpresasPorGrupo.Count > 0)
                    {
                        listaEmpresas = (from nombreEmprea in listaEmpresasPorGrupo select nombreEmprea.NombreCorto).ToList();
                    }

                    if (listaEmpresas != null && listaEmpresas.Count > 0)
                    {
                        var indice = 1;
                        foreach (var nombre in listaEmpresas)
                        {
                            if (indice < listaEmpresas.Count())
                            {
                                value = value + "'" + nombre + "' ,";
                            }
                            else
                            {
                                value = value + "'" + nombre + "'";
                            }
                            indice++;
                        }
                    }
                }

                if (!String.IsNullOrEmpty(nombreCorto))
                {
                    value = value + ", '" + nombreCorto + "'";
                }

                if (value.Length > 0)
                {
                    dataTableRequest.filtros.Add(key, value + " ]}");
                }

                String[] fechaSeparada;

                if (fechaReporte != null)
                {
                    fechaSeparada = fechaReporte.Split('-');
                    fechaReporte  = fechaSeparada[2].Trim() + "/" + fechaSeparada[1].Trim() + "/" + fechaSeparada[0].Trim();
                }

                if (!String.IsNullOrEmpty(fechaReporte))
                {
                    dataTableRequest.filtros["FechaReporte"] = "'" + fechaReporte.Trim() + "'";
                }

                var paginacionDocumentos = ConsultaPersonasResponsablesService.ObtenerInformacionAdministradores(dataTableRequest);

                resultado.InformacionExtra = paginacionDocumentos;

                resultado.Resultado = true;
            }
            catch (Exception e)
            {
                LogUtil.Error(e);
                resultado.Mensaje   = e.Message;
                resultado.Excepcion = e.StackTrace;
                if (e.InnerException != null)
                {
                    resultado.Mensaje   += ":" + e.InnerException.Message;
                    resultado.Excepcion += ";" + e.InnerException.StackTrace;
                }
            }

            return(Json(resultado.InformacionExtra));
        }