예제 #1
0
        public static string ProcessCommand(string paramCmd, HttpContext context)
        {
            var strOut   = "ORDER - ERROR!! - No Security rights for current user!";
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            switch (paramCmd)
            {
            case "payment_manualpayment":
                strOut = "";
                var cartInfo = new CartData(PortalSettings.Current.PortalId);
                if (cartInfo != null)
                {
                    cartInfo.SaveModelTransQty();     // move qty into trans
                    cartInfo.ConvertToOrder(StoreSettings.Current.DebugMode);
                    var orderData = new OrderData(cartInfo.PurchaseInfo.ItemID);
                    orderData.PaymentProviderKey = ajaxInfo.GetXmlProperty("genxml/hidden/paymentproviderkey").ToLower();     // provider keys should always be lowecase
                    orderData.SavePurchaseData();
                    strOut = PaymentsInterface.Instance(orderData.PaymentProviderKey).RedirectForPayment(orderData);
                }

                break;
            }

            return(strOut);
        }
예제 #2
0
        public static string ProcessCommand(string paramCmd, HttpContext context)
        {
            var strOut = "CLIENT - ERROR!! - No Security rights for current user!";

            if (NBrightBuyUtils.CheckManagerRights())
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var userId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");

                switch (paramCmd)
                {
                case "product_admin_getlist":
                    strOut = ProductFunctions.ProductAdminList(context);
                    break;

                case "product_admin_getdetail":
                    strOut = ProductFunctions.ProductAdminDetail(context);
                    break;

                case "product_admin_save":
                    strOut = ProductFunctions.ProductAdminSave(context);
                    break;

                case "product_admin_selectlist":
                    strOut = ProductFunctions.ProductAdminList(context);
                    break;

                case "product_moveproductadmin":
                    strOut = ProductFunctions.MoveProductAdmin(context);
                    break;
                }
            }
            return(strOut);
        }
예제 #3
0
        private static String GetPaymentList(HttpContext context)
        {
            var ajaxInfo      = NBrightBuyUtils.GetAjaxFields(context);
            var themeFolder   = ajaxInfo.GetXmlProperty("genxml/hidden/themefolder");
            var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");

            var passSettings = ajaxInfo.ToDictionary();

            foreach (var s in StoreSettings.Current.Settings()) // copy store setting, otherwise we get a byRef assignement
            {
                if (passSettings.ContainsKey(s.Key))
                {
                    passSettings[s.Key] = s.Value;
                }
                else
                {
                    passSettings.Add(s.Key, s.Value);
                }
            }

            var cartInfo = new CartData(PortalSettings.Current.PortalId);

            if (cartInfo != null)
            {
            }

            var strOut = NBrightBuyUtils.RazorTemplRender(razortemplate, 0, "", cartInfo, "/DesktopModules/NBright/NBrightBuy", themeFolder, Utils.GetCurrentCulture(), passSettings);

            return(strOut);
        }
예제 #4
0
        private String DeleteData(HttpContext context)
        {
            var objCtrl = new NBrightBuyController();

            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var itemid   = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");

            if (Utils.IsNumeric(itemid))
            {
                var nbi = objCtrl.Get(Convert.ToInt32(itemid));
                if (nbi != null)
                {
                    var typecode = nbi.TypeCode;

                    // run the promo before delete, so we remove any promo data that may exist.
                    if (typecode == "CATEGORYPROMO")
                    {
                        PromoUtils.RemoveGroupProductPromo(PortalSettings.Current.PortalId, nbi.ItemID);
                    }
                    if (typecode == "MULTIBUYPROMO")
                    {
                        PromoUtils.RemoveMultiBuyProductPromo(PortalSettings.Current.PortalId, nbi.ItemID);
                    }

                    // delete DB record
                    objCtrl.Delete(nbi.ItemID);
                }

                NBrightBuyUtils.RemoveModCache(-2);
            }
            return("");
        }
예제 #5
0
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.
            var objCtrl  = new NBrightBuyController();

            var strOut = "OS_Sips Ajax Error";

            if (PluginUtils.CheckPluginSecurity(PortalSettings.Current.PortalId, "sips1"))
            {
                // NOTE: The paramCmd MUST start with the plugin ref. in lowercase. (links ajax provider to cmd)
                switch (paramCmd)
                {
                case "sips1_savesettings":
                    strOut = objCtrl.SavePluginSinglePageData(context);
                    break;

                case "sips1_selectlang":
                    objCtrl.SavePluginSinglePageData(context);
                    var nextlang = ajaxInfo.GetXmlProperty("genxml/hidden/nextlang");
                    var info     = objCtrl.GetPluginSinglePageData("OS_Sipspayment", "OS_SipsPAYMENT", nextlang);
                    strOut = NBrightBuyUtils.RazorTemplRender("settingsfields.cshtml", 0, "", info, "/DesktopModules/NBright/OS_Sips", "config", nextlang,
                                                              StoreSettings.Current.Settings());
                    break;
                }
            }

            return(strOut);
        }
예제 #6
0
        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));
        }
예제 #7
0
        private static String GetAddress(HttpContext context)
        {
            var addressData   = new AddressData();
            var ajaxInfo      = NBrightBuyUtils.GetAjaxFields(context);
            var themeFolder   = ajaxInfo.GetXmlProperty("genxml/hidden/themefolder");
            var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");
            var selectedindex = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedindex");

            var passSettings = ajaxInfo.ToDictionary();

            foreach (var s in StoreSettings.Current.Settings()) // copy store setting, otherwise we get a byRef assignement
            {
                if (passSettings.ContainsKey(s.Key))
                {
                    passSettings[s.Key] = s.Value;
                }
                else
                {
                    passSettings.Add(s.Key, s.Value);
                }
            }

            var obj = addressData.GetAddress(selectedindex);

            obj.SetXmlProperty("genxml/selectedindex", selectedindex.ToString());

            var strOut = NBrightBuyUtils.RazorTemplRender(razortemplate, 0, "", obj, "/DesktopModules/NBright/NBrightBuy", themeFolder, Utils.GetCurrentCulture(), passSettings);

            return(strOut);
        }
예제 #8
0
 public static String ClientAdminSave(HttpContext context)
 {
     try
     {
         if (NBrightBuyUtils.CheckManagerRights())
         {
             var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
             var userId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");
             if (userId > 0)
             {
                 var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                 if (clientData.Exists)
                 {
                     clientData.Update(ajaxInfo);
                     clientData.Save();
                     return("");
                 }
             }
         }
         return("");
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
예제 #9
0
        public static void PluginMove(HttpContext context)
        {
            if (NBrightBuyUtils.CheckRights())
            {
                var ajaxInfo        = NBrightBuyUtils.GetAjaxFields(context);
                var movepluginsid   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/movepluginsid");
                var movetopluginsid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/movetopluginsid");
                if (movepluginsid > 0 && movetopluginsid > 0)
                {
                    var objCtrl = new NBrightBuyController();
                    var infoTo  = objCtrl.GetData(movetopluginsid);
                    var info    = objCtrl.GetData(movepluginsid);

                    if (infoTo.GetXmlPropertyDouble("genxml/hidden/index") < info.GetXmlPropertyDouble("genxml/hidden/index"))
                    {
                        info.SetXmlProperty("genxml/hidden/index", (infoTo.GetXmlPropertyDouble("genxml/hidden/index") - 0.5).ToString("00.0"), TypeCode.Double);
                    }
                    else
                    {
                        info.SetXmlProperty("genxml/hidden/index", (infoTo.GetXmlPropertyDouble("genxml/hidden/index") + 0.5).ToString("00.0"), TypeCode.Double);
                    }
                    objCtrl.Update(info);

                    // remove save GetData cache so we read changed data
                    DataCache.ClearCache();

                    PluginUtils.ResequenceRecords();

                    // remove save GetData cache
                    DataCache.ClearCache();
                }
            }
        }
예제 #10
0
        private static String DeleteAddress(HttpContext context)
        {
            var addressData   = new AddressData();
            var ajaxInfo      = NBrightBuyUtils.GetAjaxFields(context);
            var selectedindex = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedindex");

            addressData.RemoveAddress(selectedindex);
            return("");
        }
예제 #11
0
        private String SaveData(HttpContext context)
        {
            var objCtrl = new NBrightBuyController();

            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            SetContextLangauge(ajaxInfo);     // Ajax breaks context with DNN, so reset the context language to match the client.

            var itemid = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
            var lang   = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");

            if (lang == "")
            {
                lang = ajaxInfo.GetXmlProperty("genxml/hidden/lang");
            }
            if (lang == "")
            {
                lang = _lang;
            }

            if (Utils.IsNumeric(itemid))
            {
                // get DB record
                var nbi = objCtrl.Get(Convert.ToInt32(itemid));
                if (nbi != null)
                {
                    var typecode = nbi.TypeCode;

                    // get data passed back by ajax
                    var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml"));
                    // update record with ajax data
                    nbi.UpdateAjax(strIn);
                    nbi.GUIDKey = nbi.GetXmlProperty("genxml/textbox/code");
                    objCtrl.Update(nbi);

                    // do langauge record
                    var nbi2 = objCtrl.GetDataLang(Convert.ToInt32(itemid), lang);
                    nbi2.UpdateAjax(strIn);
                    objCtrl.Update(nbi2);

                    DataCache.ClearCache();     // clear ALL cache.

                    // run the promo now.
                    if (typecode == "CATEGORYPROMO")
                    {
                        PromoUtils.CalcGroupPromoItem(nbi);
                    }
                    if (typecode == "MULTIBUYPROMO")
                    {
                        PromoUtils.CalcMultiBuyPromoItem(nbi);
                    }
                }
            }
            return("");
        }
예제 #12
0
        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);
        }
예제 #13
0
        private String GetData(HttpContext context, bool clearCache = false)
        {
            var objCtrl = new NBrightBuyController();
            var strOut  = "";
            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            SetContextLangauge(ajaxInfo);     // Ajax breaks context with DNN, so reset the context language to match the client.

            var itemid         = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
            var typeCode       = ajaxInfo.GetXmlProperty("genxml/hidden/typecode");
            var newitem        = ajaxInfo.GetXmlProperty("genxml/hidden/newitem");
            var selecteditemid = ajaxInfo.GetXmlProperty("genxml/hidden/selecteditemid");
            var moduleid       = ajaxInfo.GetXmlProperty("genxml/hidden/moduleid");
            var editlang       = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");

            if (editlang == "")
            {
                editlang = _lang;
            }

            if (!Utils.IsNumeric(moduleid))
            {
                moduleid = "-2";                                 // use moduleid -2 for razor
            }
            if (clearCache)
            {
                NBrightBuyUtils.RemoveModCache(Convert.ToInt32(moduleid));
            }

            if (newitem == "new")
            {
                selecteditemid = AddNew(moduleid, typeCode);
            }

            var templateControl = "/DesktopModules/NBright/NBrightBuy/Providers/PromoProvider";

            if (Utils.IsNumeric(selecteditemid))
            {
                // do edit field data if a itemid has been selected
                var obj = objCtrl.Get(Convert.ToInt32(selecteditemid), "", editlang);
                strOut = NBrightBuyUtils.RazorTemplRender(typeCode.ToLower() + "fields.cshtml", Convert.ToInt32(moduleid), _lang + itemid + editlang + selecteditemid, obj, templateControl, "config", _lang, StoreSettings.Current.Settings());
            }
            else
            {
                // Return list of items
                var l = objCtrl.GetList(PortalSettings.Current.PortalId, Convert.ToInt32(moduleid), typeCode, "", " order by [XMLData].value('(genxml/textbox/validuntil)[1]','nvarchar(50)'), ModifiedDate desc", 0, 0, 0, 0, editlang);
                strOut = NBrightBuyUtils.RazorTemplRenderList(typeCode.ToLower() + "list.cshtml", Convert.ToInt32(moduleid), _lang + editlang, l, templateControl, "config", _lang, StoreSettings.Current.Settings());
            }

            return(strOut);
        }
예제 #14
0
        public void DataSave(HttpContext context)
        {
            if (NBrightBuyUtils.CheckRights())
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var editlang = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");
                if (editlang == "")
                {
                    editlang = Utils.GetCurrentCulture();
                }

                var modelXml = Utils.UnCode(ajaxInfo.GetXmlProperty("genxml/hidden/xmlupdatemodeldata"));
                var nbi      = new NBrightInfo();
                nbi.XMLData = modelXml;
                var nodList = nbi.XMLDoc.SelectNodes("root/models");
                foreach (XmlNode xNod in nodList)
                {
                    var itemNod = xNod.SelectSingleNode("./@productid");
                    var itemid  = 0;
                    if (itemNod != null && Utils.IsNumeric(itemNod.Value))
                    {
                        itemid = Convert.ToInt32(itemNod.Value);
                    }
                    if (itemid > 0)
                    {
                        var updateList = NBrightBuyUtils.GetGenXmlListByAjax(xNod.InnerXml, "", editlang);
                        var prdData    = new ProductData(Convert.ToInt32(itemid), editlang, true, "PRD");
                        if (prdData.Exists)
                        {
                            //update models.
                            var lp = 1;
                            foreach (var upd in updateList)
                            {
                                prdData.DataLangRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/textbox/txtmodelname", upd.GetXmlProperty("genxml/textbox/txtmodelname"));
                                prdData.DataRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/textbox/txtmodelref", upd.GetXmlProperty("genxml/textbox/txtmodelref"));
                                prdData.DataRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/textbox/txtunitcost", upd.GetXmlPropertyDouble("genxml/textbox/txtunitcost").ToString(), System.TypeCode.Double);
                                prdData.DataRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/dropdownlist/taxrate", upd.GetXmlProperty("genxml/dropdownlist/taxrate"));
                                prdData.DataRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/textbox/weight", upd.GetXmlPropertyDouble("genxml/textbox/weight").ToString(), System.TypeCode.Double);
                                prdData.DataRecord.SetXmlProperty("genxml/models/genxml[" + lp + "]/textbox/txtqtyremaining", upd.GetXmlPropertyDouble("genxml/textbox/txtqtyremaining").ToString(), System.TypeCode.Double);
                                lp += 1;
                            }
                            prdData.Save(false, false);
                            // remove save GetData cache
                            var strCacheKey = prdData.Info.ItemID.ToString("") + "*" + prdData.DataRecord.TypeCode + "LANG*" + "*" + editlang;
                            Utils.RemoveCache(strCacheKey);
                        }
                    }
                }

                DataCache.ClearCache();
            }
        }
예제 #15
0
        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));
        }
        private String SaveData(HttpContext context)
        {
            var objCtrl = new NBrightBuyController();

            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);


            var guidkey  = ajaxInfo.GetXmlProperty("genxml/hidden/guidkey");
            var typeCode = ajaxInfo.GetXmlProperty("genxml/hidden/typecode");
            var editlang = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");

            if (editlang == "")
            {
                editlang = _lang;
            }


            // get data record with language
            var obj = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -2, typeCode, guidkey);

            if (obj != null)
            {
                // get DB record
                var nbi = objCtrl.Get(obj.ItemID);
                if (nbi != null)
                {
                    // get data passed back by ajax
                    var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml"));
                    // update record with ajax data
                    nbi.UpdateAjax(strIn);
                    if (nbi.GUIDKey == "")
                    {
                        nbi.GUIDKey = typeCode;
                    }
                    objCtrl.Update(nbi);

                    // do langauge record
                    var nbi2 = objCtrl.GetDataLang(obj.ItemID, editlang);
                    nbi2.UpdateAjax(strIn);
                    objCtrl.Update(nbi2);

                    DataCache.ClearCache(); // clear ALL cache.
                }
            }
            return("");
        }
        private String SaveData(HttpContext context)
        {
            var objCtrl = new NBrightBuyController();

            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            var itemid = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
            var lang   = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");

            if (lang == "")
            {
                lang = ajaxInfo.GetXmlProperty("genxml/hidden/lang");
            }
            if (lang == "")
            {
                lang = _lang;
            }

            if (Utils.IsNumeric(itemid))
            {
                // get DB record
                var nbi = objCtrl.Get(Convert.ToInt32(itemid));
                if (nbi != null)
                {
                    var typecode = nbi.TypeCode;

                    // get data passed back by ajax
                    var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml"));
                    // update record with ajax data
                    nbi.UpdateAjax(strIn);
                    if (nbi.GUIDKey == "")
                    {
                        nbi.GUIDKey = Utils.GetUniqueKey();
                    }
                    objCtrl.Update(nbi);

                    // do langauge record
                    var nbi2 = objCtrl.GetDataLang(Convert.ToInt32(itemid), lang);
                    nbi2.UpdateAjax(strIn);
                    objCtrl.Update(nbi2);

                    DataCache.ClearCache();     // clear ALL cache.
                }
            }
            return("");
        }
예제 #18
0
        private String DeleteData(HttpContext context)
        {
            var objCtrl = new NBrightBuyController();

            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var itemid   = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");

            if (Utils.IsNumeric(itemid))
            {
                // delete DB record
                objCtrl.Delete(Convert.ToInt32(itemid));

                NBrightBuyUtils.RemoveModCache(-2);
            }
            return("");
        }
예제 #19
0
        public string RemoveCategoryImage(HttpContext context, string editLangCurrent)
        {
            EditLangCurrent = editLangCurrent;
            //get uploaded params
            var ajaxInfo  = NBrightBuyUtils.GetAjaxFields(context);
            var catitemid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");

            var catData = new CategoryData(catitemid, EditLangCurrent);

            if (catData.Exists)
            {
                catData.DataRecord.SetXmlProperty("genxml/hidden/imageurl", "");
                catData.DataRecord.SetXmlProperty("genxml/hidden/imagepath", "");
                catData.Save();
            }
            return(CategoryAdminDetail(context, 0, EditLangCurrent));
        }
예제 #20
0
        public static void PluginSave(HttpContext context)
        {
            if (NBrightBuyUtils.CheckRights())
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var itemid   = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
                if (Utils.IsNumeric(itemid))
                {
                    var objCtrl      = new NBrightBuyController();
                    var info         = objCtrl.GetData(Convert.ToInt32(itemid));
                    var pluginRecord = new PluginRecord(info);
                    var modelXml     = Utils.UnCode(ajaxInfo.GetXmlProperty("genxml/hidden/xmlupdatemodeldata"));

                    ajaxInfo.RemoveXmlNode("genxml/hidden/xmlupdatemodeldata");
                    pluginRecord.Info().XMLData = ajaxInfo.XMLData;

                    // check for unique ctrl ref
                    var ctrlref  = pluginRecord.Info().GetXmlProperty("genxml/textbox/ctrl");
                    var ctrltest = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "PLUGIN", ctrlref);
                    if (ctrltest != null)
                    {
                        if (ctrltest.ItemID != pluginRecord.Info().ItemID)
                        {
                            pluginRecord.Info().SetXmlProperty("genxml/textbox/ctrl", pluginRecord.Info().GetXmlProperty("genxml/textbox/ctrl") + Utils.GetUniqueKey());
                        }
                    }

                    // make sure index is in correct format, (FLOAT) for SQL
                    pluginRecord.Info().SetXmlProperty("genxml/hidden/index", (pluginRecord.Info().GetXmlPropertyInt("genxml/hidden/index").ToString()), TypeCode.Double);
                    pluginRecord.Info().RemoveXmlNode("genxml/hidden/itemid");
                    pluginRecord.Info().RemoveXmlNode("genxml/hidden/editlanguage");
                    pluginRecord.Info().RemoveXmlNode("genxml/hidden/uilang1");
                    pluginRecord.Info().GUIDKey = pluginRecord.Info().GetXmlProperty("genxml/textbox/ctrl");

                    pluginRecord.UpdateModels(modelXml, Utils.GetCurrentCulture());
                    objCtrl.Update(pluginRecord.Info());

                    // remove save GetData cache
                    DataCache.ClearCache();

                    //load entity typecode to DB idx settings.
                    NBrightBuyUtils.RegisterEnityTypeToDataBase();
                }
            }
        }
예제 #21
0
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.
            var objCtrl  = new NBrightBuyController();

            var strOut = "OS_AllShipping Error";

            switch (paramCmd)
            {
            case "os_allshipping_getsettings":
                var info1 = objCtrl.GetPluginSinglePageData("OS_AllShipping", "SHIPPING", lang);
                strOut = NBrightBuyUtils.RazorTemplRender("settingsfields.cshtml", 0, "", info1, "/DesktopModules/NBright/OS_AllShipping", "config", lang, StoreSettings.Current.Settings());
                break;

            case "os_allshipping_savesettings":
                strOut = objCtrl.SavePluginSinglePageData(context);
                break;

            case "os_allshipping_selectlang":
                objCtrl.SavePluginSinglePageData(context);
                var nextlang = ajaxInfo.GetXmlProperty("genxml/hidden/nextlang");
                var info2    = objCtrl.GetPluginSinglePageData("OS_AllShipping", "SHIPPING", nextlang);
                strOut = NBrightBuyUtils.RazorTemplRender("settingsfields.cshtml", 0, "", info2, "/DesktopModules/NBright/OS_AllShipping", "config", nextlang, StoreSettings.Current.Settings());
                break;

            case "os_allshipping_getcarttotals":
                var cartd = new CartData(PortalSettings.Current.PortalId);

                cartd.PurchaseInfo.SetXmlProperty("genxml/OS_AllShippingmessage", "");
                cartd.PurchaseInfo.SetXmlProperty("genxml/OS_AllShippinglistidx", ajaxInfo.GetXmlProperty("genxml/radiobuttonlist/list"));
                cartd.PurchaseInfo.SetXmlProperty("genxml/OS_AllShippinglistcode", "");
                cartd.PurchaseInfo.SetXmlProperty("genxml/OS_AllShippingaddress", "");

                cartd.Save();
                strOut = NBrightBuyUtils.RazorTemplRender("CheckoutTotals.cshtml", 0, "", cartd, "/DesktopModules/NBright/NBrightBuy", "Default", Utils.GetCurrentCulture(), StoreSettings.Current.Settings());
                break;

            case "os_allshipping_getlist":
                strOut = OrderAdminList(context);
                break;
            }

            return(strOut);
        }
예제 #22
0
        public static void PluginDelete(HttpContext context)
        {
            if (NBrightBuyUtils.CheckRights())
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var itemid   = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
                if (Utils.IsNumeric(itemid))
                {
                    var objCtrl = new NBrightBuyController();
                    objCtrl.Delete(Convert.ToInt32(itemid));

                    PluginUtils.CopySystemPluginsToPortal();

                    // remove save GetData cache
                    DataCache.ClearCache();
                }
            }
        }
예제 #23
0
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            if (!CheckRights())
            {
                return("Security Error.");
            }

            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.
            var objCtrl  = new NBrightBuyController();

            var strOut = "OS_PluginTemplate Ajax Error";

            // NOTE: The paramCmd MUST start with the plugin ref. in lowercase. (links ajax provider to cmd)
            switch (paramCmd)
            {
            case "os_plugintemplate_test":
                strOut = "<root>" + UserController.Instance.GetCurrentUserInfo().Username + "</root>";
                break;

            case "os_plugintemplate_getdata":
                strOut = GetData(context);
                break;

            case "os_plugintemplate_addnew":
                strOut = GetData(context, true);
                break;

            case "os_plugintemplate_deleterecord":
                strOut = DeleteData(context);
                break;

            case "os_plugintemplate_savedata":
                strOut = SaveData(context);
                break;

            case "os_plugintemplate_selectlang":
                strOut = SaveData(context);
                break;
            }

            return(strOut);
        }
        private String GetData(HttpContext context, bool clearCache = false)
        {
            var objCtrl = new NBrightBuyController();
            var strOut  = "";
            //get uploaded params
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            var guidkey  = ajaxInfo.GetXmlProperty("genxml/hidden/guidkey");
            var typeCode = ajaxInfo.GetXmlProperty("genxml/hidden/typecode");
            var moduleid = ajaxInfo.GetXmlProperty("genxml/hidden/moduleid");
            var editlang = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");

            if (editlang == "")
            {
                editlang = _lang;
            }

            if (!Utils.IsNumeric(moduleid))
            {
                moduleid = "-2";                             // use moduleid -2 for razor
            }
            if (clearCache)
            {
                NBrightBuyUtils.RemoveModCache(Convert.ToInt32(moduleid));
            }

            var templateControl = "/DesktopModules/NBright/NBrightBuyOpenUrlRewriter";

            // get data record with language
            var obj = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, Convert.ToInt32(moduleid), typeCode, guidkey);

            if (obj == null)
            {
                var itemId = AddNew(moduleid, typeCode);
                obj = objCtrl.Get(itemId);
            }
            var objData = objCtrl.GetData(obj.ItemID, typeCode + "LANG", editlang);

            //strOut = NBrightBuyUtils.RazorTemplRender(typeCode.ToLower() + "fields.cshtml", Convert.ToInt32(moduleid), _lang + guidkey + editlang, objData, templateControl, "config", editlang, StoreSettings.Current.Settings());

            return(strOut);
        }
예제 #25
0
        public static string ProcessCommand(string paramCmd, HttpContext context)
        {
            try
            {
                var strOut = "AddressAdmin - ERROR!! - No Security rights for current user!";
                if (UserController.Instance.GetCurrentUserInfo().UserID > 0)
                {
                    NBrightBuyUtils.SetContextLangauge(context);
                    var ajaxInfo       = NBrightBuyUtils.GetAjaxFields(context);
                    var userId         = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");
                    var selecteditemid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selecteditemid");

                    switch (paramCmd)
                    {
                    case "addressadmin_getlist":
                        strOut = GetAddressList(context);
                        break;

                    case "addressadmin_saveaddress":
                        SaveAddress(context);
                        break;

                    case "addressadmin_deleteaddress":
                        strOut = DeleteAddress(context);
                        break;

                    case "addressadmin_editaddress":
                        strOut = GetAddress(context);
                        break;

                    case "addressadmin_newaddress":
                        strOut = NewAddress(context);
                        break;
                    }
                }
                return(strOut);
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            if (!LocalUtils.CheckRights())
            {
                return("Security Error.");
            }

            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.
            var objCtrl  = new NBrightBuyController();

            var strOut = "OS_PurchaseNotification Ajax Error";

            // NOTE: The paramCmd MUST start with the plugin ref. in lowercase. (links ajax provider to cmd)
            switch (paramCmd)
            {
            case "os_purchasenotification_getdata":
                strOut = LocalUtils.GetData(editlang, "datafields.cshtml");
                break;

            case "os_purchasenotification_deleterecord":
                var infoDel = objCtrl.GetPluginSinglePageData("OS_PurchaseNotificationDATA", "OS_PurchaseNotificationDATA", Utils.GetCurrentCulture());
                objCtrl.Delete(infoDel.ItemID);
                break;

            case "os_purchasenotification_savedata":
                strOut = objCtrl.SavePluginSinglePageData(context);
                break;

            case "os_purchasenotification_selectlang":
                objCtrl.SavePluginSinglePageData(context);
                strOut = "";
                break;

            case "os_purchasenotification_testemail":
                LocalUtils.OutputTestEmail();
                strOut = LocalUtils.GetData(editlang, "datafields.cshtml");
                break;
            }

            return(strOut);
        }
예제 #27
0
        public string SavePluginSinglePageData(HttpContext context)
        {
            try
            {
                var objCtrl = new NBrightBuyController();

                //get uploaded params
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.
                var editlang = NBrightBuyUtils.GetEditLang(ajaxInfo);

                var itemid = ajaxInfo.GetXmlProperty("genxml/hidden/itemid");
                if (Utils.IsNumeric(itemid))
                {
                    var nbi = objCtrl.Get(Convert.ToInt32(itemid));
                    if (nbi != null)
                    {
                        // get data passed back by ajax
                        var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml"));
                        // update record with ajax data
                        nbi.UpdateAjax(strIn);
                        objCtrl.Update(nbi);

                        // do langauge record
                        var nbi2 = objCtrl.GetDataLang(Convert.ToInt32(itemid), editlang);
                        nbi2.UpdateAjax(strIn);
                        objCtrl.Update(nbi2);
                    }
                    DataCache.ClearCache(); // clear ALL cache.
                }
                return("");
            }
            catch (Exception e)
            {
                return(e.ToString());
            }
        }
예제 #28
0
        public static String MoveProductAdmin(HttpContext context)
        {
            try
            {
                //get uploaded params
                var ajaxInfo        = NBrightBuyUtils.GetAjaxFields(context);
                var moveproductid   = ajaxInfo.GetXmlPropertyInt("moveproductid");
                var movetoproductid = ajaxInfo.GetXmlPropertyInt("movetoproductid");
                var searchcategory  = ajaxInfo.GetXmlPropertyInt("searchcategory");
                if (searchcategory > 0 && movetoproductid > 0 && moveproductid > 0)
                {
                    var objCtrl = new NBrightBuyController();
                    objCtrl.GetListCustom(PortalSettings.Current.PortalId, -1, "NBrightBuy_MoveProductinCateogry", 0, "", searchcategory + ";" + moveproductid + ";" + movetoproductid);
                }

                DataCache.ClearCache();

                return(ProductFunctions.ProductAdminList(context));
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
예제 #29
0
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var lang     = NBrightBuyUtils.SetContextLangauge(ajaxInfo); // Ajax breaks context with DNN, so reset the context language to match the client.

            var objCtrl = new NBrightBuyController();
            var strOut  = "manualpayment Ajax Error";

            switch (paramCmd)
            {
            case "manualpayment_savesettings":
                strOut = objCtrl.SavePluginSinglePageData(context);
                break;

            case "manualpayment_selectlang":
                objCtrl.SavePluginSinglePageData(context);
                var nextlang = ajaxInfo.GetXmlProperty("genxml/hidden/nextlang");
                var info     = objCtrl.GetPluginSinglePageData("manualpayment", "MANUALPAYMENT", nextlang);
                strOut = NBrightBuyUtils.RazorTemplRender("settingsfields.cshtml", 0, "", info, "/DesktopModules/NBright/NBrightBuy/Providers/ManualPaymentProvider", "config", nextlang, StoreSettings.Current.Settings());
                break;
            }

            return(strOut);
        }
예제 #30
0
        public static string ProcessCommand(string paramCmd, HttpContext context)
        {
            var strOut = "CLIENT - ERROR!! - No Security rights for current user!";

            if (NBrightBuyUtils.CheckManagerRights())
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
                var userId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");

                switch (paramCmd)
                {
                case "client.admin_getlist":
                    strOut = ClientFunctions.ClientAdminList(context);
                    break;

                case "client.admin_getdetail":
                    strOut = ClientFunctions.ClientAdminDetail(context);
                    break;

                case "client.admin_save":
                    strOut = ClientFunctions.ClientAdminSave(context);
                    break;

                case "client.discountcodes":
                    //strOut = ClientFunctions.GetClientDiscountCodes(context);
                    break;

                case "client.adddiscountcode":
                    AddClientDiscountCodes(context);
                    strOut = ClientFunctions.ClientAdminDetail(context);
                    break;

                case "client.vouchercodes":
                    //strOut = ClientFunctions.GetClientVoucherCodes(context);
                    break;

                case "client.addvouchercode":
                    AddClientVoucherCodes(context);
                    strOut = ClientFunctions.ClientAdminDetail(context);
                    break;

                case "client.unlockuser":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.UnlockUser();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.deleteuser":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.DeleteUser();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.restoreuser":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.RestoreUser();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.removeuser":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.RemoveUser();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.validateuser":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.AuthoriseClient();
                            clientData.AddClientEditorRole();
                            if (StoreSettings.Current.Get("resetpasswordonclientvalidate") == "True")
                            {
                                clientData.ResetPassword();
                            }
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.unauthoriseuser":
                    if (userId > 0 && UserController.Instance.GetCurrentUserInfo()?.UserID != userId)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.UnAuthoriseClient();
                            clientData.RemoveClientEditorRole();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.resetpass":
                    if (userId > 0)
                    {
                        var clientData = new ClientData(PortalSettings.Current.PortalId, userId);
                        if (clientData.Exists)
                        {
                            clientData.ResetPassword();
                            strOut = ClientFunctions.ClientAdminDetail(context);
                        }
                    }
                    break;

                case "client.createorder":
                    var cart = new CartData(PortalSettings.Current.PortalId);
                    cart.UserId   = userId;
                    cart.EditMode = "C";
                    cart.Save();
                    strOut = DnnUtils.GetResourceString("/DesktopModules/NBright/NBrightBuy/App_LocalResources/", "General.Processing");
                    break;
                }
            }
            return(strOut);
        }