public IHttpActionResult ConsultarFideicomitentesDeFiduciario() { var resultado = new ResultadoOperacionDto(); resultado.Resultado = false; var cveFiduciario = getFormKeyValue("cveEmisora"); if (String.IsNullOrEmpty(cveFiduciario)) { resultado.Resultado = false; resultado.Mensaje = "El paraémtro 'cveEmisora' es requerido"; } else { var listEmpresasResult = EmpresaService.ObtenerEmpresasPorFiltro(cveFiduciario); if (listEmpresasResult.Resultado) { var listaEmp = (listEmpresasResult.InformacionExtra as IQueryable <Empresa>).ToList(); if (listaEmp.Count == 1) { //Agregar al resultado los fideicomisos representados. var resultFides = EmpresaService.ConsultarEmpresasSecundariasPorTipoRelacionYEmpresaPrimaria(ConstantsTipoRelacionEmpresa.FIDUCIARIO_DE_FIDEICOMITENTE, listaEmp[0].IdEmpresa); var resultFidesRepComun = EmpresaService.ConsultarEmpresasSecundariasRepComunPorTipoRelacionYEmpresaPrimaria(ConstantsTipoRelacionEmpresa.REPRESENTANTE_COMUN_DE_FIDEICOMITENTE, listaEmp[0].IdEmpresa); List <Empresa> resultFidesFinal = new List <Empresa>(); resultFidesFinal.AddRange(resultFides.InformacionExtra as IList <Empresa>); foreach (Empresa empresa in resultFidesRepComun.InformacionExtra as IList <Empresa> ) { Boolean existeEmpresa = false; foreach (Empresa empresaAux in resultFidesFinal) { if (empresa.Equals(empresaAux)) { existeEmpresa = true; break; } } if (!existeEmpresa) { resultFidesFinal.Add(empresa); } } if (resultFides.Resultado) { resultado.Resultado = true; var listaFides = resultFidesFinal; var mapaResultado = new Dictionary <string, Object>(); mapaResultado.Add("esFiduciario", listaFides.Count > 0 ? "1" : "0"); mapaResultado.Add("listaFideicomitentes", listaFides.Select(x => x.NombreCorto)); resultado.InformacionExtra = mapaResultado; } } else if (listaEmp.Count == 0) { resultado.Mensaje = "No existen empresas cuyo nombre corto sea:" + cveFiduciario; } else if (listaEmp.Count > 1) { resultado.Mensaje = "Existe mas de una empresa cuyo nombre corto es:" + cveFiduciario; } } else { resultado = listEmpresasResult; } } return(Json(resultado)); }