Пример #1
0
        private void PageLoad()
        {
            if (NBrightBuyUtils.CheckRights()) // limit module data to NBS security roles
            {
                RazorTemplate = "Admin_Product.cshtml";

                // new data record so set defaults.
                var obj = new NBrightInfo(true);
                obj.PortalId = PortalId;
                obj.ModuleId = 0;
                obj.Lang     = Utils.GetCurrentCulture();
                obj.GUIDKey  = RazorTemplate;
                obj.ItemID   = -1;

                var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, 0, "", obj, "/DesktopModules/NBright/NBrightBuy", "config", Utils.GetCurrentCulture(), StoreSettings.Current.Settings());
                var lit    = new Literal();
                lit.Text = strOut;
                phData.Controls.Add(lit);

                strOut   = NBrightBuyUtils.RazorTemplRender("Admin_ProductSearch.cshtml", 0, "", obj, "/DesktopModules/NBright/NBrightBuy", "config", Utils.GetCurrentCulture(), StoreSettings.Current.Settings());
                lit      = new Literal();
                lit.Text = strOut;
                phSearch.Controls.Add(lit);
            }
        }
Пример #2
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();
                }
            }
        }
        public override string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            if (!NBrightBuyUtils.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_SystemPay Ajax Error";

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

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

            return(strOut);
        }
Пример #4
0
 private static String OrderAdminEdit(HttpContext context)
 {
     try
     {
         if (UserController.Instance.GetCurrentUserInfo().UserID > 0)
         {
             var settings = NBrightBuyUtils.GetAjaxDictionary(context);
             if (!settings.ContainsKey("selecteditemid"))
             {
                 settings.Add("selecteditemid", "");
             }
             var selecteditemid = settings["selecteditemid"];
             if (Utils.IsNumeric(selecteditemid))
             {
                 var orderData = new OrderData(PortalSettings.Current.PortalId, Convert.ToInt32(selecteditemid));
                 if (NBrightBuyUtils.CheckRights())
                 {
                     orderData.ConvertToCart(false);
                 }
             }
             return("");
         }
         return("");
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
 private void RazorPageLoad()
 {
     if (NBrightBuyUtils.CheckRights())
     {
         var lit = new Literal();
         lit.Text = LocalUtils.GetData(Utils.GetCurrentCulture());
         phData.Controls.Add(lit);
     }
 }
Пример #6
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);
        }
Пример #7
0
        public static String RenderPluginAdminList(List <NBrightInfo> list, NBrightInfo ajaxInfo, int recordCount)
        {
            try
            {
                if (NBrightBuyUtils.CheckRights())
                {
                    if (list == null)
                    {
                        return("");
                    }
                    var strOut = "";

                    // select a specific entity data type for the product (used by plugins)
                    var themeFolder = ajaxInfo.GetXmlProperty("genxml/hidden/themefolder");
                    if (themeFolder == "")
                    {
                        themeFolder = "config";
                    }
                    var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");
                    if (razortemplate == "")
                    {
                        razortemplate = "Admin_pluginsList.cshtml";
                    }

                    var passSettings = new Dictionary <string, string>();
                    foreach (var s in ajaxInfo.ToDictionary())
                    {
                        if (!passSettings.ContainsKey(s.Key))
                        {
                            passSettings.Add(s.Key, s.Value);
                        }
                    }
                    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);
                        }
                    }

                    strOut = NBrightBuyUtils.RazorTemplRenderList(razortemplate, 0, "", list, TemplateRelPath, themeFolder, Utils.GetCurrentCulture(), passSettings);

                    return(strOut);
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Пример #8
0
 private void PageLoad()
 {
     if (NBrightBuyUtils.CheckRights())
     {
         var objCtrl = new NBrightBuyController();
         var info    = objCtrl.GetPluginSinglePageData("OS_AllShipping", "SHIPPING", Utils.GetCurrentCulture());
         var strOut  = NBrightBuyUtils.RazorTemplRender("settings.cshtml", 0, "", info, ControlPath, "config", Utils.GetCurrentCulture(), StoreSettings.Current.Settings());
         var l       = new Literal();
         l.Text = strOut;
         Controls.Add(l);
     }
 }
Пример #9
0
        private void PageLoad()
        {
            if (NBrightBuyUtils.CheckRights())
            {
                var info = ProviderUtils.GetProviderSettings();

                var strOut = NBrightBuyUtils.RazorTemplRender("settings.cshtml", 0, "", info, ControlPath, "config", Utils.GetCurrentCulture(), StoreSettings.Current.Settings());
                var l      = new Literal();
                l.Text = strOut;
                Controls.Add(l);
            }
        }
Пример #10
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();
            }
        }
Пример #11
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();
                }
            }
        }
Пример #12
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();
                }
            }
        }
Пример #13
0
 public static string PluginAdminList(HttpContext context)
 {
     try
     {
         if (NBrightBuyUtils.CheckRights())
         {
             var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
             var list     = PluginUtils.GetPluginList();
             return(RenderPluginAdminList(list, ajaxInfo, 0));
         }
     }
     catch (Exception ex)
     {
         Logging.LogException(ex);
         return(ex.ToString());
     }
     return("");
 }
Пример #14
0
 public static void PluginAddInterface(HttpContext context)
 {
     try
     {
         if (NBrightBuyUtils.CheckRights())
         {
             var ajaxInfo       = NBrightBuyUtils.GetAjaxInfo(context);
             var selecteditemid = ajaxInfo.GetXmlProperty("genxml/hidden/selecteditemid");
             if (Utils.IsNumeric(selecteditemid))
             {
                 var objCtrl      = new NBrightBuyController();
                 var info         = objCtrl.GetData(Convert.ToInt32(selecteditemid));
                 var pluginRecord = new PluginRecord(info);
                 pluginRecord.AddInterface();
             }
         }
     }
     catch (Exception ex)
     {
         // ignore
     }
 }
Пример #15
0
        public static String PluginAddNew(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);

                    var strOut      = "";
                    var themeFolder = ajaxInfo.GetXmlProperty("genxml/hidden/themefolder");
                    if (themeFolder == "")
                    {
                        themeFolder = "config";
                    }
                    var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");

                    var passSettings = NBrightBuyUtils.GetPassSettings(ajaxInfo);

                    var info = new NBrightInfo(true);
                    info.ItemID   = -1;
                    info.PortalId = PortalSettings.Current.PortalId;
                    info.Lang     = Utils.GetCurrentCulture();
                    info.SetXmlProperty("genxml/hidden/index", "99");
                    info.TypeCode = "PLUGIN";
                    info.GUIDKey  = Utils.GetUniqueKey(12);
                    var objCtrl = new NBrightBuyController();
                    info.ItemID = objCtrl.Update(info);
                    var pluginRecord = new PluginRecord(info);

                    strOut = NBrightBuyUtils.RazorTemplRender(razortemplate, 0, "", pluginRecord, TemplateRelPath, themeFolder, Utils.GetCurrentCulture(), passSettings);
                    return(strOut);
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Пример #16
0
        public static String PluginAdminDetail(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);

                    var strOut         = "";
                    var selecteditemid = ajaxInfo.GetXmlProperty("genxml/hidden/selecteditemid");
                    if (Utils.IsNumeric(selecteditemid))
                    {
                        var themeFolder = ajaxInfo.GetXmlProperty("genxml/hidden/themefolder");
                        if (themeFolder == "")
                        {
                            themeFolder = "config";
                        }
                        var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");

                        var passSettings = NBrightBuyUtils.GetPassSettings(ajaxInfo);

                        var objCtrl      = new NBrightBuyController();
                        var info         = objCtrl.GetData(Convert.ToInt32(selecteditemid));
                        var pluginRecord = new PluginRecord(info);

                        strOut = NBrightBuyUtils.RazorTemplRender(razortemplate, 0, "", pluginRecord, TemplateRelPath, themeFolder, Utils.GetCurrentCulture(), passSettings);
                    }
                    return(strOut);
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Пример #17
0
        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
        }
Пример #18
0
        public static String RenderProductAdminList(List <NBrightInfo> list, NBrightInfo ajaxInfo, int recordCount)
        {
            try
            {
                if (NBrightBuyUtils.CheckRights())
                {
                    if (list == null)
                    {
                        return("");
                    }
                    if (UserController.Instance.GetCurrentUserInfo().UserID <= 0)
                    {
                        return("");
                    }

                    var strOut = "";

                    // select a specific entity data type for the product (used by plugins)
                    var themeFolder   = "config";
                    var pageNumber    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/pagenumber");
                    var pageSize      = ajaxInfo.GetXmlPropertyInt("genxml/hidden/pagesize");
                    var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");
                    var editlang      = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");
                    if (editlang == "")
                    {
                        editlang = Utils.GetCurrentCulture();
                    }

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

                    bool paging = pageSize > 0;

                    var passSettings = new Dictionary <string, string>();
                    foreach (var s in ajaxInfo.ToDictionary())
                    {
                        passSettings.Add(s.Key, s.Value);
                    }
                    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);
                        }
                    }

                    strOut = NBrightBuyUtils.RazorTemplRenderList(razortemplate, 0, "", list, templateControl, themeFolder, editlang, passSettings);

                    // add paging if needed
                    if (paging && (recordCount > pageSize))
                    {
                        var pg = new NBrightCore.controls.PagingCtrl();
                        strOut += pg.RenderPager(recordCount, pageSize, pageNumber);
                    }

                    return(strOut);
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Пример #19
0
        private static String GetOrderListData(Dictionary <String, String> settings, bool paging = true)
        {
            if (UserController.Instance.GetCurrentUserInfo().UserID <= 0)
            {
                return("");
            }

            var strOut = "";

            if (!settings.ContainsKey("selecteduserid"))
            {
                settings.Add("selecteduserid", "");
            }

            if (!settings.ContainsKey("themefolder"))
            {
                settings.Add("themefolder", "");
            }
            if (!settings.ContainsKey("userid"))
            {
                settings.Add("userid", "-1");
            }
            if (!settings.ContainsKey("razortemplate"))
            {
                settings.Add("razortemplate", "");
            }
            if (!settings.ContainsKey("returnlimit"))
            {
                settings.Add("returnlimit", "0");
            }
            if (!settings.ContainsKey("pagenumber"))
            {
                settings.Add("pagenumber", "0");
            }
            if (!settings.ContainsKey("pagesize"))
            {
                settings.Add("pagesize", "0");
            }
            if (!settings.ContainsKey("searchtext"))
            {
                settings.Add("searchtext", "");
            }
            if (!settings.ContainsKey("dtesearchdatefrom"))
            {
                settings.Add("dtesearchdatefrom", "");
            }
            if (!settings.ContainsKey("dtesearchdateto"))
            {
                settings.Add("dtesearchdateto", "");
            }
            if (!settings.ContainsKey("searchorderstatus"))
            {
                settings.Add("searchorderstatus", "");
            }
            if (!settings.ContainsKey("portalid"))
            {
                settings.Add("portalid", PortalSettings.Current.PortalId.ToString(""));                                    // aways make sure we have portalid in settings
            }
            if (!Utils.IsNumeric(settings["userid"]))
            {
                settings["pagenumber"] = "1";
            }
            if (!Utils.IsNumeric(settings["pagenumber"]))
            {
                settings["pagenumber"] = "1";
            }
            if (!Utils.IsNumeric(settings["pagesize"]))
            {
                settings["pagesize"] = "20";
            }
            if (!Utils.IsNumeric(settings["returnlimit"]))
            {
                settings["returnlimit"] = "50";
            }

            var themeFolder    = settings["themefolder"];
            var razortemplate  = settings["razortemplate"];
            var returnLimit    = Convert.ToInt32(settings["returnlimit"]);
            var pageNumber     = Convert.ToInt32(settings["pagenumber"]);
            var pageSize       = Convert.ToInt32(settings["pagesize"]);
            var portalId       = Convert.ToInt32(settings["portalid"]);
            var userid         = settings["userid"];
            var selecteduserid = settings["selecteduserid"];

            var searchText        = settings["searchtext"];
            var searchdatefrom    = settings["dtesearchdatefrom"];
            var searchdateto      = settings["dtesearchdateto"];
            var searchorderstatus = settings["searchorderstatus"];

            var filter = "";

            if (searchText != "")
            {
                filter += " and (    (([xmldata].value('(genxml/billaddress/genxml/textbox/firstname)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/billaddress/genxml/textbox/lastname)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/billaddress/genxml/textbox/unit)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/billaddress/genxml/textbox/street)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/billaddress/genxml/textbox/postalcode)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/billaddress/genxml/textbox/email)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/firstname)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/lastname)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/unit)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/street)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/postalcode)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/shipaddress/genxml/textbox/email)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/productrefs)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))";
                filter += " or (([xmldata].value('(genxml/ordernumber)[1]', 'nvarchar(max)') like '%" + searchText + "%' collate sql_latin1_general_cp1_ci_ai ))  ) ";
            }

            if (Utils.IsNumeric(selecteduserid))
            {
                filter += " and (NB1.UserId = " + selecteduserid + ")   ";
            }

            if (searchdateto != "" && searchdatefrom != "")
            {
                filter += " and  ( ([xmldata].value('(genxml/createddate)[1]', 'datetime') >= convert(datetime,'" + searchdatefrom + "') ) and ([xmldata].value('(genxml/createddate)[1]', 'datetime') <= convert(datetime,'" + searchdateto + "') ) )  ";
            }
            if (searchdateto == "" && searchdatefrom != "")
            {
                filter += " and  ([xmldata].value('(genxml/createddate)[1]', 'datetime') >= convert(datetime,'" + searchdatefrom + "') ) ";
            }
            if (searchdateto != "" && searchdatefrom == "")
            {
                filter += " and ([xmldata].value('(genxml/createddate)[1]', 'datetime') <= convert(datetime,'" + searchdateto + "') ) ";
            }

            if (searchorderstatus != "")
            {
                filter += " and ([xmldata].value('(genxml/dropdownlist/orderstatus)[1]', 'nvarchar(max)') = '" + searchorderstatus + "')   ";
            }

            // check for user or manager.
            if (!NBrightBuyUtils.CheckRights())
            {
                filter += " and ( userid = " + UserController.Instance.GetCurrentUserInfo().UserID + ")   ";
            }

            var recordCount = 0;

            if (themeFolder == "")
            {
                themeFolder = StoreSettings.Current.ThemeFolder;
                if (settings.ContainsKey("themefolder"))
                {
                    themeFolder = settings["themefolder"];
                }
            }

            var objCtrl = new NBrightBuyController();

            if (paging) // get record count for paging
            {
                if (pageNumber == 0)
                {
                    pageNumber = 1;
                }
                if (pageSize == 0)
                {
                    pageSize = 20;
                }

                // get only entity type required
                recordCount = objCtrl.GetListCount(PortalSettings.Current.PortalId, -1, "ORDER", filter);
            }

            var orderby = "   order by [XMLData].value('(genxml/createddate)[1]','datetime') DESC, ModifiedDate DESC  ";
            var list    = objCtrl.GetList(portalId, -1, "ORDER", filter, orderby, 0, pageNumber, pageSize, recordCount);

            var passSettings = settings;

            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);
                }
            }

            strOut = NBrightBuyUtils.RazorTemplRenderList(razortemplate, 0, "", list, "/DesktopModules/NBright/NBrightBuy", themeFolder, Utils.GetCurrentCulture(), passSettings);

            // add paging if needed
            if (paging && (recordCount > pageSize))
            {
                var pg = new NBrightCore.controls.PagingCtrl();
                strOut += pg.RenderPager(recordCount, pageSize, pageNumber);
            }

            return(strOut);
        }
Пример #20
0
        public string ProductAdminList(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);

                    if (UserController.Instance.GetCurrentUserInfo().UserID <= 0)
                    {
                        return(null);
                    }

                    var editlang = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");
                    if (editlang == "")
                    {
                        editlang = Utils.GetCurrentCulture();
                    }

                    NBrightBuyUtils.RemoveModCache(-2);

                    ajaxInfo.SetXmlProperty("genxml/hidden/razortemplate", "datalist.cshtml");

                    var strOut = "";

                    // select a specific entity data type for the product (used by plugins)
                    var entitytypecodelang = "PRDLANG";
                    var entitytypecode     = "PRD";

                    var filter      = ajaxInfo.GetXmlProperty("genxml/hidden/filter");
                    var orderby     = ajaxInfo.GetXmlProperty("genxml/hidden/orderby");
                    var returnLimit = ajaxInfo.GetXmlPropertyInt("genxml/hidden/returnlimit");
                    var pageNumber  = ajaxInfo.GetXmlPropertyInt("genxml/hidden/pagenumber");
                    var pageSize    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/pagesize");
                    var cascade     = ajaxInfo.GetXmlPropertyBool("genxml/hidden/cascade");
                    var portalId    = PortalSettings.Current.PortalId;
                    if (ajaxInfo.GetXmlProperty("genxml/hidden/portalid") != "")
                    {
                        portalId = ajaxInfo.GetXmlPropertyInt("genxml/hidden/portalid");
                    }

                    var searchText     = ajaxInfo.GetXmlProperty("genxml/hidden/searchtext");
                    var searchCategory = ajaxInfo.GetXmlProperty("genxml/hidden/searchcategory");

                    if (searchText != "")
                    {
                        filter += " and (NB3.[ProductName] like '%" + searchText + "%' or NB3.[ProductRef] like '%" + searchText + "%' or NB3.[Summary] like '%" + searchText + "%' ) ";
                    }

                    if (Utils.IsNumeric(searchCategory))
                    {
                        if (orderby == "{bycategoryproduct}")
                        {
                            orderby += searchCategory;
                        }
                        var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier;
                        var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner;
                        if (!cascade)
                        {
                            filter += " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = " + searchCategory + ") ";
                        }
                        else
                        {
                            filter += " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATXREF' and XrefItemId = " + searchCategory + ") or (typecode = 'CATCASCADE' and XrefItemId = " + searchCategory + ")) ";
                        }
                    }
                    else
                    {
                        if (orderby == "{bycategoryproduct}")
                        {
                            orderby = " order by NB3.productname ";
                        }
                    }

                    // logic for client list of products
                    if (NBrightBuyUtils.IsClientOnly())
                    {
                        filter += " and NB1.ItemId in (select ParentItemId from dbo.[NBrightBuy] as NBclient where NBclient.TypeCode = 'USERPRDXREF' and NBclient.UserId = " + UserController.Instance.GetCurrentUserInfo().UserID.ToString("") + ") ";
                    }

                    var recordCount = 0;
                    var objCtrl     = new NBrightBuyController();

                    if (pageNumber == 0)
                    {
                        pageNumber = 1;
                    }
                    if (pageSize == 0)
                    {
                        pageSize = 20;
                    }

                    // get only entity type required.  Do NOT use typecode, that is set by the filter.
                    recordCount = objCtrl.GetListCount(PortalSettings.Current.PortalId, -1, "PRD", filter, "", editlang);

                    // get selected entitytypecode.
                    var list = objCtrl.GetDataList(PortalSettings.Current.PortalId, -1, "PRD", "PRDLANG", editlang, filter, orderby, StoreSettings.Current.DebugMode, "", returnLimit, pageNumber, pageSize, recordCount);

                    return(RenderProductAdminList(list, ajaxInfo, recordCount));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);
                return(ex.ToString());
            }
            return("");
        }
Пример #21
0
        public string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var strOut   = "CATEGORY - ERROR!! - No Security rights or function command.";
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var userId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");

            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);
            }

            switch (paramCmd)
            {
            case "category_admin_getlist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryAdminList(context, "", EditLangCurrent);
                break;

            case "category_admin_getdetail":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryAdminDetail(context, 0, EditLangCurrent);
                break;

            case "category_admin_addnew":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryAdminAddNew(context);
                break;

            case "category_admin_savelist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryAdminSaveList(context);
                break;

            case "category_admin_save":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategorySave(context, EditLangCurrent);
                break;

            case "category_admin_saveexit":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategorySave(context, EditLangCurrent);
                break;

            case "category_admin_movecategory":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = MoveCategoryAdmin(context);
                break;

            case "category_admin_delete":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = DeleteCategory(context);
                break;

            case "category_updateimages":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = UpdateCategoryImages(context, EditLangCurrent);
                break;

            case "category_getproductselectlist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                var productFunctions = new ProductFunctions();
                strOut = productFunctions.ProductAdminList(context, true, EditLangCurrent, "", true);
                break;

            case "category_selectchangehidden":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryHidden(context);
                break;

            case "category_categoryproductlist":
                strOut = GetCategoryProductList(context, EditLangCurrent);
                break;

            case "category_removeimage":
                strOut = RemoveCategoryImage(context, EditLangCurrent);
                break;

            case "category_displayproductselect":
                strOut = CategoryProductSelect(context, EditLangCurrent);
                break;

            case "category_selectcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = SelectCatXref(context, EditLangCurrent);
                }
                break;

            case "category_deletecatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = DeleteCatXref(context);
                }
                break;

            case "category_deleteallcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = DeleteAllCatXref(context, EditLangCurrent);
                }
                break;

            case "category_copyallcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CopyAllCatXref(context);
                }
                break;

            case "category_moveallcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CopyAllCatXref(context, true);
                }
                break;

            case "category_cattaxupdate":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CatTaxUpdate(context, EditLangCurrent);
                }
                break;

            case "category_addgroupfilter":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = AddGroupFilter(context, EditLangCurrent);
                }
                break;

            case "category_removegroupfilter":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = RemoveGroupFilter(context, EditLangCurrent);
                }
                break;

            case "category_categorygroupfilter":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CategoryGroupFilters(context, EditLangCurrent);
                }
                break;
            }
            return(strOut);
        }
Пример #22
0
        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
        }
Пример #23
0
        public static string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var strOut   = "PROPERTY - ERROR!! - No Security rights or function command.";
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);

            UiLang = ajaxInfo.GetXmlProperty("genxml/hidden/uilang");
            if (UiLang == "")
            {
                UiLang = EditLangCurrent;
            }
            var userId = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");

            EntityTypeCode = ajaxInfo.GetXmlProperty("genxml/hidden/entitytypecode");
            if (EntityTypeCode == "")
            {
                EntityTypeCode = "CAT";                       // default to category
            }
            UiLang          = NBrightBuyUtils.GetUILang(ajaxInfo);
            EditLangCurrent = editlang;
            if (EditLangCurrent == "")
            {
                EditLangCurrent = NBrightBuyUtils.GetEditLang(ajaxInfo);
            }

            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);
            }

            switch (paramCmd)
            {
            case "property_admin_getlist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategoryAdminList(context, "property", EditLangCurrent);
                break;

            case "property_admin_getdetail":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategoryAdminDetail(context, 0, EditLangCurrent);
                break;

            case "property_admin_addnew":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategoryAdminAddNew(context, "property");
                break;

            case "property_admin_savelist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategoryAdminSaveList(context);
                break;

            case "property_admin_save":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategorySave(context, EditLangCurrent);
                break;

            case "property_admin_saveexit":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategorySave(context, EditLangCurrent);
                break;

            case "property_admin_movecategory":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.MoveCategoryAdmin(context, "property");
                break;

            case "property_admin_delete":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.DeleteCategory(context, "property");
                break;

            case "property_updateimages":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.UpdateCategoryImages(context, EditLangCurrent);
                break;

            case "property_getproductselectlist":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = ProductFunctions.ProductAdminList(context, true, EditLangCurrent, "", true);
                break;

            case "property_selectchangehidden":
                if (!NBrightBuyUtils.CheckManagerRights())
                {
                    break;
                }
                strOut = CategoryFunctions.CategoryHidden(context);
                break;

            case "property_categoryproductlist":
                strOut = CategoryFunctions.GetCategoryProductList(context, EditLangCurrent);
                break;

            case "property_removeimage":
                strOut = CategoryFunctions.RemoveCategoryImage(context, EditLangCurrent);
                break;

            case "property_displayproductselect":
                strOut = CategoryFunctions.CategoryProductSelect(context, EditLangCurrent);
                break;

            case "property_selectcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CategoryFunctions.SelectCatXref(context, EditLangCurrent);
                }
                break;

            case "property_deletecatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CategoryFunctions.DeleteCatXref(context);
                }
                break;

            case "property_deleteallcatxref":
                if (NBrightBuyUtils.CheckRights())
                {
                    strOut = CategoryFunctions.DeleteAllCatXref(context, EditLangCurrent);
                }
                break;
            }
            return(strOut);
        }
Пример #24
0
        public static string ProcessCommand(string paramCmd, HttpContext context, string editlang = "")
        {
            var strOut   = "PLUGIN - ERROR!! - No Security rights or function command.";
            var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context);
            var userId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/userid");

            switch (paramCmd)
            {
            case "plugins_admin_getlist":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                strOut = PluginAdminList(context);
                break;

            case "plugins_admin_getdetail":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                strOut = PluginAdminDetail(context);
                break;

            case "plugins_adminaddnew":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                strOut = PluginAddNew(context);
                break;

            case "plugins_addpluginsmodels":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                PluginAddInterface(context);
                strOut = PluginAdminDetail(context);
                break;

            case "plugins_admin_save":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                PluginSave(context);
                strOut = PluginAdminDetail(context);
                break;

            case "plugins_admin_delete":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                PluginDelete(context);
                strOut = PluginAdminList(context);
                break;

            case "plugins_movepluginsadmin":
                if (!NBrightBuyUtils.CheckRights())
                {
                    break;
                }
                PluginMove(context);
                strOut = PluginAdminList(context);
                break;
            }
            return(strOut);
        }
Пример #25
0
        private static String GetOrderDetailData(Dictionary <String, String> settings, bool paging = true)
        {
            var strOut = "";

            if (!settings.ContainsKey("themefolder"))
            {
                settings.Add("themefolder", "");
            }
            if (!settings.ContainsKey("razortemplate"))
            {
                settings.Add("razortemplate", "");
            }
            if (!settings.ContainsKey("portalid"))
            {
                settings.Add("portalid", PortalSettings.Current.PortalId.ToString(""));                                    // aways make sure we have portalid in settings
            }
            if (!settings.ContainsKey("selecteditemid"))
            {
                settings.Add("selecteditemid", "");
            }

            var themeFolder    = settings["themefolder"];
            var selecteditemid = settings["selecteditemid"];
            var razortemplate  = settings["razortemplate"];
            var portalId       = Convert.ToInt32(settings["portalid"]);

            var passSettings = settings;

            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);
                }
            }

            if (!Utils.IsNumeric(selecteditemid))
            {
                return("");
            }

            if (themeFolder == "")
            {
                themeFolder = StoreSettings.Current.ThemeFolder;
                if (settings.ContainsKey("themefolder"))
                {
                    themeFolder = settings["themefolder"];
                }
            }

            var ordData = new OrderData(portalId, Convert.ToInt32(selecteditemid));

            // check for user or manager.
            if (UserController.Instance.GetCurrentUserInfo().UserID != ordData.UserId)
            {
                if (!NBrightBuyUtils.CheckRights())
                {
                    return("");
                }
            }

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


            return(strOut);
        }