public async Task <int> Count(CustomerPointHistoryFilter filter) { IQueryable <CustomerPointHistoryDAO> CustomerPointHistories = DataContext.CustomerPointHistory.AsNoTracking(); CustomerPointHistories = DynamicFilter(CustomerPointHistories, filter); return(await CustomerPointHistories.CountAsync()); }
public async Task <CustomerPointHistoryFilter> ToFilter(CustomerPointHistoryFilter filter) { if (filter.OrFilter == null) { filter.OrFilter = new List <CustomerPointHistoryFilter>(); } if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0) { return(filter); } foreach (var currentFilter in CurrentContext.Filters) { CustomerPointHistoryFilter subFilter = new CustomerPointHistoryFilter(); 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.CustomerId)) { subFilter.CustomerId = FilterBuilder.Merge(subFilter.CustomerId, FilterPermissionDefinition.IdFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.TotalPoint)) { subFilter.TotalPoint = FilterBuilder.Merge(subFilter.TotalPoint, FilterPermissionDefinition.LongFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.CurrentPoint)) { subFilter.CurrentPoint = FilterBuilder.Merge(subFilter.CurrentPoint, FilterPermissionDefinition.LongFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.ChangePoint)) { subFilter.ChangePoint = FilterBuilder.Merge(subFilter.ChangePoint, FilterPermissionDefinition.LongFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.Description)) { subFilter.Description = FilterBuilder.Merge(subFilter.Description, FilterPermissionDefinition.StringFilter); } 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); }
public async Task <List <CustomerPointHistory> > List(CustomerPointHistoryFilter filter) { if (filter == null) { return(new List <CustomerPointHistory>()); } IQueryable <CustomerPointHistoryDAO> CustomerPointHistoryDAOs = DataContext.CustomerPointHistory.AsNoTracking(); CustomerPointHistoryDAOs = DynamicFilter(CustomerPointHistoryDAOs, filter); CustomerPointHistoryDAOs = DynamicOrder(CustomerPointHistoryDAOs, filter); List <CustomerPointHistory> CustomerPointHistories = await DynamicSelect(CustomerPointHistoryDAOs, filter); return(CustomerPointHistories); }
public async Task <List <CustomerPointHistory> > List(CustomerPointHistoryFilter CustomerPointHistoryFilter) { try { List <CustomerPointHistory> CustomerPointHistorys = await UOW.CustomerPointHistoryRepository.List(CustomerPointHistoryFilter); return(CustomerPointHistorys); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(CustomerPointHistoryService)); } return(null); }
public async Task <int> Count(CustomerPointHistoryFilter CustomerPointHistoryFilter) { try { int result = await UOW.CustomerPointHistoryRepository.Count(CustomerPointHistoryFilter); return(result); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(CustomerPointHistoryService)); } return(0); }
public async Task <ActionResult <int> > CountCustomerPointHistory([FromBody] Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO) { if (UnAuthorization) { return(Forbid()); } if (!ModelState.IsValid) { throw new BindException(ModelState); } CustomerPointHistoryFilter CustomerPointHistoryFilter = ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO); CustomerPointHistoryFilter = await CustomerPointHistoryService.ToFilter(CustomerPointHistoryFilter); int count = await CustomerPointHistoryService.Count(CustomerPointHistoryFilter); return(count); }
private CustomerPointHistoryFilter ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO) { CustomerPointHistoryFilter CustomerPointHistoryFilter = new CustomerPointHistoryFilter(); CustomerPointHistoryFilter.Selects = CustomerPointHistorySelect.ALL; CustomerPointHistoryFilter.Skip = Customer_CustomerPointHistoryFilterDTO.Skip; CustomerPointHistoryFilter.Take = Customer_CustomerPointHistoryFilterDTO.Take; CustomerPointHistoryFilter.OrderBy = Customer_CustomerPointHistoryFilterDTO.OrderBy; CustomerPointHistoryFilter.OrderType = Customer_CustomerPointHistoryFilterDTO.OrderType; CustomerPointHistoryFilter.Id = Customer_CustomerPointHistoryFilterDTO.Id; CustomerPointHistoryFilter.CustomerId = Customer_CustomerPointHistoryFilterDTO.CustomerId; CustomerPointHistoryFilter.TotalPoint = Customer_CustomerPointHistoryFilterDTO.TotalPoint; CustomerPointHistoryFilter.CurrentPoint = Customer_CustomerPointHistoryFilterDTO.CurrentPoint; CustomerPointHistoryFilter.ChangePoint = Customer_CustomerPointHistoryFilterDTO.ChangePoint; CustomerPointHistoryFilter.Description = Customer_CustomerPointHistoryFilterDTO.Description; CustomerPointHistoryFilter.CreatedAt = Customer_CustomerPointHistoryFilterDTO.CreatedAt; CustomerPointHistoryFilter.UpdatedAt = Customer_CustomerPointHistoryFilterDTO.UpdatedAt; return(CustomerPointHistoryFilter); }
public async Task <bool> ValidateId(CustomerPointHistory CustomerPointHistory) { CustomerPointHistoryFilter CustomerPointHistoryFilter = new CustomerPointHistoryFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = CustomerPointHistory.Id }, Selects = CustomerPointHistorySelect.Id }; int count = await UOW.CustomerPointHistoryRepository.Count(CustomerPointHistoryFilter); if (count == 0) { CustomerPointHistory.AddError(nameof(CustomerPointHistoryValidator), nameof(CustomerPointHistory.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task <ActionResult <List <Customer_CustomerPointHistoryDTO> > > ListCustomerPointHistory([FromBody] Customer_CustomerPointHistoryFilterDTO Customer_CustomerPointHistoryFilterDTO) { if (UnAuthorization) { return(Forbid()); } if (!ModelState.IsValid) { throw new BindException(ModelState); } CustomerPointHistoryFilter CustomerPointHistoryFilter = ConvertCustomerPointHistoryFilter(Customer_CustomerPointHistoryFilterDTO); CustomerPointHistoryFilter = await CustomerPointHistoryService.ToFilter(CustomerPointHistoryFilter); List <CustomerPointHistory> CustomerPointHistories = await CustomerPointHistoryService.List(CustomerPointHistoryFilter); List <Customer_CustomerPointHistoryDTO> Customer_CustomerPointHistoryDTOs = CustomerPointHistories .Select(c => new Customer_CustomerPointHistoryDTO(c)).ToList(); return(Customer_CustomerPointHistoryDTOs); }
private IQueryable <CustomerPointHistoryDAO> OrFilter(IQueryable <CustomerPointHistoryDAO> query, CustomerPointHistoryFilter filter) { if (filter.OrFilter == null || filter.OrFilter.Count == 0) { return(query); } IQueryable <CustomerPointHistoryDAO> initQuery = query.Where(q => false); foreach (CustomerPointHistoryFilter CustomerPointHistoryFilter in filter.OrFilter) { IQueryable <CustomerPointHistoryDAO> queryable = query; if (CustomerPointHistoryFilter.Id != null && CustomerPointHistoryFilter.Id.HasValue) { queryable = queryable.Where(q => q.Id, CustomerPointHistoryFilter.Id); } if (CustomerPointHistoryFilter.CustomerId != null && CustomerPointHistoryFilter.CustomerId.HasValue) { queryable = queryable.Where(q => q.CustomerId, CustomerPointHistoryFilter.CustomerId); } if (CustomerPointHistoryFilter.TotalPoint != null && CustomerPointHistoryFilter.TotalPoint.HasValue) { queryable = queryable.Where(q => q.TotalPoint, CustomerPointHistoryFilter.TotalPoint); } if (CustomerPointHistoryFilter.CurrentPoint != null && CustomerPointHistoryFilter.CurrentPoint.HasValue) { queryable = queryable.Where(q => q.CurrentPoint, CustomerPointHistoryFilter.CurrentPoint); } if (CustomerPointHistoryFilter.ChangePoint != null && CustomerPointHistoryFilter.ChangePoint.HasValue) { queryable = queryable.Where(q => q.ChangePoint, CustomerPointHistoryFilter.ChangePoint); } if (CustomerPointHistoryFilter.Description != null && CustomerPointHistoryFilter.Description.HasValue) { queryable = queryable.Where(q => q.Description, CustomerPointHistoryFilter.Description); } initQuery = initQuery.Union(queryable); } return(initQuery); }
private IQueryable <CustomerPointHistoryDAO> DynamicFilter(IQueryable <CustomerPointHistoryDAO> query, CustomerPointHistoryFilter 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.CustomerId != null && filter.CustomerId.HasValue) { query = query.Where(q => q.CustomerId, filter.CustomerId); } if (filter.TotalPoint != null && filter.TotalPoint.HasValue) { query = query.Where(q => q.TotalPoint, filter.TotalPoint); } if (filter.CurrentPoint != null && filter.CurrentPoint.HasValue) { query = query.Where(q => q.CurrentPoint, filter.CurrentPoint); } if (filter.ChangePoint != null && filter.ChangePoint.HasValue) { query = query.Where(q => q.ChangePoint, filter.ChangePoint); } if (filter.Description != null && filter.Description.HasValue) { query = query.Where(q => q.Description, filter.Description); } query = OrFilter(query, filter); return(query); }
private async Task <List <CustomerPointHistory> > DynamicSelect(IQueryable <CustomerPointHistoryDAO> query, CustomerPointHistoryFilter filter) { List <CustomerPointHistory> CustomerPointHistories = await query.Select(q => new CustomerPointHistory() { Id = filter.Selects.Contains(CustomerPointHistorySelect.Id) ? q.Id : default(long), CustomerId = filter.Selects.Contains(CustomerPointHistorySelect.Customer) ? q.CustomerId : default(long), TotalPoint = filter.Selects.Contains(CustomerPointHistorySelect.TotalPoint) ? q.TotalPoint : default(long), CurrentPoint = filter.Selects.Contains(CustomerPointHistorySelect.CurrentPoint) ? q.CurrentPoint : default(long), ChangePoint = filter.Selects.Contains(CustomerPointHistorySelect.ChangePoint) ? q.ChangePoint : default(long), IsIncrease = filter.Selects.Contains(CustomerPointHistorySelect.IsIncrease) ? q.IsIncrease : default(bool), Description = filter.Selects.Contains(CustomerPointHistorySelect.Description) ? q.Description : default(string), ReduceTotal = filter.Selects.Contains(CustomerPointHistorySelect.ReduceTotal) ? q.ReduceTotal : default(bool), Customer = filter.Selects.Contains(CustomerPointHistorySelect.Customer) && q.Customer != null ? new Customer { Id = q.Customer.Id, Code = q.Customer.Code, Name = q.Customer.Name, Phone = q.Customer.Phone, Address = q.Customer.Address, NationId = q.Customer.NationId, ProvinceId = q.Customer.ProvinceId, DistrictId = q.Customer.DistrictId, WardId = q.Customer.WardId, CustomerTypeId = q.Customer.CustomerTypeId, Birthday = q.Customer.Birthday, Email = q.Customer.Email, ProfessionId = q.Customer.ProfessionId, CustomerResourceId = q.Customer.CustomerResourceId, SexId = q.Customer.SexId, StatusId = q.Customer.StatusId, CompanyId = q.Customer.CompanyId, ParentCompanyId = q.Customer.ParentCompanyId, TaxCode = q.Customer.TaxCode, Fax = q.Customer.Fax, Website = q.Customer.Website, NumberOfEmployee = q.Customer.NumberOfEmployee, BusinessTypeId = q.Customer.BusinessTypeId, Investment = q.Customer.Investment, RevenueAnnual = q.Customer.RevenueAnnual, IsSupplier = q.Customer.IsSupplier, Descreption = q.Customer.Descreption, Used = q.Customer.Used, RowId = q.Customer.RowId, } : null, }).ToListAsync(); return(CustomerPointHistories); }
private IQueryable <CustomerPointHistoryDAO> DynamicOrder(IQueryable <CustomerPointHistoryDAO> query, CustomerPointHistoryFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case CustomerPointHistoryOrder.Id: query = query.OrderBy(q => q.Id); break; case CustomerPointHistoryOrder.Customer: query = query.OrderBy(q => q.CustomerId); break; case CustomerPointHistoryOrder.TotalPoint: query = query.OrderBy(q => q.TotalPoint); break; case CustomerPointHistoryOrder.CurrentPoint: query = query.OrderBy(q => q.CurrentPoint); break; case CustomerPointHistoryOrder.ChangePoint: query = query.OrderBy(q => q.ChangePoint); break; case CustomerPointHistoryOrder.IsIncrease: query = query.OrderBy(q => q.IsIncrease); break; case CustomerPointHistoryOrder.Description: query = query.OrderBy(q => q.Description); break; case CustomerPointHistoryOrder.ReduceTotal: query = query.OrderBy(q => q.ReduceTotal); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case CustomerPointHistoryOrder.Id: query = query.OrderByDescending(q => q.Id); break; case CustomerPointHistoryOrder.Customer: query = query.OrderByDescending(q => q.CustomerId); break; case CustomerPointHistoryOrder.TotalPoint: query = query.OrderByDescending(q => q.TotalPoint); break; case CustomerPointHistoryOrder.CurrentPoint: query = query.OrderByDescending(q => q.CurrentPoint); break; case CustomerPointHistoryOrder.ChangePoint: query = query.OrderByDescending(q => q.ChangePoint); break; case CustomerPointHistoryOrder.IsIncrease: query = query.OrderByDescending(q => q.IsIncrease); break; case CustomerPointHistoryOrder.Description: query = query.OrderByDescending(q => q.Description); break; case CustomerPointHistoryOrder.ReduceTotal: query = query.OrderByDescending(q => q.ReduceTotal); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }