Ejemplo n.º 1
0
        public RetrieveOutput <DivisionDto, long> Retrieve(RetrieveDivisionInput input)
        {
            if (input.IsActive ?? true)
            {
                UowManager.Current.EnableFilter(Filters.IPassivableFilter);
            }

            DivisionRepository.Includes.Add(r => r.LastModifierUser);
            DivisionRepository.Includes.Add(r => r.CreatorUser);
            DivisionRepository.Includes.Add(r => r.Teams);

            IList <Division> divisionEntities = DivisionRepository.GetAll()
                                                .WhereIf(input.Id != null, r => r.Id == input.Id)
                                                .WhereIf(!String.IsNullOrEmpty(input.Name), r => r.Name.ToLower().Contains(input.Name.ToLower()))
                                                .ToList();

            if (divisionEntities.Count != 1)
            {
                throw new CityQuestItemNotFoundException(CityQuestConsts.CityQuestItemNotFoundExceptionMessageBody, "\"Division\"");
            }

            if (!DivisionPolicy.CanRetrieveEntity(divisionEntities.Single()))
            {
                throw new CityQuestPolicyException(CityQuestConsts.CQPolicyExceptionRetrieveDenied, "\"Division\"");
            }

            DivisionDto divisionEntity = divisionEntities.Single().MapTo <DivisionDto>();

            DivisionRepository.Includes.Clear();

            return(new RetrieveOutput <DivisionDto, long>()
            {
                RetrievedEntity = divisionEntity
            });
        }
Ejemplo n.º 2
0
        public RetrieveAllPagedResultOutput <DivisionDto, long> RetrieveAllPagedResult(RetrieveAllDivisionsPagedResultInput input)
        {
            if (input.IsActive ?? true)
            {
                UowManager.Current.EnableFilter(Filters.IPassivableFilter);
            }

            DivisionRepository.Includes.Add(r => r.LastModifierUser);
            DivisionRepository.Includes.Add(r => r.CreatorUser);
            DivisionRepository.Includes.Add(r => r.Teams);

            IQueryable <Division> divisionsQuery = DivisionPolicy.CanRetrieveManyEntities(
                DivisionRepository.GetAll()
                .WhereIf(!input.DivisionIds.IsNullOrEmpty(), r => input.DivisionIds.Contains(r.Id))
                .WhereIf(!String.IsNullOrEmpty(input.Name), r => r.Name.ToLower().Contains(input.Name.ToLower())));

            int totalCount = divisionsQuery.Count();
            IReadOnlyList <DivisionDto> divisionDtos = divisionsQuery
                                                       .OrderByDescending(r => r.IsDefault).ThenByDescending(r => r.IsActive).ThenBy(r => r.Name)
                                                       .Skip(input.SkipCount).Take(input.MaxResultCount)
                                                       .ToList().MapIList <Division, DivisionDto>().ToList();

            DivisionRepository.Includes.Clear();

            return(new RetrieveAllPagedResultOutput <DivisionDto, long>()
            {
                Items = divisionDtos,
                TotalCount = totalCount
            });
        }
Ejemplo n.º 3
0
        public RetrieveAllOutput <DivisionDto, long> RetrieveAll(RetrieveAllDivisionInput input)
        {
            if (input.IsActive ?? true)
            {
                UowManager.Current.EnableFilter(Filters.IPassivableFilter);
            }

            DivisionRepository.Includes.Add(r => r.LastModifierUser);
            DivisionRepository.Includes.Add(r => r.CreatorUser);
            DivisionRepository.Includes.Add(r => r.Teams);

            IList <Division> divisionEntities = DivisionPolicy.CanRetrieveManyEntities(
                DivisionRepository.GetAll()
                .WhereIf(!input.DivisionIds.IsNullOrEmpty(), r => input.DivisionIds.Contains(r.Id))
                .WhereIf(!String.IsNullOrEmpty(input.Name), r => r.Name.ToLower().Contains(input.Name.ToLower())))
                                                .ToList();

            IList <DivisionDto> result = divisionEntities.MapIList <Division, DivisionDto>();

            DivisionRepository.Includes.Clear();

            return(new RetrieveAllOutput <DivisionDto, long>()
            {
                RetrievedEntities = result
            });
        }
Ejemplo n.º 4
0
        public RetrieveAllDivisionsLikeComboBoxesOutput RetrieveAllDivisionsLikeComboBoxes(RetrieveAllDivisionsLikeComboBoxesInput input)
        {
            if (input.IsActive ?? true)
            {
                UowManager.Current.EnableFilter(Filters.IPassivableFilter);
            }

            IReadOnlyList <ComboboxItemDto> divisionsLikeComboBoxes = DivisionPolicy.CanRetrieveManyEntities(
                DivisionRepository.GetAll()).ToList()
                                                                      .Select(r => new ComboboxItemDto(r.Id.ToString(), r.Name)).ToList();

            return(new RetrieveAllDivisionsLikeComboBoxesOutput()
            {
                Items = divisionsLikeComboBoxes
            });
        }
 public async Task <IEnumerable <DivisionVM> > Get()
 {
     return(await repo.GetAll());
 }