Exemplo n.º 1
0
        private async Task <bool> ValidateCode(Sex Sex)
        {
            if (string.IsNullOrEmpty(Sex.Code))
            {
                Sex.AddError(nameof(SexValidator), nameof(Sex.Code), ErrorCode.CodeEmpty);
                return(false);
            }
            SexFilter SexFilter = new SexFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    NotEqual = Sex.Id
                },
                Code = new StringFilter {
                    Equal = Sex.Code
                },
                Selects = SexSelect.Code
            };

            int count = await UOW.SexRepository.Count(SexFilter);

            if (count != 0)
            {
                Sex.AddError(nameof(SexValidator), nameof(Sex.Code), ErrorCode.CodeExisted);
            }
            return(count == 0);
        }
Exemplo n.º 2
0
        public async Task <int> Count(SexFilter filter)
        {
            IQueryable <SexDAO> Sexes = DataContext.Sex.AsNoTracking();

            Sexes = DynamicFilter(Sexes, filter);
            return(await Sexes.CountAsync());
        }
Exemplo n.º 3
0
        private IQueryable <SexDAO> OrFilter(IQueryable <SexDAO> query, SexFilter filter)
        {
            if (filter.OrFilter == null || filter.OrFilter.Count == 0)
            {
                return(query);
            }
            IQueryable <SexDAO> initQuery = query.Where(q => false);

            foreach (SexFilter SexFilter in filter.OrFilter)
            {
                IQueryable <SexDAO> queryable = query;
                if (SexFilter.Id != null && SexFilter.Id.HasValue)
                {
                    queryable = queryable.Where(q => q.Id, SexFilter.Id);
                }
                if (SexFilter.Code != null && SexFilter.Code.HasValue)
                {
                    queryable = queryable.Where(q => q.Code, SexFilter.Code);
                }
                if (SexFilter.Name != null && SexFilter.Name.HasValue)
                {
                    queryable = queryable.Where(q => q.Name, SexFilter.Name);
                }
                initQuery = initQuery.Union(queryable);
            }
            return(initQuery);
        }
Exemplo n.º 4
0
        public async Task <int> Count(SexFilter filter)
        {
            IQueryable <SexDAO> Sexs = DataContext.Sex;

            Sexs = DynamicFilter(Sexs, filter);
            return(await Sexs.CountAsync());
        }
Exemplo n.º 5
0
        private async Task <List <Sex> > DynamicSelect(IQueryable <SexDAO> query, SexFilter filter)
        {
            List <Sex> Sexes = await query.Select(q => new Sex()
            {
                Id   = filter.Selects.Contains(SexSelect.Id) ? q.Id : default(long),
                Code = filter.Selects.Contains(SexSelect.Code) ? q.Code : default(string),
                Name = filter.Selects.Contains(SexSelect.Name) ? q.Name : default(string),
            }).ToListAsync();

            return(Sexes);
        }
Exemplo n.º 6
0
        public async Task <List <Sex> > List(SexFilter filter)
        {
            if (filter == null)
            {
                return(new List <Sex>());
            }
            IQueryable <SexDAO> SexDAOs = DataContext.Sex.AsNoTracking();

            SexDAOs = DynamicFilter(SexDAOs, filter);
            SexDAOs = DynamicOrder(SexDAOs, filter);
            List <Sex> Sexes = await DynamicSelect(SexDAOs, filter);

            return(Sexes);
        }
Exemplo n.º 7
0
        public async Task <List <Sex> > List(SexFilter SexFilter)
        {
            try
            {
                List <Sex> Sexs = await UOW.SexRepository.List(SexFilter);

                return(Sexs);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(SexService));
            }
            return(null);
        }
Exemplo n.º 8
0
        public async Task <int> Count(SexFilter SexFilter)
        {
            try
            {
                int result = await UOW.SexRepository.Count(SexFilter);

                return(result);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(SexService));
            }
            return(0);
        }
Exemplo n.º 9
0
        public async Task <List <AppUser_SexDTO> > SingleListSex([FromBody] AppUser_SexFilterDTO AppUser_SexFilterDTO)
        {
            SexFilter SexFilter = new SexFilter();

            SexFilter.Skip      = 0;
            SexFilter.Take      = 20;
            SexFilter.OrderBy   = SexOrder.Id;
            SexFilter.OrderType = OrderType.ASC;
            SexFilter.Selects   = SexSelect.ALL;
            SexFilter.Id        = AppUser_SexFilterDTO.Id;
            SexFilter.Code      = AppUser_SexFilterDTO.Code;
            SexFilter.Name      = AppUser_SexFilterDTO.Name;
            List <Sex> Sexes = await SexService.List(SexFilter);

            List <AppUser_SexDTO> AppUser_SexDTOs = Sexes
                                                    .Select(x => new AppUser_SexDTO(x)).ToList();

            return(AppUser_SexDTOs);
        }
Exemplo n.º 10
0
        public async Task <bool> ValidateId(Sex Sex)
        {
            SexFilter SexFilter = new SexFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = Sex.Id
                },
                Selects = SexSelect.Id
            };

            int count = await UOW.SexRepository.Count(SexFilter);

            if (count == 0)
            {
                Sex.AddError(nameof(SexValidator), nameof(Sex.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
Exemplo n.º 11
0
        private IQueryable <SexDAO> DynamicOrder(IQueryable <SexDAO> query, SexFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case SexOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

                case SexOrder.Code:
                    query = query.OrderBy(q => q.Code);
                    break;

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

            case OrderType.DESC:
                switch (filter.OrderBy)
                {
                case SexOrder.Id:
                    query = query.OrderByDescending(q => q.Id);
                    break;

                case SexOrder.Code:
                    query = query.OrderByDescending(q => q.Code);
                    break;

                case SexOrder.Name:
                    query = query.OrderByDescending(q => q.Name);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Exemplo n.º 12
0
 private IQueryable <SexDAO> DynamicFilter(IQueryable <SexDAO> query, SexFilter filter)
 {
     if (filter == null)
     {
         return(query.Where(q => false));
     }
     if (filter.Id != null && filter.Id.HasValue)
     {
         query = query.Where(q => q.Id, filter.Id);
     }
     if (filter.Code != null && filter.Code.HasValue)
     {
         query = query.Where(q => q.Code, filter.Code);
     }
     if (filter.Name != null && filter.Name.HasValue)
     {
         query = query.Where(q => q.Name, filter.Name);
     }
     query = OrFilter(query, filter);
     return(query);
 }
Exemplo n.º 13
0
        public async Task <List <Sex> > List(SexFilter SexFilter)
        {
            try
            {
                List <Sex> Sexs = await UOW.SexRepository.List(SexFilter);

                return(Sexs);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex.InnerException, nameof(SexService));

                if (ex.InnerException == null)
                {
                    throw new MessageException(ex);
                }
                else
                {
                    throw new MessageException(ex.InnerException);
                }
            }
        }
Exemplo n.º 14
0
        public async Task <int> Count(SexFilter SexFilter)
        {
            try
            {
                int result = await UOW.SexRepository.Count(SexFilter);

                return(result);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex.InnerException, nameof(SexService));

                if (ex.InnerException == null)
                {
                    throw new MessageException(ex);
                }
                else
                {
                    throw new MessageException(ex.InnerException);
                }
            }
        }