我是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语句。 并且不知道如何更新每日限额。
答案 0 :(得分:0)
有趣的问题。根据您的代码,我假设您没有使用EF框架。当我开始使用nopcommerce时,我也是这样。但是,nopcommerce中最好的事情是大多数常见问题都在应用程序的其他部分得到解决。
首先,盲目地在控制器中编写SQL并不会有多大帮助。学习的好方法是看看
.LimitPerStore(_storeContext.CurrentStore.Id)
方法以及他们如何使用Entity框架完成查询/选择。他们为每家商店做了这件事。你需要每天都这样做。这将帮助您根据nopcommerce架构点亮您的解决方案。
来源:Ex-nopCommerce Developer 3年。