예제 #1
0
        public IHttpActionResult ExportExcelAdministradores()
        {
            IList <Administrador> listaAdministradores = new List <Administrador>();

            var espacioNombres = getFormKeyValue("espacioNombres");
            var grupoEmpresa   = getFormKeyValue("grupoEmpresa");
            var nombreCorto    = getFormKeyValue("nombreCorto");
            var fechaReporte   = getFormKeyValue("fecha");

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

            if (espacioNombres != null)
            {
                parametros.Add("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)
            {
                parametros.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))
            {
                parametros.Add("FechaReporte", "'" + fechaReporte.Trim() + "'");
            }

            listaAdministradores = ConsultaPersonasResponsablesService.ObtenerInformacionReporteAdministradores(parametros);

            return(this.ExportDataToExcel("Listado", listaAdministradores, "administradores.xls", Administrador.diccionarioColumnasExcel));
        }