Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }