本文整理汇总了C#中NBrightInfo.GetXmlPropertyInt方法的典型用法代码示例。如果您正苦于以下问题:C# NBrightInfo.GetXmlPropertyInt方法的具体用法?C# NBrightInfo.GetXmlPropertyInt怎么用?C# NBrightInfo.GetXmlPropertyInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NBrightInfo
的用法示例。
在下文中一共展示了NBrightInfo.GetXmlPropertyInt方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCartItemList
/// <summary>
/// Get Current Cart Item List
/// </summary>
/// <returns></returns>
public List<NBrightInfo> GetCartItemList(Boolean groupByProduct = false)
{
var rtnList = new List<NBrightInfo>();
var xmlNodeList = PurchaseInfo.XMLDoc.SelectNodes("genxml/items/*");
if (xmlNodeList != null)
{
foreach (XmlNode carNod in xmlNodeList)
{
var newInfo = new NBrightInfo {XMLData = carNod.OuterXml};
newInfo.GUIDKey = newInfo.GetXmlProperty("genxml/itemcode");
newInfo.PortalId = PortalId;
newInfo.ItemID = newInfo.GetXmlPropertyInt("genxml/productid");
rtnList.Add(newInfo);
}
}
if (groupByProduct)
{
var grouped = from p in rtnList group p by p.GetXmlProperty("genxml/productid") into g select new {g.Key,Value = g};
rtnList = new List<NBrightInfo>();
foreach (var group in grouped)
{
// inject header record for the product
var itemheader = (NBrightInfo)group.Value.First().Clone();
itemheader.SetXmlProperty("genxml/groupheader","True");
itemheader.SetXmlProperty("genxml/groupcount", group.Value.Count().ToString(""));
itemheader.SetXmlProperty("genxml/seeditemcode", itemheader.GUIDKey);
itemheader.GUIDKey = "";
// remove option data, so we get a clear item
itemheader.RemoveXmlNode("genxml/options");
rtnList.Add(itemheader);
foreach (var item in group.Value)
{
rtnList.Add(item);
}
}
}
return rtnList;
}
示例2: CreateXchartOrderRevDataBind
private void CreateXchartOrderRevDataBind(object sender, EventArgs e)
{
var lc = (Literal) sender;
var container = (IDataItemContainer) lc.NamingContainer;
lc.Visible = visibleStatus.DefaultIfEmpty(true).First();
if (lc.Visible && container.DataItem != null)
{
var nbi1 = (NBrightInfo) container.DataItem;
var strOut = "";
var nodList = nbi1.XMLDoc.SelectNodes("root/orderstats/*");
if (nodList != null)
{
foreach (XmlNode nod in nodList)
{
var nbi = new NBrightInfo();
nbi.XMLData = nod.OuterXml;
strOut += "{'x': '" + nbi.GetXmlPropertyInt("item/createdyear") + "-" + nbi.GetXmlPropertyInt("item/createdmonth") + "',";
strOut += "'y': " + nbi.GetXmlPropertyDouble("item/appliedtotal").ToString() + "},";
}
strOut = strOut.TrimEnd(',');
}
lc.Text = strOut;
}
}
示例3: AddSingleItem
//.........这里部分代码省略.........
if (optionDataList.ContainsKey(i.ToString("")))
{
strXmlOpt += optionDataList[i.ToString("")];
}
}
strXmlOpt += "</options>";
objInfo.AddXmlNode(strXmlOpt, "options", "genxml");
#endregion
//add additional costs from optionvalues (Add to both dealer and unit cost)
if (additionalCosts > 0)
{
objInfo.SetXmlPropertyDouble("genxml/additionalcosts", additionalCosts);
var uc = objInfo.GetXmlPropertyDouble("genxml/unitcost");
var dc = objInfo.GetXmlPropertyDouble("genxml/dealercost");
uc += additionalCosts;
if (dc > 0) dc += additionalCosts; // only calc dealer cost if it's > zero (active)
objInfo.SetXmlPropertyDouble("genxml/unitcost", uc);
objInfo.SetXmlPropertyDouble("genxml/dealercost", dc);
}
objInfo.AddSingleNode("itemcode", itemcode.TrimEnd('-'), "genxml");
// check if we have a client file upload
var clientfileuopload = objInfoIn.GetXmlProperty("genxml/textbox/optionfilelist") != "";
//replace the item if it's already in the list.
var nodItem = PurchaseInfo.XMLDoc.SelectSingleNode("genxml/items/genxml[itemcode='" + itemcode.TrimEnd('-') + "']");
if (nodItem == null || clientfileuopload)
{
#region "Client Files"
if (clientfileuopload)
{
// client has uploaded files, so save these to client upload folder and create link in cart data.
var flist = objInfoIn.GetXmlProperty("genxml/textbox/optionfilelist").TrimEnd(',');
var fprefix = objInfoIn.GetXmlProperty("genxml/hidden/optionfileprefix") + "_";
var fileXml = "<clientfiles>";
foreach (var f in flist.Split(','))
{
var fullName = StoreSettings.Current.FolderTempMapPath.TrimEnd(Convert.ToChar("\\")) + "\\" + fprefix + f;
var extension = Path.GetExtension(fullName);
if (File.Exists(fullName))
{
var newDocFileName = StoreSettings.Current.FolderClientUploadsMapPath.TrimEnd(Convert.ToChar("\\")) + "\\" + Guid.NewGuid() + extension;
File.Copy(fullName, newDocFileName, true);
File.Delete(fullName);
var docurl = StoreSettings.Current.FolderClientUploads.TrimEnd('/') + "/" + Path.GetFileName(newDocFileName);
fileXml += "<file>";
fileXml += "<mappath>" + newDocFileName + "</mappath>";
fileXml += "<url>" + docurl + "</url>";
fileXml += "<name>" + f + "</name>";
fileXml += "<prefix>" + fprefix + "</prefix>";
fileXml += "</file>";
}
}
fileXml += "</clientfiles>";
objInfo.AddXmlNode(fileXml, "clientfiles", "genxml");
}
#endregion
if (replaceIndex >= 0 && replaceIndex < _itemList.Count)
_itemList[replaceIndex] = objInfo; //replace
else
_itemList.Add(objInfo); //add as new item
}
else
{
//replace item
var qty = nodItem.SelectSingleNode("qty");
if (qty != null && Utils.IsNumeric(qty.InnerText) && Utils.IsNumeric(strqtyId))
{
var userqtylimit = objInfoIn.GetXmlPropertyInt("genxml/hidden/userqtylimit");
if (userqtylimit > 0 && Convert.ToInt32(qty.InnerText) >= userqtylimit) return "";
//add new qty and replace item
PurchaseInfo.RemoveXmlNode("genxml/items/genxml[itemcode='" + itemcode.TrimEnd('-') + "']");
_itemList = GetCartItemList();
var newQty = Convert.ToString(Convert.ToInt32(qty.InnerText) + Convert.ToInt32(strqtyId));
objInfo.SetXmlProperty("genxml/qty", newQty, TypeCode.String, false);
_itemList.Add(objInfo);
}
}
//add nodes for any fields that might exist in cart template
objInfo.AddSingleNode("textbox", "", "genxml");
objInfo.AddSingleNode("dropdownlist", "", "genxml");
objInfo.AddSingleNode("radiobuttonlist", "", "genxml");
objInfo.AddSingleNode("checkbox", "", "genxml");
SavePurchaseData(); // need to save after each add, so it exists in data when we check it already exists for updating.
// return the message status code in textData, non-critical (usually empty)
return objInfo.TextData;
}
return "";
}
示例4: ModuleSettingsSaveCatRefFromId
public static NBrightInfo ModuleSettingsSaveCatRefFromId(NBrightInfo objInfo)
{
var catid = objInfo.GetXmlPropertyInt("genxml/dropdownlist/defaultcatid");
var catData = CategoryUtils.GetCategoryData(catid, Utils.GetCurrentCulture());
if (catData.Exists) objInfo.SetXmlProperty("genxml/catref", catData.CategoryRef);
return objInfo;
}
示例5: ValidateCartItem
private NBrightInfo ValidateCartItem(int portalId, int userId, NBrightInfo cartItemInfo)
{
cartItemInfo = NBrightBuyUtils.ProcessEventProvider(EventActions.ValidateCartItemBefore, cartItemInfo);
var modelid = cartItemInfo.GetXmlProperty("genxml/modelid");
var prdid = cartItemInfo.GetXmlPropertyInt("genxml/productid");
var qty = cartItemInfo.GetXmlPropertyDouble("genxml/qty");
var prd = ProductUtils.GetProductData(prdid, Utils.GetCurrentCulture());
if (!prd.Exists || prd.Disabled) return null; //Invalid product remove from cart
var prdModel = prd.GetModel(modelid);
if (prdModel == null) return null; // Invalid Model remove from cart
// check if dealer (for tax calc)
var userInfo = UserController.GetUserById(portalId, userId);
if (userInfo != null && userInfo.IsInRole(StoreSettings.DealerRole) && StoreSettings.Current.Get("enabledealer") == "True")
cartItemInfo.SetXmlProperty("genxml/isdealer", "True");
else
cartItemInfo.SetXmlProperty("genxml/isdealer", "False");
// check for price change
var unitcost = prdModel.GetXmlPropertyDouble("genxml/textbox/txtunitcost");
var dealercost = prdModel.GetXmlPropertyDouble("genxml/textbox/txtdealercost");
var saleprice = prdModel.GetXmlPropertyDouble("genxml/textbox/txtsaleprice");
// calc sale price
var sellcost = unitcost;
if (saleprice > 0 && saleprice < sellcost) sellcost = saleprice;
//stock control
if (prdModel != null)
{
var stockon = prdModel.GetXmlPropertyBool("genxml/checkbox/chkstockon");
var stocklevel = prdModel.GetXmlPropertyDouble("genxml/textbox/txtqtyremaining");
var minStock = prdModel.GetXmlPropertyDouble("genxml/textbox/txtqtyminstock");
if (minStock == 0) minStock = StoreSettings.Current.GetInt("minimumstocklevel");
var maxStock = prdModel.GetXmlPropertyDouble("genxml/textbox/txtqtystockset");
var weight = prdModel.GetXmlPropertyDouble("genxml/textbox/weight");
if (stockon)
{
stocklevel = stocklevel - minStock;
stocklevel = stocklevel - prd.GetModelTransQty(modelid, _cartId);
if (stocklevel < qty)
{
qty = stocklevel;
if (qty <= 0)
{
qty = 0;
cartItemInfo.SetXmlProperty("genxml/validatecode", "OUTOFSTOCK");
}
else
{
cartItemInfo.SetXmlProperty("genxml/validatecode", "STOCKADJ");
}
base.SetValidated(false);
cartItemInfo.SetXmlPropertyDouble("genxml/qty", qty.ToString(""));
}
}
Double additionalCosts = 0;
var optNods = cartItemInfo.XMLDoc.SelectNodes("genxml/options/*");
if (optNods != null)
{
var lp = 1;
foreach (XmlNode nod in optNods)
{
var optid = nod.SelectSingleNode("optid");
if (optid != null)
{
var optvalueid = nod.SelectSingleNode("optvalueid");
if (optvalueid != null && optvalueid.InnerText != "False")
{
XmlNode optvalcostnod;
if (optvalueid.InnerText == "True")
optvalcostnod = cartItemInfo.XMLDoc.SelectSingleNode("genxml/productxml/genxml/optionvalues[@optionid='" + optid.InnerText + "']/genxml/textbox/txtaddedcost");
else
optvalcostnod = cartItemInfo.XMLDoc.SelectSingleNode("genxml/productxml/genxml/optionvalues/genxml[./hidden/optionvalueid='" + optvalueid.InnerText + "']/textbox/txtaddedcost");
if (optvalcostnod != null)
{
var optvalcost = optvalcostnod.InnerText;
if (Utils.IsNumeric(optvalcost))
{
cartItemInfo.SetXmlPropertyDouble("genxml/options/option[" + lp + "]/optvalcost", optvalcost);
var optvaltotal = Convert.ToDouble(optvalcost, CultureInfo.GetCultureInfo("en-US"))*qty;
cartItemInfo.SetXmlPropertyDouble("genxml/options/option[" + lp + "]/optvaltotal", optvaltotal);
additionalCosts += optvaltotal;
}
}
else
{
cartItemInfo.SetXmlPropertyDouble("genxml/options/option[" + lp + "]/optvalcost", "0");
cartItemInfo.SetXmlPropertyDouble("genxml/options/option[" + lp + "]/optvaltotal", "0");
}
}
}
lp += 1;
}
}
if (qty > 0) // can't devide by zero
//.........这里部分代码省略.........
示例6: ModuleSettingsResetCatIdFromRef
public static NBrightInfo ModuleSettingsResetCatIdFromRef(NBrightInfo objInfo)
{
var ModCtrl = new NBrightBuyController();
var catid = objInfo.GetXmlPropertyInt("genxml/dropdownlist/defaultcatid");
var nbi = ModCtrl.Get(catid);
if (nbi == null)
{
// categoryid no longer exists, see if we can get it back with the catref (might be lost due to cleardown and import)
var catref = objInfo.GetXmlProperty("genxml/catref");
nbi = ModCtrl.GetByGuidKey(objInfo.PortalId, -1, "CATEGORY", catref);
if (nbi != null)
{
objInfo.SetXmlProperty("genxml/dropdownlist/defaultcatid", nbi.ItemID.ToString(""));
}
}
return objInfo;
}
示例7: UpdateSystemPlugins
/// <summary>
/// Search filesystem for any new plugins that have been added. Removed any deleted ones.
/// </summary>
public void UpdateSystemPlugins()
{
if (!_portallevel) // only want to edit system level file
{
// Add new plugins
var updated = false;
var pluginfoldermappath = System.Web.Hosting.HostingEnvironment.MapPath(StoreSettings.NBrightBuyPath() + "/Plugins");
if (pluginfoldermappath != null && Directory.Exists(pluginfoldermappath))
{
var ctrlList = new Dictionary<String,int>();
var flist = Directory.GetFiles(pluginfoldermappath);
foreach (var f in flist)
{
if (f.EndsWith(".xml"))
{
var datain = File.ReadAllText(f);
try
{
var nbi = new NBrightInfo();
nbi.XMLData = datain;
AddPlugin(nbi);
ctrlList.Add(nbi.GetXmlProperty("genxml/textbox/ctrl"), nbi.GetXmlPropertyInt("genxml/hidden/index"));
updated = true;
File.Delete(f);
}
catch (Exception)
{
// data might not be XML complient (ignore)
}
}
}
if (updated)
{
Save(false); // only update system level
}
}
}
}
示例8: UpdateRecord
private void UpdateRecord()
{
var xmlData = GenXmlFunctions.GetGenXml(rpData, "", StoreSettings.Current.FolderImagesMapPath);
var objInfo = new NBrightInfo();
objInfo.ItemID = -1;
objInfo.TypeCode = "POSTDATA";
objInfo.XMLData = xmlData;
var settings = objInfo.ToDictionary(); // put the fieds into a dictionary, so we can get them easy.
// check we don't have an invalid parentitemid
var parentitemid = objInfo.GetXmlPropertyInt("genxml/dropdownlist/ddlparentcatid");
var strOut = "No Category ID ('itemid' hidden fields needed on input form)";
if (settings.ContainsKey("itemid"))
{
if (parentitemid != Convert.ToInt32(settings["itemid"]))
{
var catData = CategoryUtils.GetCategoryData(Convert.ToInt32(settings["itemid"]), StoreSettings.Current.EditLanguage);
// check we've not put a category under it's child
if (IsParentInChildren(catData, parentitemid))
{
NBrightBuyUtils.SetNotfiyMessage(ModuleId, "categoryactionsave", NotifyCode.fail);
}
else
{
catData.Update(objInfo);
if (!String.IsNullOrEmpty(Edittype) && Edittype.ToLower() == "group")
{
var grptype = objInfo.GetXmlProperty("genxml/dropdownlist/ddlparentcatid");
var grp = ModCtrl.GetByGuidKey(PortalSettings.PortalId, -1, "GROUP", grptype);
if (grp != null)
{
var newGuidKey = objInfo.GetXmlProperty("genxml/textbox/propertyref");
if (newGuidKey != "") newGuidKey = GetUniqueGuidKey(catData.CategoryId, Utils.UrlFriendly(newGuidKey));
catData.DataRecord.GUIDKey = newGuidKey;
catData.DataRecord.SetXmlProperty("genxml/textbox/txtcategoryref", newGuidKey);
catData.DataRecord.ParentItemId = grp.ItemID;
// list done using ddlgrouptype, in GetCatList
catData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlgrouptype", grptype);
catData.Save();
NBrightBuyUtils.RemoveModCachePortalWide(PortalId);
}
}
else
{
// the base category ref cannot have language dependant refs, we therefore just use a unique key
var catref = catData.DataRecord.GetXmlProperty("genxml/textbox/txtcategoryref");
if (catref == "")
{
if (catData.DataRecord.GUIDKey == "")
{
catref = Utils.GetUniqueKey().ToLower();
catData.DataRecord.SetXmlProperty("genxml/textbox/txtcategoryref", catref);
catData.DataRecord.GUIDKey = catref;
}
else
{
catData.DataRecord.SetXmlProperty("genxml/textbox/txtcategoryref", catData.DataRecord.GUIDKey);
}
}
catData.Save();
CategoryUtils.ValidateLangaugeRef(PortalId, Convert.ToInt32(settings["itemid"])); // do validate so we update all refs and children refs
NBrightBuyUtils.RemoveModCachePortalWide(PortalId);
}
NBrightBuyUtils.SetNotfiyMessage(ModuleId, "categoryactionsave", NotifyCode.ok);
}
}
else
{
NBrightBuyUtils.SetNotfiyMessage(ModuleId, "categoryactionsave", NotifyCode.fail);
}
}
NBrightBuyUtils.RemoveModCachePortalWide(PortalId); //clear any cache
}
示例9: AfterProductSave
public override NBrightInfo AfterProductSave(NBrightInfo nbrightInfo)
{
var promoid = nbrightInfo.GetXmlPropertyInt("genxml/hidden/promoid");
if (promoid > 0)
{
var prdData = ProductUtils.GetProductData(nbrightInfo.ItemID, nbrightInfo.Lang);
var objCtrl = new NBrightBuyController();
var promoData = objCtrl.GetData(promoid);
var catgroupid = promoData.GetXmlPropertyInt("genxml/dropdownlist/catgroupid");
var propgroupid = promoData.GetXmlPropertyInt("genxml/dropdownlist/propgroupid");
var propbuygroupid = promoData.GetXmlPropertyInt("genxml/dropdownlist/propbuy");
var propapplygroupid = promoData.GetXmlPropertyInt("genxml/dropdownlist/propapply");
var removepromo = true;
foreach (var c in prdData.GetCategories())
{
if (c.categoryid == catgroupid) removepromo = false;
if (c.categoryid == propgroupid) removepromo = false;
if (c.categoryid == propbuygroupid) removepromo = false;
if (c.categoryid == propapplygroupid) removepromo = false;
}
if (removepromo)
{
PromoUtils.RemoveProductPromoData(nbrightInfo.PortalId, nbrightInfo.ItemID,promoid);
ProductUtils.RemoveProductDataCache(nbrightInfo.PortalId, nbrightInfo.ItemID);
}
}
return nbrightInfo;
}
示例10: CalcMultiBuyPromoItem
public static string CalcMultiBuyPromoItem(NBrightInfo p)
{
var objCtrl = new NBrightBuyController();
var propgroupid = p.GetXmlPropertyInt("genxml/dropdownlist/propbuy");
var promoname = p.GetXmlProperty("genxml/textbox/name");
var validfrom = p.GetXmlProperty("genxml/textbox/validfrom");
var validuntil = p.GetXmlProperty("genxml/textbox/validuntil");
var disabled = p.GetXmlPropertyBool("genxml/checkbox/disabled");
var lastcalculated = p.GetXmlProperty("genxml/hidden/lastcalculated");
if (!disabled)
{
var runcalc = true;
if (Utils.IsDate(lastcalculated))
{
if (Convert.ToDateTime(lastcalculated) >= p.ModifiedDate) runcalc = false; // only run if changed
if (DateTime.Now.Date > Convert.ToDateTime(lastcalculated).Date.AddDays(1)) runcalc = true; // every day just after midnight. (for site performace)
}
if (Utils.IsDate(validuntil))
{
if (DateTime.Now.Date > Convert.ToDateTime(validuntil)) runcalc = true; // need to disable the promo if passed date
}
if ((runcalc) && Utils.IsDate(validfrom) && Utils.IsDate(validuntil))
{
var dteF = Convert.ToDateTime(validfrom).Date;
var dteU = Convert.ToDateTime(validuntil).Date;
CategoryData gCat;
gCat = CategoryUtils.GetCategoryData(propgroupid, Utils.GetCurrentCulture());
var prdList = gCat.GetAllArticles();
foreach (var prd in prdList)
{
if (DateTime.Now.Date >= dteF && DateTime.Now.Date <= dteU)
{
// CALC Promo
FlagProductMultiBuy(p.PortalId, prd.ParentItemId, promoname, p.ItemID, "PROMOMULTIBUY",dteF,dteU);
}
if (DateTime.Now.Date > dteU)
{
// END Promo
RemoveProductPromoData(p.PortalId, prd.ParentItemId, p.ItemID);
p.SetXmlProperty("genxml/checkbox/disabled", "True");
objCtrl.Update(p);
}
ProductUtils.RemoveProductDataCache(p.PortalId, prd.ParentItemId);
}
p.SetXmlProperty("genxml/hidden/lastcalculated", DateTime.Now.AddSeconds(10).ToString("O")); // Add 10 sec to time so we don't get exact clash with update time.
objCtrl.Update(p);
}
}
return "OK";
}