public async Task <IHttpActionResult> GetAllDivicion(string id) { try { log.Info(new MDCSet(this.ControllerContext.RouteData), new InfoException(id)); List <Personas> Personas = new List <Personas>(); var result = await _repository.GetAllDivicion(id); //Obtener divicion var DivicionPersonas = await _personasrepository.GetUsersByClaveUnidad(result.ClaveUnidad); foreach (var item in DivicionPersonas) { Personas.Add(item); } //Obtener Gerencias var gerencias = await _repository.getGerenciasforDivicion(result.ClaveUnidad); foreach (var item in gerencias) { var gerenciasPersonas = await _personasrepository.GetUsersByClaveUnidad(item.ClaveUnidad); foreach (var item2 in gerenciasPersonas) { Personas.Add(item2); } } Personas = Personas .GroupBy(x => x.ClavePersona) .Select(x => x.FirstOrDefault()) .ToList(); return(Ok(Personas)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }