2016-04-20 55 views
0

我是nopcommerce的新手。Nopcommerce更新自定義表結賬時

任何想法檢查和更新自定義表檢查時? 我的情況是這樣的:

我已經在我的數據庫中創建了一個新的表名稱作爲「DailyLimit」表。 表字段有ID,日期,DailyLimit。

當結帳產品時,我需要檢查每日限額的「日期」。如果每日限制< = 0,則會彈出警報,否則會更新爲DailyLimit字段。

PS:我已經創建了日期結帳屬性並將其設爲會話。

對於Checkout控制器,我已將availableQty變量傳遞添加到模型中。

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

嗨,我更新我嘗試之前的代碼。 – edward5007

回答

0

有趣的問題。根據你的代碼,我假設你沒有使用EF框架。當我開始使用nopcommerce時,我也是那樣。但nopcommerce中最好的事情是大多數常見問題都在應用程序的其他部分解決。

首先,在控制器中盲目寫入SQL不會有太大的幫助。好的學習方法是看看

.LimitPerStore(_storeContext.CurrentStore.Id) 

方法以及他們如何使用實體框架完成查詢/選擇。他們已經爲每家店做到了這一點。你需要每天做。這將幫助您按照nopcommerce架構解決您​​的解決方案。

來源:Ex-nopCommerce開發者3年。