Exemplo n.º 1
0
        public async Task <int> Count(Product_PaymentMethodFilter filter)
        {
            IQueryable <Product_PaymentMethodDAO> Product_PaymentMethodDAOs = DataContext.Product_PaymentMethod;

            Product_PaymentMethodDAOs = DynamicFilter(Product_PaymentMethodDAOs, filter);
            return(await Product_PaymentMethodDAOs.CountAsync());
        }
Exemplo n.º 2
0
        public async Task <List <Product_PaymentMethod> > List(Product_PaymentMethodFilter filter)
        {
            if (filter == null)
            {
                return(new List <Product_PaymentMethod>());
            }
            IQueryable <Product_PaymentMethodDAO> Product_PaymentMethodDAOs = DataContext.Product_PaymentMethod;

            Product_PaymentMethodDAOs = DynamicFilter(Product_PaymentMethodDAOs, filter);
            Product_PaymentMethodDAOs = DynamicOrder(Product_PaymentMethodDAOs, filter);
            var Product_PaymentMethods = await DynamicSelect(Product_PaymentMethodDAOs, filter);

            return(Product_PaymentMethods);
        }
Exemplo n.º 3
0
        private async Task <List <Product_PaymentMethod> > DynamicSelect(IQueryable <Product_PaymentMethodDAO> query, Product_PaymentMethodFilter filter)
        {
            List <Product_PaymentMethod> Product_PaymentMethods = await query.Select(q => new Product_PaymentMethod()
            {
                ProductId       = filter.Selects.Contains(Product_PaymentMethodSelect.Product) ? q.ProductId : default(long),
                PaymentMethodId = filter.Selects.Contains(Product_PaymentMethodSelect.PaymentMethod) ? q.PaymentMethodId : default(long),
                PaymentMethod   = filter.Selects.Contains(Product_PaymentMethodSelect.PaymentMethod) && q.PaymentMethod != null ? new PaymentMethod
                {
                    Id          = q.PaymentMethod.Id,
                    Code        = q.PaymentMethod.Code,
                    Name        = q.PaymentMethod.Name,
                    Description = q.PaymentMethod.Description,
                } : null,
                Product = filter.Selects.Contains(Product_PaymentMethodSelect.Product) && q.Product != null ? new Product
                {
                    Id                      = q.Product.Id,
                    Code                    = q.Product.Code,
                    Name                    = q.Product.Name,
                    Description             = q.Product.Description,
                    TypeId                  = q.Product.TypeId,
                    StatusId                = q.Product.StatusId,
                    MerchantId              = q.Product.MerchantId,
                    CategoryId              = q.Product.CategoryId,
                    BrandId                 = q.Product.BrandId,
                    WarrantyPolicy          = q.Product.WarrantyPolicy,
                    ReturnPolicy            = q.Product.ReturnPolicy,
                    ExpiredDate             = q.Product.ExpiredDate,
                    ConditionOfUse          = q.Product.ConditionOfUse,
                    MaximumPurchaseQuantity = q.Product.MaximumPurchaseQuantity,
                } : null,
            }).ToListAsync();

            return(Product_PaymentMethods);
        }
Exemplo n.º 4
0
        private IQueryable <Product_PaymentMethodDAO> DynamicOrder(IQueryable <Product_PaymentMethodDAO> query, Product_PaymentMethodFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case Product_PaymentMethodOrder.Product:
                    query = query.OrderBy(q => q.Product.Id);
                    break;

                case Product_PaymentMethodOrder.PaymentMethod:
                    query = query.OrderBy(q => q.PaymentMethod.Id);
                    break;
                }
                break;

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

                case Product_PaymentMethodOrder.PaymentMethod:
                    query = query.OrderByDescending(q => q.PaymentMethod.Id);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Exemplo n.º 5
0
        private IQueryable <Product_PaymentMethodDAO> DynamicFilter(IQueryable <Product_PaymentMethodDAO> query, Product_PaymentMethodFilter filter)
        {
            if (filter == null)
            {
                return(query.Where(q => false));
            }

            if (filter.ProductId != null)
            {
                query = query.Where(q => q.ProductId, filter.ProductId);
            }
            if (filter.PaymentMethodId != null)
            {
                query = query.Where(q => q.PaymentMethodId, filter.PaymentMethodId);
            }
            return(query);
        }