退房时Nopcommerce更新自定义表

时间:2016-04-20 01:35:05

标签: model-view-controller nopcommerce

我是nopcommerce的新手。

退房时检查和更新自定义表的任何想法? 我的情况是这样的:

我创建了一个新的表名为" DailyLimit"我的数据库中的表。 表字段具有ID,Date,DailyLimit。

结账产品时,我需要查看"日期"每日限制。如果每日限制< = 0,则会弹出警报,否则它将更新为DailyLimit字段。

PS:我已经创建了一个日期结帐属性,并将其作为会话。

对于Checkout控制器,我已将availableQty变量传递添加到model。

public ActionResult OnePageCheckout(){
            //validation
            var cart = _workContext.CurrentCustomer.ShoppingCartItems
                .Where(sci => sci.ShoppingCartType == ShoppingCartType.ShoppingCart)
                .LimitPerStore(_storeContext.CurrentStore.Id)
                .ToList();

//Problem here
            var availableQtyFromDB = "SELECT DailyLimit FROM deliveryTbl WHERE date =Session["DeliveryDateForDesley"]" //problem here

            if (cart.Count == 0)
                return RedirectToRoute("ShoppingCart");

            if (!_orderSettings.OnePageCheckoutEnabled)
                return RedirectToRoute("Checkout");

            if ((_workContext.CurrentCustomer.IsGuest() && !_orderSettings.AnonymousCheckoutAllowed))
                return new HttpUnauthorizedResult();


            var model = new OnePageCheckoutModel
            {
                ShippingRequired = cart.RequiresShipping(),
                DisableBillingAddressCheckoutStep = _orderSettings.DisableBillingAddressCheckoutStep,
                availableQty = availableQtyFromDB

            };
            return View(model);

        }

但是我不知道如何在这个控制器中编写SELECT语句。 并且不知道如何更新每日限额。

1 个答案:

答案 0 :(得分:0)

有趣的问题。根据您的代码,我假设您没有使用EF框架。当我开始使用nopcommerce时,我也是这样。但是,nopcommerce中最好的事情是大多数常见问题都在应用程序的其他部分得到解决。

首先,盲目地在控制器中编写SQL并不会有多大帮助。学习的好方法是看看

.LimitPerStore(_storeContext.CurrentStore.Id)

方法以及他们如何使用Entity框架完成查询/选择。他们为每家商店做了这件事。你需要每天都这样做。这将帮助您根据nopcommerce架构点亮您的解决方案。

来源:Ex-nopCommerce Developer 3年。