Esempio n. 1
0
        public async Task <List <SubjectGroupDTO> > List([FromBody] SubjectGroupFilterDTO subjectGroupFilterDTO)
        {
            SubjectGroupFilter filter = new SubjectGroupFilter
            {
                Code = new StringFilter {
                    StartsWith = subjectGroupFilterDTO.Code
                },
                Name = new StringFilter {
                    Contains = subjectGroupFilterDTO.Name
                },
                Skip      = subjectGroupFilterDTO.Skip,
                Take      = int.MaxValue,
                OrderBy   = SubjectGroupOrder.Code,
                OrderType = OrderType.ASC
            };

            List <SubjectGroup> subjectGroups = await SubjectGrupService.List(filter);

            List <SubjectGroupDTO> subjectGroupDTOs = subjectGroups.Select(s => new SubjectGroupDTO
            {
                Id   = s.Id,
                Code = s.Code,
                Name = s.Name
            }).ToList();

            return(subjectGroupDTOs);
        }
Esempio n. 2
0
        public async Task <int> Count(SubjectGroupFilter subjectGroupFilter)
        {
            IQueryable <SubjectGroupDAO> subjectGroupDAOs = tFContext.SubjectGroup;

            subjectGroupDAOs = DynamicFilter(subjectGroupDAOs, subjectGroupFilter);
            return(await subjectGroupDAOs.CountAsync());
        }
Esempio n. 3
0
        public async Task <List <SubjectGroup> > List(SubjectGroupFilter subjectGroupFilter)
        {
            if (subjectGroupFilter == null)
            {
                return(new List <SubjectGroup>());
            }
            IQueryable <SubjectGroupDAO> subjectGroupDAOs = tFContext.SubjectGroup;

            subjectGroupDAOs = DynamicFilter(subjectGroupDAOs, subjectGroupFilter);
            subjectGroupDAOs = DynamicOrder(subjectGroupDAOs, subjectGroupFilter);
            var subjectGroups = await DynamicSelect(subjectGroupDAOs);

            return(subjectGroups);
        }
        private async Task <bool> CodeValidate(SubjectGroup subjectGroup)
        {
            //Kiểm tra sự trùng lặp Code
            SubjectGroupFilter filter = new SubjectGroupFilter
            {
                Code = new StringFilter {
                    Equal = subjectGroup.Code
                }
            };

            var count = await UOW.SubjectGroupRepository.Count(filter);

            if (count > 0)
            {
                subjectGroup.AddError(nameof(SubjectGroupValidator), nameof(subjectGroup.Code), ErrorCode.Duplicate);
            }
            return(subjectGroup.IsValidated);
        }
Esempio n. 5
0
        public async Task <List <SubjectGroupDTO> > List([FromBody] SubjectGroupFilterDTO subjectGroupFilterDTO)
        {
            SubjectGroupFilter filter = new SubjectGroupFilter
            {
                Code      = subjectGroupFilterDTO.Code,
                Name      = subjectGroupFilterDTO.Name,
                Skip      = subjectGroupFilterDTO.Skip,
                Take      = subjectGroupFilterDTO.Take,
                OrderBy   = subjectGroupFilterDTO.OrderBy,
                OrderType = subjectGroupFilterDTO.OrderType
            };

            List <SubjectGroup> subjectGroups = await SubjectGrupService.List(filter);

            List <SubjectGroupDTO> subjectGroupDTOs = subjectGroups.Select(s => new SubjectGroupDTO(s)).ToList();

            return(subjectGroupDTOs);
        }
Esempio n. 6
0
 public async Task <List <SubjectGroup> > List(SubjectGroupFilter subjectGroupFilter)
 {
     return(await UOW.SubjectGroupRepository.List(subjectGroupFilter));
 }
Esempio n. 7
0
        private IQueryable <SubjectGroupDAO> DynamicOrder(IQueryable <SubjectGroupDAO> query, SubjectGroupFilter subjectGroupFilter)
        {
            switch (subjectGroupFilter.OrderType)
            {
            case OrderType.ASC:
                switch (subjectGroupFilter.OrderBy)
                {
                case SubjectGroupOrder.Code:
                    query = query.OrderBy(q => q.Code);
                    break;

                case SubjectGroupOrder.Name:
                    query = query.OrderBy(q => q.Name);
                    break;

                default:
                    query = query.OrderBy(q => q.CX);
                    break;
                }
                break;

            case OrderType.DESC:
                switch (subjectGroupFilter.OrderBy)
                {
                case SubjectGroupOrder.Code:
                    query = query.OrderByDescending(q => q.Code);
                    break;

                case SubjectGroupOrder.Name:
                    query = query.OrderByDescending(q => q.Name);
                    break;

                default:
                    query = query.OrderByDescending(q => q.CX);
                    break;
                }
                break;

            default:
                query = query.OrderBy(q => q.CX);
                break;
            }
            query = query.Skip(subjectGroupFilter.Skip).Take(subjectGroupFilter.Take);
            return(query);
        }
Esempio n. 8
0
        private IQueryable <SubjectGroupDAO> DynamicFilter(IQueryable <SubjectGroupDAO> query, SubjectGroupFilter subjectGroupFilter)
        {
            if (subjectGroupFilter == null)
            {
                return(query.Where(q => 1 == 0));
            }

            if (subjectGroupFilter.Id != null)
            {
                query = query.Where(q => q.Id, subjectGroupFilter.Id);
            }
            if (subjectGroupFilter.Name != null)
            {
                query = query.Where(q => q.Name, subjectGroupFilter.Name);
            }
            if (subjectGroupFilter.Code != null)
            {
                query = query.Where(q => q.Code, subjectGroupFilter.Code);
            }
            return(query);
        }