Esempio n. 1
0
        private CompanyActivityFilter ConvertFilterDTOToFilterEntity(Company_CompanyActivityFilterDTO Company_CompanyActivityFilterDTO)
        {
            CompanyActivityFilter CompanyActivityFilter = new CompanyActivityFilter();

            CompanyActivityFilter.Selects   = CompanyActivitySelect.ALL;
            CompanyActivityFilter.Skip      = Company_CompanyActivityFilterDTO.Skip;
            CompanyActivityFilter.Take      = Company_CompanyActivityFilterDTO.Take;
            CompanyActivityFilter.OrderBy   = Company_CompanyActivityFilterDTO.OrderBy;
            CompanyActivityFilter.OrderType = Company_CompanyActivityFilterDTO.OrderType;

            CompanyActivityFilter.Id                 = Company_CompanyActivityFilterDTO.Id;
            CompanyActivityFilter.Title              = Company_CompanyActivityFilterDTO.Title;
            CompanyActivityFilter.FromDate           = Company_CompanyActivityFilterDTO.FromDate;
            CompanyActivityFilter.ToDate             = Company_CompanyActivityFilterDTO.ToDate;
            CompanyActivityFilter.ActivityTypeId     = Company_CompanyActivityFilterDTO.ActivityTypeId;
            CompanyActivityFilter.ActivityPriorityId = Company_CompanyActivityFilterDTO.ActivityPriorityId;
            CompanyActivityFilter.Description        = Company_CompanyActivityFilterDTO.Description;
            CompanyActivityFilter.Address            = Company_CompanyActivityFilterDTO.Address;
            CompanyActivityFilter.CompanyId          = Company_CompanyActivityFilterDTO.CompanyId;
            CompanyActivityFilter.AppUserId          = Company_CompanyActivityFilterDTO.AppUserId;
            CompanyActivityFilter.ActivityStatusId   = Company_CompanyActivityFilterDTO.ActivityStatusId;
            CompanyActivityFilter.CreatedAt          = Company_CompanyActivityFilterDTO.CreatedAt;
            CompanyActivityFilter.UpdatedAt          = Company_CompanyActivityFilterDTO.UpdatedAt;
            return(CompanyActivityFilter);
        }
        public async Task <int> Count(CompanyActivityFilter filter)
        {
            IQueryable <CompanyActivityDAO> CompanyActivities = DataContext.CompanyActivity.AsNoTracking();

            CompanyActivities = DynamicFilter(CompanyActivities, filter);
            return(await CompanyActivities.CountAsync());
        }
Esempio n. 3
0
        public async Task <List <CompanyActivity> > List(CompanyActivityFilter CompanyActivityFilter)
        {
            try
            {
                List <CompanyActivity> CompanyActivitys = await UOW.CompanyActivityRepository.List(CompanyActivityFilter);

                return(CompanyActivitys);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(CompanyActivityService));
            }
            return(null);
        }
Esempio n. 4
0
        public async Task <int> Count(CompanyActivityFilter CompanyActivityFilter)
        {
            try
            {
                int result = await UOW.CompanyActivityRepository.Count(CompanyActivityFilter);

                return(result);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(CompanyActivityService));
            }
            return(0);
        }
        public async Task <List <CompanyActivity> > List(CompanyActivityFilter filter)
        {
            if (filter == null)
            {
                return(new List <CompanyActivity>());
            }
            IQueryable <CompanyActivityDAO> CompanyActivityDAOs = DataContext.CompanyActivity.AsNoTracking();

            CompanyActivityDAOs = DynamicFilter(CompanyActivityDAOs, filter);
            CompanyActivityDAOs = DynamicOrder(CompanyActivityDAOs, filter);
            List <CompanyActivity> CompanyActivities = await DynamicSelect(CompanyActivityDAOs, filter);

            return(CompanyActivities);
        }
Esempio n. 6
0
        public async Task <ActionResult <int> > CountActivity([FromBody] Company_CompanyActivityFilterDTO Company_CompanyActivityFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CompanyActivityFilter CompanyActivityFilter = ConvertFilterDTOToFilterEntity(Company_CompanyActivityFilterDTO);

            CompanyActivityFilter = await CompanyActivityService.ToFilter(CompanyActivityFilter);

            int count = await CompanyActivityService.Count(CompanyActivityFilter);

            return(count);
        }
        public async Task <bool> ValidateId(CompanyActivity CompanyActivity)
        {
            CompanyActivityFilter CompanyActivityFilter = new CompanyActivityFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = CompanyActivity.Id
                },
                Selects = CompanyActivitySelect.Id
            };

            int count = await UOW.CompanyActivityRepository.Count(CompanyActivityFilter);

            if (count == 0)
            {
                CompanyActivity.AddError(nameof(CompanyActivityValidator), nameof(CompanyActivity.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
Esempio n. 8
0
        public async Task <ActionResult <List <Company_CompanyActivityDTO> > > ListActivity([FromBody] Company_CompanyActivityFilterDTO Company_CompanyActivityFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CompanyActivityFilter CompanyActivityFilter = ConvertFilterDTOToFilterEntity(Company_CompanyActivityFilterDTO);

            CompanyActivityFilter = await CompanyActivityService.ToFilter(CompanyActivityFilter);

            List <CompanyActivity> CompanyActivities = await CompanyActivityService.List(CompanyActivityFilter);

            List <Company_CompanyActivityDTO> Company_CompanyActivityDTOs = CompanyActivities
                                                                            .Select(c => new Company_CompanyActivityDTO(c)).ToList();

            return(Company_CompanyActivityDTOs);
        }
Esempio n. 9
0
 public async Task <CompanyActivityFilter> ToFilter(CompanyActivityFilter filter)
 {
     if (filter.OrFilter == null)
     {
         filter.OrFilter = new List <CompanyActivityFilter>();
     }
     if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0)
     {
         return(filter);
     }
     foreach (var currentFilter in CurrentContext.Filters)
     {
         CompanyActivityFilter subFilter = new CompanyActivityFilter();
         filter.OrFilter.Add(subFilter);
         List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value;
         foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions)
         {
             if (FilterPermissionDefinition.Name == nameof(subFilter.Id))
             {
                 subFilter.Id = FilterBuilder.Merge(subFilter.Id, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.Title))
             {
                 subFilter.Title = FilterBuilder.Merge(subFilter.Title, FilterPermissionDefinition.StringFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.FromDate))
             {
                 subFilter.FromDate = FilterBuilder.Merge(subFilter.FromDate, FilterPermissionDefinition.DateFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.ToDate))
             {
                 subFilter.ToDate = FilterBuilder.Merge(subFilter.ToDate, FilterPermissionDefinition.DateFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.ActivityTypeId))
             {
                 subFilter.ActivityTypeId = FilterBuilder.Merge(subFilter.ActivityTypeId, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.ActivityPriorityId))
             {
                 subFilter.ActivityPriorityId = FilterBuilder.Merge(subFilter.ActivityPriorityId, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.Description))
             {
                 subFilter.Description = FilterBuilder.Merge(subFilter.Description, FilterPermissionDefinition.StringFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.Address))
             {
                 subFilter.Address = FilterBuilder.Merge(subFilter.Address, FilterPermissionDefinition.StringFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.CompanyId))
             {
                 subFilter.CompanyId = FilterBuilder.Merge(subFilter.CompanyId, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.AppUserId))
             {
                 subFilter.AppUserId = FilterBuilder.Merge(subFilter.AppUserId, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(subFilter.ActivityStatusId))
             {
                 subFilter.ActivityStatusId = FilterBuilder.Merge(subFilter.ActivityStatusId, FilterPermissionDefinition.IdFilter);
             }
             if (FilterPermissionDefinition.Name == nameof(CurrentContext.UserId) && FilterPermissionDefinition.IdFilter != null)
             {
                 if (FilterPermissionDefinition.IdFilter.Equal.HasValue && FilterPermissionDefinition.IdFilter.Equal.Value == CurrentUserEnum.IS.Id)
                 {
                 }
                 if (FilterPermissionDefinition.IdFilter.Equal.HasValue && FilterPermissionDefinition.IdFilter.Equal.Value == CurrentUserEnum.ISNT.Id)
                 {
                 }
             }
         }
     }
     return(filter);
 }
Esempio n. 10
0
        private IQueryable <CompanyActivityDAO> OrFilter(IQueryable <CompanyActivityDAO> query, CompanyActivityFilter filter)
        {
            if (filter.OrFilter == null || filter.OrFilter.Count == 0)
            {
                return(query);
            }
            IQueryable <CompanyActivityDAO> initQuery = query.Where(q => false);

            foreach (CompanyActivityFilter CompanyActivityFilter in filter.OrFilter)
            {
                IQueryable <CompanyActivityDAO> queryable = query;
                if (CompanyActivityFilter.Id != null && CompanyActivityFilter.Id.HasValue)
                {
                    queryable = queryable.Where(q => q.Id, CompanyActivityFilter.Id);
                }
                if (CompanyActivityFilter.Title != null && CompanyActivityFilter.Title.HasValue)
                {
                    queryable = queryable.Where(q => q.Title, CompanyActivityFilter.Title);
                }
                if (CompanyActivityFilter.FromDate != null && CompanyActivityFilter.FromDate.HasValue)
                {
                    queryable = queryable.Where(q => q.FromDate, CompanyActivityFilter.FromDate);
                }
                if (CompanyActivityFilter.ToDate != null && CompanyActivityFilter.ToDate.HasValue)
                {
                    queryable = queryable.Where(q => q.ToDate.HasValue).Where(q => q.ToDate, CompanyActivityFilter.ToDate);
                }
                if (CompanyActivityFilter.ActivityTypeId != null && CompanyActivityFilter.ActivityTypeId.HasValue)
                {
                    queryable = queryable.Where(q => q.ActivityTypeId, CompanyActivityFilter.ActivityTypeId);
                }
                if (CompanyActivityFilter.ActivityPriorityId != null && CompanyActivityFilter.ActivityPriorityId.HasValue)
                {
                    queryable = queryable.Where(q => q.ActivityPriorityId.HasValue).Where(q => q.ActivityPriorityId, CompanyActivityFilter.ActivityPriorityId);
                }
                if (CompanyActivityFilter.Description != null && CompanyActivityFilter.Description.HasValue)
                {
                    queryable = queryable.Where(q => q.Description, CompanyActivityFilter.Description);
                }
                if (CompanyActivityFilter.Address != null && CompanyActivityFilter.Address.HasValue)
                {
                    queryable = queryable.Where(q => q.Address, CompanyActivityFilter.Address);
                }
                if (CompanyActivityFilter.CompanyId != null && CompanyActivityFilter.CompanyId.HasValue)
                {
                    queryable = queryable.Where(q => q.CompanyId, CompanyActivityFilter.CompanyId);
                }
                if (CompanyActivityFilter.AppUserId != null && CompanyActivityFilter.AppUserId.HasValue)
                {
                    queryable = queryable.Where(q => q.AppUserId, CompanyActivityFilter.AppUserId);
                }
                if (CompanyActivityFilter.ActivityStatusId != null && CompanyActivityFilter.ActivityStatusId.HasValue)
                {
                    queryable = queryable.Where(q => q.ActivityStatusId, CompanyActivityFilter.ActivityStatusId);
                }
                initQuery = initQuery.Union(queryable);
            }
            return(initQuery);
        }
Esempio n. 11
0
 private IQueryable <CompanyActivityDAO> DynamicFilter(IQueryable <CompanyActivityDAO> query, CompanyActivityFilter filter)
 {
     if (filter == null)
     {
         return(query.Where(q => false));
     }
     query = query.Where(q => !q.DeletedAt.HasValue);
     if (filter.CreatedAt != null && filter.CreatedAt.HasValue)
     {
         query = query.Where(q => q.CreatedAt, filter.CreatedAt);
     }
     if (filter.UpdatedAt != null && filter.UpdatedAt.HasValue)
     {
         query = query.Where(q => q.UpdatedAt, filter.UpdatedAt);
     }
     if (filter.Id != null && filter.Id.HasValue)
     {
         query = query.Where(q => q.Id, filter.Id);
     }
     if (filter.Title != null && filter.Title.HasValue)
     {
         query = query.Where(q => q.Title, filter.Title);
     }
     if (filter.FromDate != null && filter.FromDate.HasValue)
     {
         query = query.Where(q => q.FromDate, filter.FromDate);
     }
     if (filter.ToDate != null && filter.ToDate.HasValue)
     {
         query = query.Where(q => q.ToDate == null).Union(query.Where(q => q.ToDate.HasValue).Where(q => q.ToDate, filter.ToDate));
     }
     if (filter.ActivityTypeId != null && filter.ActivityTypeId.HasValue)
     {
         query = query.Where(q => q.ActivityTypeId, filter.ActivityTypeId);
     }
     if (filter.ActivityPriorityId != null && filter.ActivityPriorityId.HasValue)
     {
         query = query.Where(q => q.ActivityPriorityId.HasValue).Where(q => q.ActivityPriorityId, filter.ActivityPriorityId);
     }
     if (filter.Description != null && filter.Description.HasValue)
     {
         query = query.Where(q => q.Description, filter.Description);
     }
     if (filter.Address != null && filter.Address.HasValue)
     {
         query = query.Where(q => q.Address, filter.Address);
     }
     if (filter.CompanyId != null && filter.CompanyId.HasValue)
     {
         query = query.Where(q => q.CompanyId, filter.CompanyId);
     }
     if (filter.AppUserId != null && filter.AppUserId.HasValue)
     {
         query = query.Where(q => q.AppUserId, filter.AppUserId);
     }
     if (filter.ActivityStatusId != null && filter.ActivityStatusId.HasValue)
     {
         query = query.Where(q => q.ActivityStatusId, filter.ActivityStatusId);
     }
     query = OrFilter(query, filter);
     return(query);
 }
Esempio n. 12
0
        private async Task <List <CompanyActivity> > DynamicSelect(IQueryable <CompanyActivityDAO> query, CompanyActivityFilter filter)
        {
            List <CompanyActivity> CompanyActivities = await query.Select(q => new CompanyActivity()
            {
                Id                 = filter.Selects.Contains(CompanyActivitySelect.Id) ? q.Id : default(long),
                Title              = filter.Selects.Contains(CompanyActivitySelect.Title) ? q.Title : default(string),
                FromDate           = filter.Selects.Contains(CompanyActivitySelect.FromDate) ? q.FromDate : default(DateTime),
                ToDate             = filter.Selects.Contains(CompanyActivitySelect.ToDate) ? q.ToDate : default(DateTime?),
                ActivityTypeId     = filter.Selects.Contains(CompanyActivitySelect.ActivityType) ? q.ActivityTypeId : default(long),
                ActivityPriorityId = filter.Selects.Contains(CompanyActivitySelect.ActivityPriority) ? q.ActivityPriorityId : default(long?),
                Description        = filter.Selects.Contains(CompanyActivitySelect.Description) ? q.Description : default(string),
                Address            = filter.Selects.Contains(CompanyActivitySelect.Address) ? q.Address : default(string),
                CompanyId          = filter.Selects.Contains(CompanyActivitySelect.Company) ? q.CompanyId : default(long),
                AppUserId          = filter.Selects.Contains(CompanyActivitySelect.AppUser) ? q.AppUserId : default(long),
                ActivityStatusId   = filter.Selects.Contains(CompanyActivitySelect.ActivityStatus) ? q.ActivityStatusId : default(long),
                ActivityPriority   = filter.Selects.Contains(CompanyActivitySelect.ActivityPriority) && q.ActivityPriority != null ? new ActivityPriority
                {
                    Id   = q.ActivityPriority.Id,
                    Code = q.ActivityPriority.Code,
                    Name = q.ActivityPriority.Name,
                } : null,
                ActivityStatus = filter.Selects.Contains(CompanyActivitySelect.ActivityStatus) && q.ActivityStatus != null ? new ActivityStatus
                {
                    Id   = q.ActivityStatus.Id,
                    Code = q.ActivityStatus.Code,
                    Name = q.ActivityStatus.Name,
                } : null,
                ActivityType = filter.Selects.Contains(CompanyActivitySelect.ActivityType) && q.ActivityType != null ? new ActivityType
                {
                    Id   = q.ActivityType.Id,
                    Code = q.ActivityType.Code,
                    Name = q.ActivityType.Name,
                } : null,
                AppUser = filter.Selects.Contains(CompanyActivitySelect.AppUser) && q.AppUser != null ? new AppUser
                {
                    Id             = q.AppUser.Id,
                    Username       = q.AppUser.Username,
                    DisplayName    = q.AppUser.DisplayName,
                    Address        = q.AppUser.Address,
                    Email          = q.AppUser.Email,
                    Phone          = q.AppUser.Phone,
                    SexId          = q.AppUser.SexId,
                    Birthday       = q.AppUser.Birthday,
                    Avatar         = q.AppUser.Avatar,
                    Department     = q.AppUser.Department,
                    OrganizationId = q.AppUser.OrganizationId,
                    Longitude      = q.AppUser.Longitude,
                    Latitude       = q.AppUser.Latitude,
                    StatusId       = q.AppUser.StatusId,
                    RowId          = q.AppUser.RowId,
                    Used           = q.AppUser.Used,
                } : null,
                Company = filter.Selects.Contains(CompanyActivitySelect.Company) && q.Company != null ? new Company
                {
                    Id         = q.Company.Id,
                    Name       = q.Company.Name,
                    Phone      = q.Company.Phone,
                    FAX        = q.Company.FAX,
                    PhoneOther = q.Company.PhoneOther,
                    Email      = q.Company.Email,
                    EmailOther = q.Company.EmailOther,
                } : null,
            }).ToListAsync();

            return(CompanyActivities);
        }
Esempio n. 13
0
        private IQueryable <CompanyActivityDAO> DynamicOrder(IQueryable <CompanyActivityDAO> query, CompanyActivityFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case CompanyActivityOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

                case CompanyActivityOrder.Title:
                    query = query.OrderBy(q => q.Title);
                    break;

                case CompanyActivityOrder.FromDate:
                    query = query.OrderBy(q => q.FromDate);
                    break;

                case CompanyActivityOrder.ToDate:
                    query = query.OrderBy(q => q.ToDate);
                    break;

                case CompanyActivityOrder.ActivityType:
                    query = query.OrderBy(q => q.ActivityTypeId);
                    break;

                case CompanyActivityOrder.ActivityPriority:
                    query = query.OrderBy(q => q.ActivityPriorityId);
                    break;

                case CompanyActivityOrder.Description:
                    query = query.OrderBy(q => q.Description);
                    break;

                case CompanyActivityOrder.Address:
                    query = query.OrderBy(q => q.Address);
                    break;

                case CompanyActivityOrder.Company:
                    query = query.OrderBy(q => q.CompanyId);
                    break;

                case CompanyActivityOrder.AppUser:
                    query = query.OrderBy(q => q.AppUserId);
                    break;

                case CompanyActivityOrder.ActivityStatus:
                    query = query.OrderBy(q => q.ActivityStatusId);
                    break;
                }
                break;

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

                case CompanyActivityOrder.Title:
                    query = query.OrderByDescending(q => q.Title);
                    break;

                case CompanyActivityOrder.FromDate:
                    query = query.OrderByDescending(q => q.FromDate);
                    break;

                case CompanyActivityOrder.ToDate:
                    query = query.OrderByDescending(q => q.ToDate);
                    break;

                case CompanyActivityOrder.ActivityType:
                    query = query.OrderByDescending(q => q.ActivityTypeId);
                    break;

                case CompanyActivityOrder.ActivityPriority:
                    query = query.OrderByDescending(q => q.ActivityPriorityId);
                    break;

                case CompanyActivityOrder.Description:
                    query = query.OrderByDescending(q => q.Description);
                    break;

                case CompanyActivityOrder.Address:
                    query = query.OrderByDescending(q => q.Address);
                    break;

                case CompanyActivityOrder.Company:
                    query = query.OrderByDescending(q => q.CompanyId);
                    break;

                case CompanyActivityOrder.AppUser:
                    query = query.OrderByDescending(q => q.AppUserId);
                    break;

                case CompanyActivityOrder.ActivityStatus:
                    query = query.OrderByDescending(q => q.ActivityStatusId);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }