public async Task <int> Count(CustomerSalesOrderPaymentHistoryFilter filter) { IQueryable <CustomerSalesOrderPaymentHistoryDAO> CustomerSalesOrderPaymentHistories = DataContext.CustomerSalesOrderPaymentHistory.AsNoTracking(); CustomerSalesOrderPaymentHistories = DynamicFilter(CustomerSalesOrderPaymentHistories, filter); return(await CustomerSalesOrderPaymentHistories.CountAsync()); }
public async Task <CustomerSalesOrderPaymentHistoryFilter> ToFilter(CustomerSalesOrderPaymentHistoryFilter filter) { if (filter.OrFilter == null) { filter.OrFilter = new List <CustomerSalesOrderPaymentHistoryFilter>(); } if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0) { return(filter); } foreach (var currentFilter in CurrentContext.Filters) { CustomerSalesOrderPaymentHistoryFilter subFilter = new CustomerSalesOrderPaymentHistoryFilter(); 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.CustomerSalesOrderId)) { subFilter.CustomerSalesOrderId = FilterBuilder.Merge(subFilter.CustomerSalesOrderId, FilterPermissionDefinition.IdFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.PaymentMilestone)) { subFilter.PaymentMilestone = FilterBuilder.Merge(subFilter.PaymentMilestone, FilterPermissionDefinition.StringFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.PaymentPercentage)) { subFilter.PaymentPercentage = FilterBuilder.Merge(subFilter.PaymentPercentage, FilterPermissionDefinition.DecimalFilter); } if (FilterPermissionDefinition.Name == nameof(subFilter.PaymentAmount)) { subFilter.PaymentAmount = FilterBuilder.Merge(subFilter.PaymentAmount, FilterPermissionDefinition.DecimalFilter); } 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 <CustomerSalesOrderPaymentHistory> > List(CustomerSalesOrderPaymentHistoryFilter filter) { if (filter == null) { return(new List <CustomerSalesOrderPaymentHistory>()); } IQueryable <CustomerSalesOrderPaymentHistoryDAO> CustomerSalesOrderPaymentHistoryDAOs = DataContext.CustomerSalesOrderPaymentHistory.AsNoTracking(); CustomerSalesOrderPaymentHistoryDAOs = DynamicFilter(CustomerSalesOrderPaymentHistoryDAOs, filter); CustomerSalesOrderPaymentHistoryDAOs = DynamicOrder(CustomerSalesOrderPaymentHistoryDAOs, filter); List <CustomerSalesOrderPaymentHistory> CustomerSalesOrderPaymentHistories = await DynamicSelect(CustomerSalesOrderPaymentHistoryDAOs, filter); return(CustomerSalesOrderPaymentHistories); }
public async Task <List <CustomerSalesOrderPaymentHistory> > List(CustomerSalesOrderPaymentHistoryFilter CustomerSalesOrderPaymentHistoryFilter) { try { List <CustomerSalesOrderPaymentHistory> CustomerSalesOrderPaymentHistorys = await UOW.CustomerSalesOrderPaymentHistoryRepository.List(CustomerSalesOrderPaymentHistoryFilter); return(CustomerSalesOrderPaymentHistorys); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(CustomerSalesOrderPaymentHistoryService)); } return(null); }
public async Task <int> Count(CustomerSalesOrderPaymentHistoryFilter CustomerSalesOrderPaymentHistoryFilter) { try { int result = await UOW.CustomerSalesOrderPaymentHistoryRepository.Count(CustomerSalesOrderPaymentHistoryFilter); return(result); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(CustomerSalesOrderPaymentHistoryService)); } return(0); }
public async Task <bool> ValidateId(CustomerSalesOrderPaymentHistory CustomerSalesOrderPaymentHistory) { CustomerSalesOrderPaymentHistoryFilter CustomerSalesOrderPaymentHistoryFilter = new CustomerSalesOrderPaymentHistoryFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = CustomerSalesOrderPaymentHistory.Id }, Selects = CustomerSalesOrderPaymentHistorySelect.Id }; int count = await UOW.CustomerSalesOrderPaymentHistoryRepository.Count(CustomerSalesOrderPaymentHistoryFilter); if (count == 0) { CustomerSalesOrderPaymentHistory.AddError(nameof(CustomerSalesOrderPaymentHistoryValidator), nameof(CustomerSalesOrderPaymentHistory.Id), ErrorCode.IdNotExisted); } return(count == 1); }
private IQueryable <CustomerSalesOrderPaymentHistoryDAO> OrFilter(IQueryable <CustomerSalesOrderPaymentHistoryDAO> query, CustomerSalesOrderPaymentHistoryFilter filter) { if (filter.OrFilter == null || filter.OrFilter.Count == 0) { return(query); } IQueryable <CustomerSalesOrderPaymentHistoryDAO> initQuery = query.Where(q => false); foreach (CustomerSalesOrderPaymentHistoryFilter CustomerSalesOrderPaymentHistoryFilter in filter.OrFilter) { IQueryable <CustomerSalesOrderPaymentHistoryDAO> queryable = query; if (CustomerSalesOrderPaymentHistoryFilter.Id != null && CustomerSalesOrderPaymentHistoryFilter.Id.HasValue) { queryable = queryable.Where(q => q.Id, CustomerSalesOrderPaymentHistoryFilter.Id); } if (CustomerSalesOrderPaymentHistoryFilter.CustomerSalesOrderId != null && CustomerSalesOrderPaymentHistoryFilter.CustomerSalesOrderId.HasValue) { queryable = queryable.Where(q => q.CustomerSalesOrderId, CustomerSalesOrderPaymentHistoryFilter.CustomerSalesOrderId); } if (CustomerSalesOrderPaymentHistoryFilter.PaymentMilestone != null && CustomerSalesOrderPaymentHistoryFilter.PaymentMilestone.HasValue) { queryable = queryable.Where(q => q.PaymentMilestone, CustomerSalesOrderPaymentHistoryFilter.PaymentMilestone); } if (CustomerSalesOrderPaymentHistoryFilter.PaymentPercentage != null && CustomerSalesOrderPaymentHistoryFilter.PaymentPercentage.HasValue) { queryable = queryable.Where(q => q.PaymentPercentage.HasValue).Where(q => q.PaymentPercentage, CustomerSalesOrderPaymentHistoryFilter.PaymentPercentage); } if (CustomerSalesOrderPaymentHistoryFilter.PaymentAmount != null && CustomerSalesOrderPaymentHistoryFilter.PaymentAmount.HasValue) { queryable = queryable.Where(q => q.PaymentAmount.HasValue).Where(q => q.PaymentAmount, CustomerSalesOrderPaymentHistoryFilter.PaymentAmount); } if (CustomerSalesOrderPaymentHistoryFilter.Description != null && CustomerSalesOrderPaymentHistoryFilter.Description.HasValue) { queryable = queryable.Where(q => q.Description, CustomerSalesOrderPaymentHistoryFilter.Description); } initQuery = initQuery.Union(queryable); } return(initQuery); }
private IQueryable <CustomerSalesOrderPaymentHistoryDAO> DynamicFilter(IQueryable <CustomerSalesOrderPaymentHistoryDAO> query, CustomerSalesOrderPaymentHistoryFilter 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.CustomerSalesOrderId != null && filter.CustomerSalesOrderId.HasValue) { query = query.Where(q => q.CustomerSalesOrderId, filter.CustomerSalesOrderId); } if (filter.PaymentMilestone != null && filter.PaymentMilestone.HasValue) { query = query.Where(q => q.PaymentMilestone, filter.PaymentMilestone); } if (filter.PaymentPercentage != null && filter.PaymentPercentage.HasValue) { query = query.Where(q => q.PaymentPercentage.HasValue).Where(q => q.PaymentPercentage, filter.PaymentPercentage); } if (filter.PaymentAmount != null && filter.PaymentAmount.HasValue) { query = query.Where(q => q.PaymentAmount.HasValue).Where(q => q.PaymentAmount, filter.PaymentAmount); } 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 <CustomerSalesOrderPaymentHistory> > DynamicSelect(IQueryable <CustomerSalesOrderPaymentHistoryDAO> query, CustomerSalesOrderPaymentHistoryFilter filter) { List <CustomerSalesOrderPaymentHistory> CustomerSalesOrderPaymentHistories = await query.Select(q => new CustomerSalesOrderPaymentHistory() { Id = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.Id) ? q.Id : default(long), CustomerSalesOrderId = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.CustomerSalesOrder) ? q.CustomerSalesOrderId : default(long), PaymentMilestone = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.PaymentMilestone) ? q.PaymentMilestone : default(string), PaymentPercentage = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.PaymentPercentage) ? q.PaymentPercentage : default(decimal?), PaymentAmount = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.PaymentAmount) ? q.PaymentAmount : default(decimal?), Description = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.Description) ? q.Description : default(string), IsPaid = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.IsPaid) ? q.IsPaid : default(bool?), CustomerSalesOrder = filter.Selects.Contains(CustomerSalesOrderPaymentHistorySelect.CustomerSalesOrder) && q.CustomerSalesOrder != null ? new CustomerSalesOrder { Id = q.CustomerSalesOrder.Id, Code = q.CustomerSalesOrder.Code, CustomerTypeId = q.CustomerSalesOrder.CustomerTypeId, CustomerId = q.CustomerSalesOrder.CustomerId, OpportunityId = q.CustomerSalesOrder.OpportunityId, ContractId = q.CustomerSalesOrder.ContractId, OrderPaymentStatusId = q.CustomerSalesOrder.OrderPaymentStatusId, RequestStateId = q.CustomerSalesOrder.RequestStateId, EditedPriceStatusId = q.CustomerSalesOrder.EditedPriceStatusId, ShippingName = q.CustomerSalesOrder.ShippingName, OrderDate = q.CustomerSalesOrder.OrderDate, DeliveryDate = q.CustomerSalesOrder.DeliveryDate, SalesEmployeeId = q.CustomerSalesOrder.SalesEmployeeId, Note = q.CustomerSalesOrder.Note, InvoiceAddress = q.CustomerSalesOrder.InvoiceAddress, InvoiceNationId = q.CustomerSalesOrder.InvoiceNationId, InvoiceProvinceId = q.CustomerSalesOrder.InvoiceProvinceId, InvoiceDistrictId = q.CustomerSalesOrder.InvoiceDistrictId, InvoiceWardId = q.CustomerSalesOrder.InvoiceWardId, InvoiceZIPCode = q.CustomerSalesOrder.InvoiceZIPCode, DeliveryAddress = q.CustomerSalesOrder.DeliveryAddress, DeliveryNationId = q.CustomerSalesOrder.DeliveryNationId, DeliveryProvinceId = q.CustomerSalesOrder.DeliveryProvinceId, DeliveryDistrictId = q.CustomerSalesOrder.DeliveryDistrictId, DeliveryWardId = q.CustomerSalesOrder.DeliveryWardId, DeliveryZIPCode = q.CustomerSalesOrder.DeliveryZIPCode, SubTotal = q.CustomerSalesOrder.SubTotal, GeneralDiscountPercentage = q.CustomerSalesOrder.GeneralDiscountPercentage, GeneralDiscountAmount = q.CustomerSalesOrder.GeneralDiscountAmount, TotalTaxOther = q.CustomerSalesOrder.TotalTaxOther, TotalTax = q.CustomerSalesOrder.TotalTax, Total = q.CustomerSalesOrder.Total, CreatorId = q.CustomerSalesOrder.CreatorId, OrganizationId = q.CustomerSalesOrder.OrganizationId, RowId = q.CustomerSalesOrder.RowId, } : null, }).ToListAsync(); return(CustomerSalesOrderPaymentHistories); }
private IQueryable <CustomerSalesOrderPaymentHistoryDAO> DynamicOrder(IQueryable <CustomerSalesOrderPaymentHistoryDAO> query, CustomerSalesOrderPaymentHistoryFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case CustomerSalesOrderPaymentHistoryOrder.Id: query = query.OrderBy(q => q.Id); break; case CustomerSalesOrderPaymentHistoryOrder.CustomerSalesOrder: query = query.OrderBy(q => q.CustomerSalesOrderId); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentMilestone: query = query.OrderBy(q => q.PaymentMilestone); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentPercentage: query = query.OrderBy(q => q.PaymentPercentage); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentAmount: query = query.OrderBy(q => q.PaymentAmount); break; case CustomerSalesOrderPaymentHistoryOrder.Description: query = query.OrderBy(q => q.Description); break; case CustomerSalesOrderPaymentHistoryOrder.IsPaid: query = query.OrderBy(q => q.IsPaid); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case CustomerSalesOrderPaymentHistoryOrder.Id: query = query.OrderByDescending(q => q.Id); break; case CustomerSalesOrderPaymentHistoryOrder.CustomerSalesOrder: query = query.OrderByDescending(q => q.CustomerSalesOrderId); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentMilestone: query = query.OrderByDescending(q => q.PaymentMilestone); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentPercentage: query = query.OrderByDescending(q => q.PaymentPercentage); break; case CustomerSalesOrderPaymentHistoryOrder.PaymentAmount: query = query.OrderByDescending(q => q.PaymentAmount); break; case CustomerSalesOrderPaymentHistoryOrder.Description: query = query.OrderByDescending(q => q.Description); break; case CustomerSalesOrderPaymentHistoryOrder.IsPaid: query = query.OrderByDescending(q => q.IsPaid); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }