public void DeleteArea(int areaID) { if (areaRepository.GetByID(areaID) == null) { throw new DoesNotExistsException("Area no existe"); } Area toDelete = areaRepository.GetByID(areaID); List <Indicator> indicators = indicatorRepository.GetByCondition(x => x.Area == areaID).ToList(); List <AreaUser> areaUsers = areaUserRepository.GetByCondition(x => x.AreaID == areaID).ToList(); IndicatorLogic il = new IndicatorLogic(indicatorRepository); foreach (AreaUser au in areaUsers) { areaUserRepository.Delete(au); areaUserRepository.Update(au); areaUserRepository.Save(); } foreach (Indicator ind in indicators) { il.DeleteIndicator(ind.ID); } toDelete.AreaUsers.Clear(); areaRepository.Update(toDelete); areaRepository.Delete(toDelete); areaRepository.Save(); }
public List <Indicator> GetAllIndicators(User user) { List <UserIndicator> toSearch = userIndicatorRepository.GetIndicatorsByUser(user); List <Indicator> toRetrieve = new List <Indicator>(); IndicatorLogic il = new IndicatorLogic(null); foreach (UserIndicator uii in toSearch) { Indicator toAdd = (il.GetById(uii.indicator)); if (uii.name == null) { toRetrieve.Add(toAdd); } else { toAdd.Name = uii.name; toRetrieve.Add(toAdd); } } return(toRetrieve); }