예제 #1
0
        public ActionResult index(StockSearchVM vm)
        {
            var business = new FilterBusinessLogic();
            var model    = business.GetStocks(vm);

            return(View(model));
        }
예제 #2
0
        public ActionResult Index(StockSearchVM vm)
        {
            var filter = new StockFilter();
            var model  = filter.FilterStocks(vm);

            return(View(model));
        }
예제 #3
0
        public ActionResult TestStocks(StockSearchVM vm)
        {
            var filter = new StocksFilterRepository();
            var model  = filter.FilterStocks(vm);

            return(PartialView("_StocksPartialView", model));
        }
예제 #4
0
        public ActionResult Stocks(StockSearchVM vm)
        {
            var filter = new StocksFilterRepository();
            var model  = filter.FilterStocks(vm);

            return(View(model));
        }
예제 #5
0
        public IQueryable <Stock> GetStocks(StockSearchVM searchModel)
        {
            var result = db.Stocks.AsQueryable();

            if (searchModel != null)
            {
                if (!string.IsNullOrWhiteSpace(searchModel.batch))
                {
                    result = result.Where(x => x.BatchNo == searchModel.batch);
                }
                if (!string.IsNullOrEmpty(searchModel.name))
                {
                    result = result.Where(x => x.Item.Name.Contains(searchModel.name));
                }
                if (!string.IsNullOrEmpty(searchModel.option))
                {
                    if (searchModel.option == "BelowMin")
                    {
                        result = result.Where(x => x.Qty < x.Item.AlertQty);
                    }
                    else if (searchModel.option == "UnSold")
                    {
                        result = result.Where(x => x.Qty == x.InitialQty);
                    }
                }
                if ((searchModel.fromDate != null) || (searchModel.toDate != null))
                {
                    if (searchModel.fromDate != null && searchModel.toDate == null)
                    {
                        result = result.Where(x => x.ExpiryDate > searchModel.fromDate);
                    }
                    else if (searchModel.toDate != null && searchModel.fromDate == null)
                    {
                        result = result.Where(x => x.ExpiryDate < searchModel.toDate);
                    }
                    else
                    {
                        result = result.Where(x => (x.ExpiryDate > searchModel.fromDate && x.ExpiryDate < searchModel.toDate));
                    }
                }
            }
            return(result);
        }
        public IQueryable <Stock> FilterStocks(StockSearchVM searchModel)
        {
            var result = db.Stocks.AsQueryable();

            if (searchModel != null)
            {
                if (!string.IsNullOrWhiteSpace(searchModel.batch))
                {
                    result = result.Where(x => x.BatchNo == searchModel.batch);
                }
                if (!string.IsNullOrEmpty(searchModel.name))
                {
                    result = result.Where(x => x.Item.Name.Contains(searchModel.name));
                }
                if (!string.IsNullOrEmpty(searchModel.option))
                {
                    if (searchModel.option == "BelowMin")
                    {
                        result = result.Where(x => x.Qty < x.Item.AlertQty);
                    }
                    else if (searchModel.option == "UnSold")
                    {
                        result = result.Where(x => x.Qty == x.InitialQty);
                    }
                    else if (searchModel.option == "Expired")
                    {
                        result = result.Where(x => DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) <= 0);
                    }

                    else if (searchModel.option == "90")
                    {
                        result = result.Where(x => DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) <= 90 && DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) > 0);
                    }

                    else if (searchModel.option == "60")
                    {
                        result = result.Where(x => DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) <= 60 && DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) > 0);
                    }
                    else if (searchModel.option == "30")
                    {
                        result = result.Where(x => DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) <= 30 && DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) > 0);
                    }
                    else if (searchModel.option == "15")
                    {
                        result = result.Where(x => DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) <= 15 && DbFunctions.DiffDays(DateTime.Now, x.ExpiryDate) > 0);
                    }
                }
                if ((searchModel.fromDate != null) || (searchModel.toDate != null))
                {
                    if (searchModel.fromDate != null && searchModel.toDate == null)
                    {
                        result = result.Where(x => x.ExpiryDate > searchModel.fromDate);
                    }
                    if (searchModel.toDate != null && searchModel.fromDate == null)
                    {
                        result = result.Where(x => x.ExpiryDate < searchModel.toDate);
                    }
                    if (searchModel.toDate != null && searchModel.fromDate != null)
                    {
                        result = result.Where(x => (x.ExpiryDate > searchModel.fromDate && x.ExpiryDate < searchModel.toDate));
                    }
                }
            }
            return(result);
        }