Ejemplo n.º 1
0
        public async Task <int> Count(OrderQuoteContentFilter filter)
        {
            IQueryable <OrderQuoteContentDAO> OrderQuoteContents = DataContext.OrderQuoteContent.AsNoTracking();

            OrderQuoteContents = DynamicFilter(OrderQuoteContents, filter);
            return(await OrderQuoteContents.CountAsync());
        }
Ejemplo n.º 2
0
        public async Task <List <OrderQuoteContent> > List(OrderQuoteContentFilter filter)
        {
            if (filter == null)
            {
                return(new List <OrderQuoteContent>());
            }
            IQueryable <OrderQuoteContentDAO> OrderQuoteContentDAOs = DataContext.OrderQuoteContent.AsNoTracking();

            OrderQuoteContentDAOs = DynamicFilter(OrderQuoteContentDAOs, filter);
            OrderQuoteContentDAOs = DynamicOrder(OrderQuoteContentDAOs, filter);
            List <OrderQuoteContent> OrderQuoteContents = await DynamicSelect(OrderQuoteContentDAOs, filter);

            return(OrderQuoteContents);
        }
Ejemplo n.º 3
0
        public async Task <bool> ValidateId(OrderQuoteContent OrderQuoteContent)
        {
            OrderQuoteContentFilter OrderQuoteContentFilter = new OrderQuoteContentFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = OrderQuoteContent.Id
                },
                Selects = OrderQuoteContentSelect.Id
            };

            int count = await UOW.OrderQuoteContentRepository.Count(OrderQuoteContentFilter);

            if (count == 0)
            {
                OrderQuoteContent.AddError(nameof(OrderQuoteContentValidator), nameof(OrderQuoteContent.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
Ejemplo n.º 4
0
        public async Task <List <OrderQuoteContent> > List(OrderQuoteContentFilter OrderQuoteContentFilter)
        {
            try
            {
                List <OrderQuoteContent> OrderQuoteContents = await UOW.OrderQuoteContentRepository.List(OrderQuoteContentFilter);

                return(OrderQuoteContents);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(OrderQuoteContentService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(OrderQuoteContentService));

                    throw new MessageException(ex.InnerException);
                }
            }
        }
Ejemplo n.º 5
0
        public OrderQuoteContentFilter ToFilter(OrderQuoteContentFilter filter)
        {
            if (filter.OrFilter == null)
            {
                filter.OrFilter = new List <OrderQuoteContentFilter>();
            }
            if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0)
            {
                return(filter);
            }
            foreach (var currentFilter in CurrentContext.Filters)
            {
                OrderQuoteContentFilter subFilter = new OrderQuoteContentFilter();
                filter.OrFilter.Add(subFilter);
                List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value;
                foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions)
                {
                    if (FilterPermissionDefinition.Name == nameof(subFilter.Id))
                    {
                        subFilter.Id = FilterPermissionDefinition.IdFilter;
                    }
                    if (FilterPermissionDefinition.Name == nameof(subFilter.OrderQuoteId))
                    {
                        subFilter.OrderQuoteId = FilterPermissionDefinition.IdFilter;
                    }
                    if (FilterPermissionDefinition.Name == nameof(subFilter.ItemId))
                    {
                        subFilter.ItemId = FilterPermissionDefinition.IdFilter;
                    }
                    if (FilterPermissionDefinition.Name == nameof(subFilter.UnitOfMeasureId))
                    {
                        subFilter.UnitOfMeasureId = FilterPermissionDefinition.IdFilter;
                    }
                    if (FilterPermissionDefinition.Name == nameof(subFilter.Quantity))
                    {
                        subFilter.Quantity = FilterPermissionDefinition.LongFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.PrimaryUnitOfMeasureId))
                    {
                        subFilter.PrimaryUnitOfMeasureId = FilterPermissionDefinition.IdFilter;
                    }
                    if (FilterPermissionDefinition.Name == nameof(subFilter.RequestedQuantity))
                    {
                        subFilter.RequestedQuantity = FilterPermissionDefinition.LongFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.PrimaryPrice))
                    {
                        subFilter.PrimaryPrice = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.SalePrice))
                    {
                        subFilter.SalePrice = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.DiscountPercentage))
                    {
                        subFilter.DiscountPercentage = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.DiscountAmount))
                    {
                        subFilter.DiscountAmount = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.GeneralDiscountPercentage))
                    {
                        subFilter.GeneralDiscountPercentage = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.GeneralDiscountAmount))
                    {
                        subFilter.GeneralDiscountAmount = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.TaxPercentage))
                    {
                        subFilter.TaxPercentage = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.TaxAmount))
                    {
                        subFilter.TaxAmount = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.Amount))
                    {
                        subFilter.Amount = FilterPermissionDefinition.DecimalFilter;
                    }



                    if (FilterPermissionDefinition.Name == nameof(subFilter.Factor))
                    {
                        subFilter.Factor = FilterPermissionDefinition.LongFilter;
                    }
                }
            }
            return(filter);
        }
Ejemplo n.º 6
0
        private async Task <List <OrderQuoteContent> > DynamicSelect(IQueryable <OrderQuoteContentDAO> query, OrderQuoteContentFilter filter)
        {
            List <OrderQuoteContent> OrderQuoteContents = await query.Select(q => new OrderQuoteContent()
            {
                Id                        = filter.Selects.Contains(OrderQuoteContentSelect.Id) ? q.Id : default(long),
                OrderQuoteId              = filter.Selects.Contains(OrderQuoteContentSelect.OrderQuote) ? q.OrderQuoteId : default(long),
                ItemId                    = filter.Selects.Contains(OrderQuoteContentSelect.Item) ? q.ItemId : default(long),
                UnitOfMeasureId           = filter.Selects.Contains(OrderQuoteContentSelect.UnitOfMeasure) ? q.UnitOfMeasureId : default(long),
                Quantity                  = filter.Selects.Contains(OrderQuoteContentSelect.Quantity) ? q.Quantity : default(long),
                RequestedQuantity         = filter.Selects.Contains(OrderQuoteContentSelect.RequestedQuantity) ? q.RequestedQuantity : default(long),
                PrimaryUnitOfMeasureId    = filter.Selects.Contains(OrderQuoteContentSelect.PrimaryUnitOfMeasure) ? q.PrimaryUnitOfMeasureId : default(long),
                PrimaryPrice              = filter.Selects.Contains(OrderQuoteContentSelect.PrimaryPrice) ? q.PrimaryPrice : default(decimal),
                SalePrice                 = filter.Selects.Contains(OrderQuoteContentSelect.SalePrice) ? q.SalePrice : default(decimal),
                DiscountPercentage        = filter.Selects.Contains(OrderQuoteContentSelect.DiscountPercentage) ? q.DiscountPercentage : default(decimal?),
                DiscountAmount            = filter.Selects.Contains(OrderQuoteContentSelect.DiscountAmount) ? q.DiscountAmount : default(decimal?),
                GeneralDiscountPercentage = filter.Selects.Contains(OrderQuoteContentSelect.GeneralDiscountPercentage) ? q.GeneralDiscountPercentage : default(decimal?),
                GeneralDiscountAmount     = filter.Selects.Contains(OrderQuoteContentSelect.GeneralDiscountAmount) ? q.GeneralDiscountAmount : default(decimal?),
                TaxPercentage             = filter.Selects.Contains(OrderQuoteContentSelect.TaxPercentage) ? q.TaxPercentage : default(decimal?),
                TaxAmount                 = filter.Selects.Contains(OrderQuoteContentSelect.TaxAmount) ? q.TaxAmount : default(decimal?),
                TaxAmountOther            = filter.Selects.Contains(OrderQuoteContentSelect.TaxAmountOther) ? q.TaxAmountOther : default(decimal?),
                TaxPercentageOther        = filter.Selects.Contains(OrderQuoteContentSelect.TaxPercentageOther) ? q.TaxPercentageOther : default(decimal?),
                Amount                    = filter.Selects.Contains(OrderQuoteContentSelect.Amount) ? q.Amount : default(decimal),
                Factor                    = filter.Selects.Contains(OrderQuoteContentSelect.Factor) ? q.Factor : default(long?),
                EditedPriceStatusId       = filter.Selects.Contains(OrderQuoteContentSelect.EditedPriceStatus) ? q.EditedPriceStatusId : default(long),
                TaxTypeId                 = filter.Selects.Contains(OrderQuoteContentSelect.TaxType) ? q.TaxTypeId : default(long),
                EditedPriceStatus         = filter.Selects.Contains(OrderQuoteContentSelect.EditedPriceStatus) && q.EditedPriceStatus != null ? new EditedPriceStatus
                {
                    Id   = q.EditedPriceStatus.Id,
                    Code = q.EditedPriceStatus.Code,
                    Name = q.EditedPriceStatus.Name,
                } : null,
                Item = filter.Selects.Contains(OrderQuoteContentSelect.Item) && q.Item != null ? new Item
                {
                    Id          = q.Item.Id,
                    ProductId   = q.Item.ProductId,
                    Code        = q.Item.Code,
                    Name        = q.Item.Name,
                    ScanCode    = q.Item.ScanCode,
                    SalePrice   = q.Item.SalePrice,
                    RetailPrice = q.Item.RetailPrice,
                    StatusId    = q.Item.StatusId,
                    Used        = q.Item.Used,
                    RowId       = q.Item.RowId,
                } : null,
                OrderQuote = filter.Selects.Contains(OrderQuoteContentSelect.OrderQuote) && q.OrderQuote != null ? new OrderQuote
                {
                    Id                        = q.OrderQuote.Id,
                    Subject                   = q.OrderQuote.Subject,
                    CompanyId                 = q.OrderQuote.CompanyId,
                    ContactId                 = q.OrderQuote.ContactId,
                    OpportunityId             = q.OrderQuote.OpportunityId,
                    EditedPriceStatusId       = q.OrderQuote.EditedPriceStatusId,
                    EndAt                     = q.OrderQuote.EndAt,
                    AppUserId                 = q.OrderQuote.AppUserId,
                    OrderQuoteStatusId        = q.OrderQuote.OrderQuoteStatusId,
                    Note                      = q.OrderQuote.Note,
                    InvoiceAddress            = q.OrderQuote.InvoiceAddress,
                    InvoiceNationId           = q.OrderQuote.InvoiceNationId,
                    InvoiceProvinceId         = q.OrderQuote.InvoiceProvinceId,
                    InvoiceDistrictId         = q.OrderQuote.InvoiceDistrictId,
                    InvoiceZIPCode            = q.OrderQuote.InvoiceZIPCode,
                    Address                   = q.OrderQuote.Address,
                    NationId                  = q.OrderQuote.NationId,
                    ProvinceId                = q.OrderQuote.ProvinceId,
                    DistrictId                = q.OrderQuote.DistrictId,
                    ZIPCode                   = q.OrderQuote.ZIPCode,
                    SubTotal                  = q.OrderQuote.SubTotal,
                    GeneralDiscountPercentage = q.OrderQuote.GeneralDiscountPercentage,
                    GeneralDiscountAmount     = q.OrderQuote.GeneralDiscountAmount,
                    TotalTaxAmountOther       = q.OrderQuote.TotalTaxAmountOther,
                    TotalTaxAmount            = q.OrderQuote.TotalTaxAmount,
                    Total                     = q.OrderQuote.Total,
                    CreatorId                 = q.OrderQuote.CreatorId,
                } : null,
                PrimaryUnitOfMeasure = filter.Selects.Contains(OrderQuoteContentSelect.PrimaryUnitOfMeasure) && q.PrimaryUnitOfMeasure != null ? new UnitOfMeasure
                {
                    Id          = q.PrimaryUnitOfMeasure.Id,
                    Code        = q.PrimaryUnitOfMeasure.Code,
                    Name        = q.PrimaryUnitOfMeasure.Name,
                    Description = q.PrimaryUnitOfMeasure.Description,
                    StatusId    = q.PrimaryUnitOfMeasure.StatusId,
                    Used        = q.PrimaryUnitOfMeasure.Used,
                    RowId       = q.PrimaryUnitOfMeasure.RowId,
                } : null,
                TaxType = filter.Selects.Contains(OrderQuoteContentSelect.TaxType) && q.TaxType != null ? new TaxType
                {
                    Id         = q.TaxType.Id,
                    Code       = q.TaxType.Code,
                    Name       = q.TaxType.Name,
                    Percentage = q.TaxType.Percentage,
                    StatusId   = q.TaxType.StatusId,
                    Used       = q.TaxType.Used,
                    RowId      = q.TaxType.RowId,
                } : null,
                UnitOfMeasure = filter.Selects.Contains(OrderQuoteContentSelect.UnitOfMeasure) && q.UnitOfMeasure != null ? new UnitOfMeasure
                {
                    Id          = q.UnitOfMeasure.Id,
                    Code        = q.UnitOfMeasure.Code,
                    Name        = q.UnitOfMeasure.Name,
                    Description = q.UnitOfMeasure.Description,
                    StatusId    = q.UnitOfMeasure.StatusId,
                    Used        = q.UnitOfMeasure.Used,
                    RowId       = q.UnitOfMeasure.RowId,
                } : null,
            }).ToListAsync();

            return(OrderQuoteContents);
        }
Ejemplo n.º 7
0
 private IQueryable <OrderQuoteContentDAO> DynamicFilter(IQueryable <OrderQuoteContentDAO> query, OrderQuoteContentFilter 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.OrderQuoteId != null && filter.OrderQuoteId.HasValue)
     {
         query = query.Where(q => q.OrderQuoteId, filter.OrderQuoteId);
     }
     if (filter.ItemId != null && filter.ItemId.HasValue)
     {
         query = query.Where(q => q.ItemId, filter.ItemId);
     }
     if (filter.UnitOfMeasureId != null && filter.UnitOfMeasureId.HasValue)
     {
         query = query.Where(q => q.UnitOfMeasureId, filter.UnitOfMeasureId);
     }
     if (filter.Quantity != null && filter.Quantity.HasValue)
     {
         query = query.Where(q => q.Quantity, filter.Quantity);
     }
     if (filter.RequestedQuantity != null && filter.RequestedQuantity.HasValue)
     {
         query = query.Where(q => q.RequestedQuantity, filter.RequestedQuantity);
     }
     if (filter.PrimaryUnitOfMeasureId != null && filter.PrimaryUnitOfMeasureId.HasValue)
     {
         query = query.Where(q => q.PrimaryUnitOfMeasureId, filter.PrimaryUnitOfMeasureId);
     }
     if (filter.PrimaryPrice != null && filter.PrimaryPrice.HasValue)
     {
         query = query.Where(q => q.PrimaryPrice, filter.PrimaryPrice);
     }
     if (filter.SalePrice != null && filter.SalePrice.HasValue)
     {
         query = query.Where(q => q.SalePrice, filter.SalePrice);
     }
     if (filter.DiscountPercentage != null && filter.DiscountPercentage.HasValue)
     {
         query = query.Where(q => q.DiscountPercentage.HasValue).Where(q => q.DiscountPercentage, filter.DiscountPercentage);
     }
     if (filter.DiscountAmount != null && filter.DiscountAmount.HasValue)
     {
         query = query.Where(q => q.DiscountAmount.HasValue).Where(q => q.DiscountAmount, filter.DiscountAmount);
     }
     if (filter.GeneralDiscountPercentage != null && filter.GeneralDiscountPercentage.HasValue)
     {
         query = query.Where(q => q.GeneralDiscountPercentage.HasValue).Where(q => q.GeneralDiscountPercentage, filter.GeneralDiscountPercentage);
     }
     if (filter.GeneralDiscountAmount != null && filter.GeneralDiscountAmount.HasValue)
     {
         query = query.Where(q => q.GeneralDiscountAmount.HasValue).Where(q => q.GeneralDiscountAmount, filter.GeneralDiscountAmount);
     }
     if (filter.TaxPercentage != null && filter.TaxPercentage.HasValue)
     {
         query = query.Where(q => q.TaxPercentage.HasValue).Where(q => q.TaxPercentage, filter.TaxPercentage);
     }
     if (filter.TaxAmount != null && filter.TaxAmount.HasValue)
     {
         query = query.Where(q => q.TaxAmount.HasValue).Where(q => q.TaxAmount, filter.TaxAmount);
     }
     if (filter.TaxAmountOther != null && filter.TaxAmountOther.HasValue)
     {
         query = query.Where(q => q.TaxAmountOther.HasValue).Where(q => q.TaxAmountOther, filter.TaxAmountOther);
     }
     if (filter.TaxPercentageOther != null && filter.TaxPercentageOther.HasValue)
     {
         query = query.Where(q => q.TaxPercentageOther.HasValue).Where(q => q.TaxPercentageOther, filter.TaxPercentageOther);
     }
     if (filter.Amount != null && filter.Amount.HasValue)
     {
         query = query.Where(q => q.Amount, filter.Amount);
     }
     if (filter.Factor != null && filter.Factor.HasValue)
     {
         query = query.Where(q => q.Factor.HasValue).Where(q => q.Factor, filter.Factor);
     }
     if (filter.EditedPriceStatusId != null && filter.EditedPriceStatusId.HasValue)
     {
         query = query.Where(q => q.EditedPriceStatusId, filter.EditedPriceStatusId);
     }
     if (filter.TaxTypeId != null && filter.TaxTypeId.HasValue)
     {
         query = query.Where(q => q.TaxTypeId, filter.TaxTypeId);
     }
     query = OrFilter(query, filter);
     return(query);
 }
Ejemplo n.º 8
0
        private IQueryable <OrderQuoteContentDAO> DynamicOrder(IQueryable <OrderQuoteContentDAO> query, OrderQuoteContentFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case OrderQuoteContentOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

                case OrderQuoteContentOrder.OrderQuote:
                    query = query.OrderBy(q => q.OrderQuoteId);
                    break;

                case OrderQuoteContentOrder.Item:
                    query = query.OrderBy(q => q.ItemId);
                    break;

                case OrderQuoteContentOrder.UnitOfMeasure:
                    query = query.OrderBy(q => q.UnitOfMeasureId);
                    break;

                case OrderQuoteContentOrder.Quantity:
                    query = query.OrderBy(q => q.Quantity);
                    break;

                case OrderQuoteContentOrder.RequestedQuantity:
                    query = query.OrderBy(q => q.RequestedQuantity);
                    break;

                case OrderQuoteContentOrder.PrimaryUnitOfMeasure:
                    query = query.OrderBy(q => q.PrimaryUnitOfMeasureId);
                    break;

                case OrderQuoteContentOrder.PrimaryPrice:
                    query = query.OrderBy(q => q.PrimaryPrice);
                    break;

                case OrderQuoteContentOrder.SalePrice:
                    query = query.OrderBy(q => q.SalePrice);
                    break;

                case OrderQuoteContentOrder.DiscountPercentage:
                    query = query.OrderBy(q => q.DiscountPercentage);
                    break;

                case OrderQuoteContentOrder.DiscountAmount:
                    query = query.OrderBy(q => q.DiscountAmount);
                    break;

                case OrderQuoteContentOrder.GeneralDiscountPercentage:
                    query = query.OrderBy(q => q.GeneralDiscountPercentage);
                    break;

                case OrderQuoteContentOrder.GeneralDiscountAmount:
                    query = query.OrderBy(q => q.GeneralDiscountAmount);
                    break;

                case OrderQuoteContentOrder.TaxPercentage:
                    query = query.OrderBy(q => q.TaxPercentage);
                    break;

                case OrderQuoteContentOrder.TaxAmount:
                    query = query.OrderBy(q => q.TaxAmount);
                    break;

                case OrderQuoteContentOrder.TaxAmountOther:
                    query = query.OrderBy(q => q.TaxAmountOther);
                    break;

                case OrderQuoteContentOrder.TaxPercentageOther:
                    query = query.OrderBy(q => q.TaxPercentageOther);
                    break;

                case OrderQuoteContentOrder.Amount:
                    query = query.OrderBy(q => q.Amount);
                    break;

                case OrderQuoteContentOrder.Factor:
                    query = query.OrderBy(q => q.Factor);
                    break;

                case OrderQuoteContentOrder.EditedPriceStatus:
                    query = query.OrderBy(q => q.EditedPriceStatusId);
                    break;

                case OrderQuoteContentOrder.TaxType:
                    query = query.OrderBy(q => q.TaxTypeId);
                    break;
                }
                break;

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

                case OrderQuoteContentOrder.OrderQuote:
                    query = query.OrderByDescending(q => q.OrderQuoteId);
                    break;

                case OrderQuoteContentOrder.Item:
                    query = query.OrderByDescending(q => q.ItemId);
                    break;

                case OrderQuoteContentOrder.UnitOfMeasure:
                    query = query.OrderByDescending(q => q.UnitOfMeasureId);
                    break;

                case OrderQuoteContentOrder.Quantity:
                    query = query.OrderByDescending(q => q.Quantity);
                    break;

                case OrderQuoteContentOrder.RequestedQuantity:
                    query = query.OrderByDescending(q => q.RequestedQuantity);
                    break;

                case OrderQuoteContentOrder.PrimaryUnitOfMeasure:
                    query = query.OrderByDescending(q => q.PrimaryUnitOfMeasureId);
                    break;

                case OrderQuoteContentOrder.PrimaryPrice:
                    query = query.OrderByDescending(q => q.PrimaryPrice);
                    break;

                case OrderQuoteContentOrder.SalePrice:
                    query = query.OrderByDescending(q => q.SalePrice);
                    break;

                case OrderQuoteContentOrder.DiscountPercentage:
                    query = query.OrderByDescending(q => q.DiscountPercentage);
                    break;

                case OrderQuoteContentOrder.DiscountAmount:
                    query = query.OrderByDescending(q => q.DiscountAmount);
                    break;

                case OrderQuoteContentOrder.GeneralDiscountPercentage:
                    query = query.OrderByDescending(q => q.GeneralDiscountPercentage);
                    break;

                case OrderQuoteContentOrder.GeneralDiscountAmount:
                    query = query.OrderByDescending(q => q.GeneralDiscountAmount);
                    break;

                case OrderQuoteContentOrder.TaxPercentage:
                    query = query.OrderByDescending(q => q.TaxPercentage);
                    break;

                case OrderQuoteContentOrder.TaxAmount:
                    query = query.OrderByDescending(q => q.TaxAmount);
                    break;

                case OrderQuoteContentOrder.TaxAmountOther:
                    query = query.OrderByDescending(q => q.TaxAmountOther);
                    break;

                case OrderQuoteContentOrder.TaxPercentageOther:
                    query = query.OrderByDescending(q => q.TaxPercentageOther);
                    break;

                case OrderQuoteContentOrder.Amount:
                    query = query.OrderByDescending(q => q.Amount);
                    break;

                case OrderQuoteContentOrder.Factor:
                    query = query.OrderByDescending(q => q.Factor);
                    break;

                case OrderQuoteContentOrder.EditedPriceStatus:
                    query = query.OrderByDescending(q => q.EditedPriceStatusId);
                    break;

                case OrderQuoteContentOrder.TaxType:
                    query = query.OrderByDescending(q => q.TaxTypeId);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Ejemplo n.º 9
0
        private IQueryable <OrderQuoteContentDAO> OrFilter(IQueryable <OrderQuoteContentDAO> query, OrderQuoteContentFilter filter)
        {
            if (filter.OrFilter == null || filter.OrFilter.Count == 0)
            {
                return(query);
            }
            IQueryable <OrderQuoteContentDAO> initQuery = query.Where(q => false);

            foreach (OrderQuoteContentFilter OrderQuoteContentFilter in filter.OrFilter)
            {
                IQueryable <OrderQuoteContentDAO> queryable = query;
                if (OrderQuoteContentFilter.Id != null && OrderQuoteContentFilter.Id.HasValue)
                {
                    queryable = queryable.Where(q => q.Id, OrderQuoteContentFilter.Id);
                }
                if (OrderQuoteContentFilter.OrderQuoteId != null && OrderQuoteContentFilter.OrderQuoteId.HasValue)
                {
                    queryable = queryable.Where(q => q.OrderQuoteId, OrderQuoteContentFilter.OrderQuoteId);
                }
                if (OrderQuoteContentFilter.ItemId != null && OrderQuoteContentFilter.ItemId.HasValue)
                {
                    queryable = queryable.Where(q => q.ItemId, OrderQuoteContentFilter.ItemId);
                }
                if (OrderQuoteContentFilter.UnitOfMeasureId != null && OrderQuoteContentFilter.UnitOfMeasureId.HasValue)
                {
                    queryable = queryable.Where(q => q.UnitOfMeasureId, OrderQuoteContentFilter.UnitOfMeasureId);
                }
                if (OrderQuoteContentFilter.Quantity != null && OrderQuoteContentFilter.Quantity.HasValue)
                {
                    queryable = queryable.Where(q => q.Quantity, OrderQuoteContentFilter.Quantity);
                }
                if (OrderQuoteContentFilter.RequestedQuantity != null && OrderQuoteContentFilter.RequestedQuantity.HasValue)
                {
                    queryable = queryable.Where(q => q.RequestedQuantity, OrderQuoteContentFilter.RequestedQuantity);
                }
                if (OrderQuoteContentFilter.PrimaryUnitOfMeasureId != null && OrderQuoteContentFilter.PrimaryUnitOfMeasureId.HasValue)
                {
                    queryable = queryable.Where(q => q.PrimaryUnitOfMeasureId, OrderQuoteContentFilter.PrimaryUnitOfMeasureId);
                }
                if (OrderQuoteContentFilter.PrimaryPrice != null && OrderQuoteContentFilter.PrimaryPrice.HasValue)
                {
                    queryable = queryable.Where(q => q.PrimaryPrice, OrderQuoteContentFilter.PrimaryPrice);
                }
                if (OrderQuoteContentFilter.SalePrice != null && OrderQuoteContentFilter.SalePrice.HasValue)
                {
                    queryable = queryable.Where(q => q.SalePrice, OrderQuoteContentFilter.SalePrice);
                }
                if (OrderQuoteContentFilter.DiscountPercentage != null && OrderQuoteContentFilter.DiscountPercentage.HasValue)
                {
                    queryable = queryable.Where(q => q.DiscountPercentage.HasValue).Where(q => q.DiscountPercentage, OrderQuoteContentFilter.DiscountPercentage);
                }
                if (OrderQuoteContentFilter.DiscountAmount != null && OrderQuoteContentFilter.DiscountAmount.HasValue)
                {
                    queryable = queryable.Where(q => q.DiscountAmount.HasValue).Where(q => q.DiscountAmount, OrderQuoteContentFilter.DiscountAmount);
                }
                if (OrderQuoteContentFilter.GeneralDiscountPercentage != null && OrderQuoteContentFilter.GeneralDiscountPercentage.HasValue)
                {
                    queryable = queryable.Where(q => q.GeneralDiscountPercentage.HasValue).Where(q => q.GeneralDiscountPercentage, OrderQuoteContentFilter.GeneralDiscountPercentage);
                }
                if (OrderQuoteContentFilter.GeneralDiscountAmount != null && OrderQuoteContentFilter.GeneralDiscountAmount.HasValue)
                {
                    queryable = queryable.Where(q => q.GeneralDiscountAmount.HasValue).Where(q => q.GeneralDiscountAmount, OrderQuoteContentFilter.GeneralDiscountAmount);
                }
                if (OrderQuoteContentFilter.TaxPercentage != null && OrderQuoteContentFilter.TaxPercentage.HasValue)
                {
                    queryable = queryable.Where(q => q.TaxPercentage.HasValue).Where(q => q.TaxPercentage, OrderQuoteContentFilter.TaxPercentage);
                }
                if (OrderQuoteContentFilter.TaxAmount != null && OrderQuoteContentFilter.TaxAmount.HasValue)
                {
                    queryable = queryable.Where(q => q.TaxAmount.HasValue).Where(q => q.TaxAmount, OrderQuoteContentFilter.TaxAmount);
                }
                if (OrderQuoteContentFilter.TaxAmountOther != null && OrderQuoteContentFilter.TaxAmountOther.HasValue)
                {
                    queryable = queryable.Where(q => q.TaxAmountOther.HasValue).Where(q => q.TaxAmountOther, OrderQuoteContentFilter.TaxAmountOther);
                }
                if (OrderQuoteContentFilter.TaxPercentageOther != null && OrderQuoteContentFilter.TaxPercentageOther.HasValue)
                {
                    queryable = queryable.Where(q => q.TaxPercentageOther.HasValue).Where(q => q.TaxPercentageOther, OrderQuoteContentFilter.TaxPercentageOther);
                }
                if (OrderQuoteContentFilter.Amount != null && OrderQuoteContentFilter.Amount.HasValue)
                {
                    queryable = queryable.Where(q => q.Amount, OrderQuoteContentFilter.Amount);
                }
                if (OrderQuoteContentFilter.Factor != null && OrderQuoteContentFilter.Factor.HasValue)
                {
                    queryable = queryable.Where(q => q.Factor.HasValue).Where(q => q.Factor, OrderQuoteContentFilter.Factor);
                }
                if (OrderQuoteContentFilter.EditedPriceStatusId != null && OrderQuoteContentFilter.EditedPriceStatusId.HasValue)
                {
                    queryable = queryable.Where(q => q.EditedPriceStatusId, OrderQuoteContentFilter.EditedPriceStatusId);
                }
                if (OrderQuoteContentFilter.TaxTypeId != null && OrderQuoteContentFilter.TaxTypeId.HasValue)
                {
                    queryable = queryable.Where(q => q.TaxTypeId, OrderQuoteContentFilter.TaxTypeId);
                }
                initQuery = initQuery.Union(queryable);
            }
            return(initQuery);
        }