public String GetCategoryProductList(HttpContext context, string editLangCurrent) { try { EditLangCurrent = editLangCurrent; var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context); var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier; var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner; var strFilter = " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = {Settings:itemid}) "; strFilter = Utils.ReplaceSettingTokens(strFilter, ajaxInfo.ToDictionary()); ajaxInfo.SetXmlProperty("genxml/hidden/filter", strFilter); ajaxInfo.SetXmlProperty("genxml/hidden/razortemplate", "Admin_CategoryProducts.cshtml"); ajaxInfo.SetXmlProperty("genxml/hidden/themefolder", "config"); var productFunctions = new ProductFunctions(); return(productFunctions.ProductAdminList(context, true, EditLangCurrent, "", true)); } catch (Exception ex) { return(ex.ToString()); } }
public string UpdateCategoryImages(HttpContext context, string editLangCurrent) { EditLangCurrent = editLangCurrent; //get uploaded params var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); var catitemid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid"); var imguploadlist = ajaxInfo.GetXmlProperty("genxml/hidden/imguploadlist"); var strOut = ""; if (catitemid > 0) { var imgs = imguploadlist.Split(','); foreach (var img in imgs) { if (ImgUtils.IsImageFile(Path.GetExtension(img)) && img != "") { string fullName = StoreSettings.Current.FolderTempMapPath + "\\" + img; if (File.Exists(fullName)) { var imgResize = StoreSettings.Current.GetInt(StoreSettingKeys.productimageresize); if (imgResize == 0) { imgResize = 800; } var productFunctions = new ProductFunctions(); var imagepath = productFunctions.ResizeImage(fullName, imgResize); var imageurl = StoreSettings.Current.FolderImages.TrimEnd('/') + "/" + Path.GetFileName(imagepath); AddNewImage(catitemid, imageurl, imagepath, EditLangCurrent); } } } } return(CategoryAdminDetail(context, 0, EditLangCurrent)); }
public List <CartProductViewModel> GetCartProductsFromOrderRef(string OrderReference) { List <CartProductViewModel> cart = new List <CartProductViewModel>(); string[] Items = OrderReference.Split(' '); foreach (var item in Items) { if (item != "") { string[] values = item.Split('+'); int[] numbers = Array.ConvertAll(values, int.Parse); cart.Add(new CartProductViewModel() { StockId = numbers[0], Quantity = numbers[1] }); } } foreach (var product in cart) { var p = new ProductFunctions(ConnectionString, ProductFunctions, null, null).RunGetProductByStockId(product.StockId); product.Name = p.Name; product.Value = $"€{p.Value.ToString("N2")}"; } return(cart); }
private void RazorPageLoad() { NBrightInfo objCat = null; if (RazorTemplate.Trim() != "") // if we don;t have a template, don't do anything { if (_displayentrypage) { // get correct itemid, based on eid given _eid = GetEntryIdFromName(_eid); RazorDisplayDataEntry(_eid); } else { // load meta data for category if (Utils.IsNumeric(_catid)) { var catData = new CategoryData(_catid, Utils.GetCurrentCulture()); if (catData.Name != null) { if (catData.SEOTitle != "") { BasePage.Title = catData.SEOTitle; } else { BasePage.Title = catData.SEOName; } if (BasePage.Title == "") { BasePage.Title = catData.Name; } if (catData.SEODescription != "") { BasePage.Description = catData.SEODescription; } if (catData.SEOTagwords != "") { BasePage.KeyWords = catData.SEOTagwords; } } } var pf = new ProductFunctions(); var strOut = pf.ProductAjaxViewList(Context, ModuleId, TabId, true); // load base template which should call ajax and load the list. //var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, ModuleId, "productdetailrazor" + ModuleId, new NBrightInfo(true), _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); } } }
public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "") { if (!CheckRights()) { return("Security Error."); } var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); var uilang = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client. var objCtrl = new NBrightBuyController(); var strOut = "OS_BulkEdit Ajax Error"; var productFunctions = new ProductFunctions(); // NOTE: The paramCmd MUST start with the plugin ref. in lowercase. (links ajax provider to cmd) switch (paramCmd.ToLower()) { case "os_bulkedit_test": strOut = "<root>" + UserController.Instance.GetCurrentUserInfo().Username + "</root>"; break; case "os_bulkedit_getdata": strOut = ProductAdminList(context); break; case "os_bulkedit_deleterecord": strOut = DeleteData(context); break; case "os_bulkedit_saveitem": DataSave(context); break; case "os_bulkedit_selectchangedisable": if (!NBrightBuyUtils.CheckRights()) { break; } strOut = UpdateBoolean(context, "genxml/checkbox/chkdisable"); strOut = ProductAdminList(context); break; case "os_bulkedit_selectchangehidden": if (!NBrightBuyUtils.CheckRights()) { break; } strOut = UpdateBoolean(context, "genxml/checkbox/chkishidden"); strOut = ProductAdminList(context); break; } return(strOut); }
public ActionResult GetProduct(Product product) { try { return(Json(ProductFunctions.Get(product))); } catch (Exception ex) { return(Json("Error occurred. Error details: " + ex.Message)); } }
public string UpdateCategoryImages(HttpContext context, string editLangCurrent) { EditLangCurrent = editLangCurrent; //get uploaded params var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); var catitemid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid"); var imguploadlist = ajaxInfo.GetXmlProperty("genxml/hidden/imguploadlist"); var strOut = ""; if (catitemid > 0) { var imgs = imguploadlist.Split(','); foreach (var img in imgs) { if (ImgUtils.IsImageFile(Path.GetExtension(img)) && img != "") { var extension = Path.GetExtension(img); var fn = DnnUtils.Encrypt(img, StoreSettings.Current.Get("adminpin")); foreach (char c in System.IO.Path.GetInvalidFileNameChars()) { fn = fn.Replace(c, '_'); } fn = extension + "-" + fn; // add extension to front, so it cannot be servered but we can add to order data. var fullName = StoreSettings.Current.FolderTempMapPath.TrimEnd(Convert.ToChar("\\")) + "\\" + fn; if (File.Exists(fullName)) { // process image provider var imageInfo = new NBrightInfo(true); imageInfo.SetXmlProperty("genxml/uploadedimagemappath", fullName); imageInfo = NBrightBuyUtils.ProcessImageProvider("product", imageInfo); fullName = imageInfo.GetXmlProperty("genxml/uploadedimagemappath"); // deal with image File.Move(fullName, fullName + extension); fullName = fullName + extension; var imgResize = StoreSettings.Current.GetInt(StoreSettingKeys.productimageresize); if (imgResize == 0) { imgResize = 800; } var productFunctions = new ProductFunctions(); var imagepath = productFunctions.ResizeImage(fullName, imgResize); var imageurl = StoreSettings.Current.FolderImages.TrimEnd('/') + "/" + Path.GetFileName(imagepath); AddNewImage(catitemid, imageurl, imagepath, EditLangCurrent); } } } } return(CategoryAdminDetail(context, 0, EditLangCurrent)); }
public ActionResult CreateUpdateProducts(Product product) { int?ProductId = null; try { if (product.ProductId != null) { ProductFunctions.Update(product); } else { ProductId = ProductFunctions.Create(product); } return(Json(ProductId)); } catch (Exception ex) { return(Json("Error occurred. Error details: " + ex.Message)); } }
public ActionResult DeleteProduct(Product product) { ProductFunctions.Delete(product); return(RedirectToAction("Products", "Products")); }
public string ProcessCommand(string paramCmd, HttpContext context, string editlang = "") { var strOut = "CATEGORY - ERROR!! - No Security rights or function command."; var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); EntityTypeCode = ajaxInfo.GetXmlProperty("genxml/hidden/entitytypecode"); if (EntityTypeCode == "") { EntityTypeCode = "CATEGORY"; // default to category } EditLangCurrent = NBrightBuyUtils.GetEditLang(ajaxInfo, Utils.GetCurrentCulture()); if (!paramCmd.ToLower().Contains("save")) { // pickup nextlang, indicates if we are changing languages. (Don't use if saving data, only for getting next language.) EditLangCurrent = NBrightBuyUtils.GetNextLang(ajaxInfo, EditLangCurrent); } if (PluginUtils.CheckPluginSecurity(PortalSettings.Current.PortalId, "categories")) { switch (paramCmd) { case "category_admin_getlist": strOut = CategoryAdminList(context, "", EditLangCurrent); break; case "category_admin_getdetail": strOut = CategoryAdminDetail(context, 0, EditLangCurrent); break; case "category_admin_addnew": strOut = CategoryAdminAddNew(context); break; case "category_admin_savelist": strOut = CategoryAdminSaveList(context); break; case "category_admin_save": strOut = CategorySave(context, EditLangCurrent); break; case "category_admin_saveexit": strOut = CategorySave(context, EditLangCurrent); break; case "category_admin_movecategory": strOut = MoveCategoryAdmin(context); break; case "category_admin_delete": strOut = DeleteCategory(context); break; case "category_updateimages": strOut = UpdateCategoryImages(context, EditLangCurrent); break; case "category_getproductselectlist": var productFunctions = new ProductFunctions(); strOut = productFunctions.ProductAdminList(context, true, EditLangCurrent, "", true); break; case "category_selectchangehidden": strOut = CategoryHidden(context); break; case "category_selectcatxref": strOut = SelectCatXref(context, EditLangCurrent); break; case "category_deletecatxref": strOut = DeleteCatXref(context); break; case "category_deleteallcatxref": strOut = DeleteAllCatXref(context, EditLangCurrent); break; case "category_copyallcatxref": strOut = CopyAllCatXref(context); break; case "category_moveallcatxref": strOut = CopyAllCatXref(context, true); break; case "category_cattaxupdate": strOut = CatTaxUpdate(context, EditLangCurrent); break; case "category_addgroupfilter": strOut = AddGroupFilter(context, EditLangCurrent); break; case "category_removegroupfilter": strOut = RemoveGroupFilter(context, EditLangCurrent); break; case "category_categorygroupfilter": strOut = CategoryGroupFilters(context, EditLangCurrent); break; } } switch (paramCmd) { case "category_categoryproductlist": strOut = GetCategoryProductList(context, EditLangCurrent); break; case "category_removeimage": strOut = RemoveCategoryImage(context, EditLangCurrent); break; case "category_displayproductselect": strOut = CategoryProductSelect(context, EditLangCurrent); break; } return(strOut); }
public void ProcessRequest(HttpContext context) { #region "Initialize" var strOut = "** No Action **"; var paramCmd = Utils.RequestQueryStringParam(context, "cmd"); var itemId = Utils.RequestQueryStringParam(context, "itemid"); var ctlType = Utils.RequestQueryStringParam(context, "ctltype"); var idXref = Utils.RequestQueryStringParam(context, "idxref"); var xpathpdf = Utils.RequestQueryStringParam(context, "pdf"); var xpathref = Utils.RequestQueryStringParam(context, "pdfref"); var lang = Utils.RequestQueryStringParam(context, "lang"); var language = Utils.RequestQueryStringParam(context, "language"); var moduleId = Utils.RequestQueryStringParam(context, "mid"); var moduleKey = Utils.RequestQueryStringParam(context, "mkey"); var parentid = Utils.RequestQueryStringParam(context, "parentid"); var entryid = Utils.RequestQueryStringParam(context, "entryid"); var entryxid = Utils.RequestQueryStringParam(context, "entryxid"); var catid = Utils.RequestQueryStringParam(context, "catid"); var catxid = Utils.RequestQueryStringParam(context, "catxid"); var templatePrefix = Utils.RequestQueryStringParam(context, "tprefix"); var value = Utils.RequestQueryStringParam(context, "value"); var itemListName = Utils.RequestQueryStringParam(context, "listname"); if (itemListName == "") { itemListName = "ItemList"; } if (itemListName == "*") { itemListName = "ItemList"; } #region "setup language" // because we are using a webservice the system current thread culture might not be set correctly, _uilang = NBrightBuyUtils.SetContextLangauge(context); var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); _editlang = NBrightBuyUtils.GetEditLang(ajaxInfo, _uilang); #endregion Logging.Debug($"XmlConnector called with: paramCmd='{paramCmd}', itemId='{itemId}', itemListName='{itemListName}'"); #endregion try { #region "Do processing of command" if (paramCmd.StartsWith("client.")) { strOut = ClientFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("orderadmin_")) { strOut = OrderFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("payment_")) { strOut = PaymentFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("product_")) { ProductFunctions.EntityTypeCode = "PRD"; strOut = ProductFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("category_")) { CategoryFunctions.EntityTypeCode = "CATEGORY"; strOut = CategoryFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("property_")) { PropertyFunctions.EntityTypeCode = "CATEGORY"; strOut = PropertyFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("itemlist_")) { strOut = ItemListsFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("addressadmin_")) { strOut = AddressAdminFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("plugins_")) { strOut = PluginFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("cart_")) { strOut = CartFunctions.ProcessCommand(paramCmd, context); } else { switch (paramCmd) { case "test": strOut = "<root>" + UserController.Instance.GetCurrentUserInfo().Username + "</root>"; break; case "setdata": break; case "deldata": break; case "getdata": strOut = GetReturnData(context); break; case "fileupload": if (NBrightBuyUtils.CheckRights()) { strOut = FileUpload(context); } break; case "fileclientupload": if (StoreSettings.Current.GetBool("allowupload")) { strOut = FileUpload(context, itemId); } break; case "docdownload": var fname = Utils.RequestQueryStringParam(context, "filename"); var filekey = Utils.RequestQueryStringParam(context, "key"); if (filekey != "") { var uData = new UserData(); if (uData.HasPurchasedDocByKey(filekey)) { fname = uData.GetPurchasedFileName(filekey); } fname = StoreSettings.Current.FolderDocuments + "/" + fname; } if (fname != "") { strOut = fname; // return this is error. var downloadname = Utils.RequestQueryStringParam(context, "downloadname"); var fpath = HttpContext.Current.Server.MapPath(fname); if (downloadname == "") { downloadname = Path.GetFileName(fname); } try { Utils.ForceDocDownload(fpath, downloadname, context.Response); } catch (Exception ex) { // ignore, robots can cause error on thread abort. //Exceptions.LogException(ex); Logging.Debug($"XmlConnector.ProcessRequest exception for {paramCmd} which is ignored because bots tend to cause these on thread abort: {ex.Message}."); } } break; case "printproduct": break; case "renderpostdata": strOut = RenderPostData(context); break; case "getsettings": strOut = GetSettings(context); break; case "savesettings": if (NBrightBuyUtils.CheckRights()) { strOut = SaveSettings(context); } break; case "updateprofile": strOut = UpdateProfile(context); break; case "dosearch": strOut = DoSearch(context); break; case "resetsearch": strOut = ResetSearch(context); break; case "orderby": strOut = DoOrderBy(context); break; case "renderthemefolders": strOut = RenderThemeFolders(context); break; } } if (strOut == "** No Action **") { var pluginData = new PluginData(PortalSettings.Current.PortalId); var provList = pluginData.GetAjaxProviders(); foreach (var d in provList) { if (paramCmd.ToLower().StartsWith(d.Key.ToLower() + "_") || paramCmd.ToLower().StartsWith("cmd" + d.Key.ToLower() + "_")) { var ajaxprov = AjaxInterface.Instance(d.Key); if (ajaxprov != null) { strOut = ajaxprov.ProcessCommand(paramCmd, context, _editlang); } } } } #endregion } catch (Exception ex) { strOut = ex.ToString(); Logging.LogException(ex); //Exceptions.LogException(ex); } #region "return results" //send back xml as plain text context.Response.Clear(); context.Response.ContentType = "text/plain"; context.Response.Write(strOut); context.Response.End(); #endregion }
public void ProcessRequest(HttpContext context) { #region "Initialize" var strOut = "** No Action **"; var paramCmd = Utils.RequestQueryStringParam(context, "cmd"); var itemId = Utils.RequestQueryStringParam(context, "itemid"); var ctlType = Utils.RequestQueryStringParam(context, "ctltype"); var idXref = Utils.RequestQueryStringParam(context, "idxref"); var xpathpdf = Utils.RequestQueryStringParam(context, "pdf"); var xpathref = Utils.RequestQueryStringParam(context, "pdfref"); var lang = Utils.RequestQueryStringParam(context, "lang"); var language = Utils.RequestQueryStringParam(context, "language"); var moduleId = Utils.RequestQueryStringParam(context, "mid"); var moduleKey = Utils.RequestQueryStringParam(context, "mkey"); var parentid = Utils.RequestQueryStringParam(context, "parentid"); var entryid = Utils.RequestQueryStringParam(context, "entryid"); var entryxid = Utils.RequestQueryStringParam(context, "entryxid"); var catid = Utils.RequestQueryStringParam(context, "catid"); var catxid = Utils.RequestQueryStringParam(context, "catxid"); var templatePrefix = Utils.RequestQueryStringParam(context, "tprefix"); var value = Utils.RequestQueryStringParam(context, "value"); var itemListName = Utils.RequestQueryStringParam(context, "listname"); if (itemListName == "") { itemListName = "ItemList"; } if (itemListName == "*") { itemListName = "ItemList"; } #region "setup language" // because we are using a webservice the system current thread culture might not be set correctly, NBrightBuyUtils.SetContextLangauge(context); var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); _editlang = NBrightBuyUtils.GetEditLang(ajaxInfo, Utils.GetCurrentCulture()); #endregion Logging.Debug($"XmlConnector called with: paramCmd='{paramCmd}', itemId='{itemId}', itemListName='{itemListName}'"); #endregion try { #region "Do processing of command" if (paramCmd.StartsWith("client.")) { strOut = ClientFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("orderadmin_")) { strOut = OrderFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("payment_")) { strOut = PaymentFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("product_")) { var productFunctions = new ProductFunctions(); strOut = productFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("category_")) { var categoryFunctions = new CategoryFunctions(); strOut = categoryFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("property_")) { var propertyFunctions = new PropertyFunctions(); strOut = propertyFunctions.ProcessCommand(paramCmd, context, _editlang); } else if (paramCmd.StartsWith("itemlist_")) { strOut = ItemListsFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("addressadmin_")) { strOut = AddressAdminFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("plugins_")) { strOut = PluginFunctions.ProcessCommand(paramCmd, context); } else if (paramCmd.StartsWith("cart_")) { strOut = CartFunctions.ProcessCommand(paramCmd, context); } else { switch (paramCmd) { case "test": strOut = "<root>" + UserController.Instance.GetCurrentUserInfo().Username + "</root>"; break; case "setdata": break; case "deldata": break; case "getdata": strOut = GetReturnData(context); break; case "fileupload": if (NBrightBuyUtils.CheckRights()) { strOut = FileUpload(context); } break; case "fileclientupload": if (StoreSettings.Current.GetBool("allowupload")) { strOut = FileUpload(context, itemId); } break; case "docdownload": strOut = DownloadSystemFile(paramCmd, context); break; case "printproduct": break; case "renderpostdata": strOut = RenderPostData(context); break; case "getsettings": strOut = GetSettings(context); break; case "savesettings": if (NBrightBuyUtils.CheckRights()) { strOut = SaveSettings(context); } break; case "updateprofile": strOut = UpdateProfile(context); break; case "dosearch": strOut = DoSearch(context); break; case "resetsearch": strOut = ResetSearch(context); break; case "orderby": strOut = DoOrderBy(context); break; case "renderthemefolders": strOut = RenderThemeFolders(context); break; } } if (strOut == "** No Action **") { var ajaxprovider = ajaxInfo.GetXmlProperty("genxml/hidden/ajaxprovider"); if (ajaxprovider == "") { ajaxprovider = Utils.RequestQueryStringParam(context, "ajaxprovider"); } var pluginData = new PluginData(PortalSettings.Current.PortalId); var provList = pluginData.GetAjaxProviders(); if (ajaxprovider != "") { strOut = "Ajax Provider not found: " + ajaxprovider; if (provList.ContainsKey(ajaxprovider)) { var ajaxprov = AjaxInterface.Instance(ajaxprovider); if (ajaxprov != null) { strOut = ajaxprov.ProcessCommand(paramCmd, context, _editlang); } } } else { foreach (var d in provList) { if (paramCmd.ToLower().StartsWith(d.Key.ToLower() + "_") || paramCmd.ToLower().StartsWith("cmd" + d.Key.ToLower() + "_")) { var ajaxprov = AjaxInterface.Instance(d.Key); if (ajaxprov != null) { strOut = ajaxprov.ProcessCommand(paramCmd, context, _editlang); } } } } } #endregion } catch (Exception ex) { strOut = ex.ToString(); Logging.LogException(ex); //Exceptions.LogException(ex); } #region "return results" //send back xml as plain text context.Response.Clear(); context.Response.ContentType = "text/plain"; context.Response.Write(strOut); context.Response.End(); #endregion }
public ProductTests() { productFunctions = new ProductFunctions(null, adminProductFunctions.Object, userProductFunctions.Object, product.Object); }