コード例 #1
0
ファイル: ProductUtils.cs プロジェクト: skamphuis/NBrightBuy
        public static NBrightInfo InsertEntityLangData(NBrightInfo objLangInfo, Repeater rpEntity, Repeater rpEntityLang, String entityName, String folderMapPath = "")
        {
            var strModelXML = "<" + entityName + ">";

            foreach (RepeaterItem i in rpEntityLang.Items)
            {
                if (GenXmlFunctions.GetField(rpEntity, "chkDelete", i.ItemIndex) != "True")
                {
                    GenXmlFunctions.SetField(rpEntityLang, "entityindex", i.ItemIndex.ToString(CultureInfo.InvariantCulture), i.ItemIndex);
                    strModelXML += GenXmlFunctions.GetGenXml(i, "", folderMapPath);
                }
            }
            strModelXML += "</" + entityName + ">";

            // Create a document fragment to contain the XML to be inserted.
            var docFrag = objLangInfo.XMLDoc.CreateDocumentFragment();

            // Set the contents of the document fragment.
            docFrag.InnerXml = strModelXML;
            //Add new model data
            if (objLangInfo.XMLDoc.DocumentElement != null)
            {
                objLangInfo.XMLDoc.DocumentElement.AppendChild(docFrag);
            }
            objLangInfo.XMLData = objLangInfo.XMLDoc.OuterXml;

            return(objLangInfo);
        }
コード例 #2
0
 private void SaveAll()
 {
     foreach (RepeaterItem rtnItem in rpData.Items)
     {
         var isdirty = GenXmlFunctions.GetField(rtnItem, "isdirty");
         var itemid  = GenXmlFunctions.GetField(rtnItem, "itemid");
         if (isdirty == "true" && Utils.IsNumeric(itemid))
         {
             var grpData = new GroupData(Convert.ToInt32(itemid), StoreSettings.Current.EditLanguage);
             if (grpData.Exists)
             {
                 grpData.Validate();
                 var grpname      = GenXmlFunctions.GetField(rtnItem, "groupname");
                 var grpref       = GenXmlFunctions.GetField(rtnItem, "groupref");
                 var grptype      = GenXmlFunctions.GetField(rtnItem, "grouptype");
                 var addsearchbox = GenXmlFunctions.GetField(rtnItem, "addsearchbox");
                 grpData.Name         = grpname;
                 grpData.Ref          = grpref;
                 grpData.Type         = grptype;
                 grpData.AddSearchBox = addsearchbox;
                 grpData.Save();
             }
         }
     }
 }
コード例 #3
0
        public void Update(Repeater rpData)
        {
            // update email
            var email = GenXmlFunctions.GetField(rpData, "email");

            if (_userInfo != null && Utils.IsEmail(email) && (_userInfo.Email != email))
            {
                _userInfo.Email = email;
                UserController.UpdateUser(PortalSettings.Current.PortalId, _userInfo);
            }

            // ClientEditorRole
            var clientEditorRole = GenXmlFunctions.GetField(rpData, "clienteditorrole");

            if (clientEditorRole == "True")
            {
                AddClientEditorRole();
            }
            else
            {
                RemoveClientEditorRole();
            }

            // update Discount codes
            var strXml = GenXmlFunctions.GetField(rpData, "xmlupdatediscountcodedata");

            strXml = GenXmlFunctions.DecodeCDataTag(strXml);
            UpdateDiscountCodes(strXml);
            strXml = GenXmlFunctions.GetField(rpData, "xmlupdatevouchercodedata");
            strXml = GenXmlFunctions.DecodeCDataTag(strXml);
            UpdateVoucherCodes(strXml);
        }
コード例 #4
0
ファイル: Plugins.ascx.cs プロジェクト: skamphuis/NBrightBuy
        private void MoveRecord(String movectrl)
        {
            var selectedctrl = GenXmlFunctions.GetField(rpDataH, "selectedctrl");
            var pluginData   = new PluginData(PortalId);

            pluginData.MovePlugin(selectedctrl, movectrl);
        }
コード例 #5
0
        /// <summary>
        /// Remove all unsed images.  (DELETE any NBS images NOT linked to Categories or Products)
        /// </summary>
        private void PurgeImages()
        {
            var pass = GenXmlFunctions.GetField(rpData, "txtclearpass");

            if (pass == StoreSettings.Current.Get("adminpin") && pass != "")
            {
                var objCtrl   = new NBrightBuyController();
                var imgdblist = new List <string>();

                // get DB filenames
                var prdlist = objCtrl.GetList(PortalId, -1, "PRD");
                foreach (var nbi in prdlist)
                {
                    var nodlist = nbi.XMLDoc.SelectNodes("genxml/imgs/*");
                    if (nodlist != null)
                    {
                        foreach (XmlNode nod in nodlist)
                        {
                            var pnod = nod.SelectSingleNode("hidden/imagepath");
                            if (pnod != null)
                            {
                                var fname = Path.GetFileName(pnod.InnerText);
                                if (fname != "" && !imgdblist.Contains(fname))
                                {
                                    imgdblist.Add(fname);
                                }
                            }
                        }
                    }
                }
                var itemlist = objCtrl.GetList(PortalId, -1, "CATEGORY");
                foreach (var nbi in itemlist)
                {
                    var p = nbi.GetXmlProperty("genxml/hidden/imagepath");
                    if (p != "")
                    {
                        imgdblist.Add(Path.GetFileName(p));
                    }
                }

                // get fileystem filenames and remove if not in DB.
                var filelist = Directory.GetFiles(StoreSettings.Current.FolderImagesMapPath);
                foreach (var f in filelist)
                {
                    if (!imgdblist.Contains(Path.GetFileName(f)))
                    {
                        // delete img
                        File.Delete(f);
                    }
                }
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "completed", NotifyCode.ok);
            }
            else
            {
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "nopin", NotifyCode.fail);
            }
        }
コード例 #6
0
ファイル: Categories.ascx.cs プロジェクト: dnnden/NBrightBuy
        private void MoveRecord(int itemId)
        {
            var selecteditemid = GenXmlFunctions.GetField(rpDataH, "selecteditemid");

            if (Utils.IsNumeric(selecteditemid))
            {
                var movData          = CategoryUtils.GetCategoryData(itemId, StoreSettings.Current.EditLanguage);
                var selData          = CategoryUtils.GetCategoryData(Convert.ToInt32(selecteditemid), StoreSettings.Current.EditLanguage);
                var fromParentItemid = selData.DataRecord.ParentItemId;
                var toParentItemid   = movData.DataRecord.ParentItemId;
                var reindex          = toParentItemid != fromParentItemid;

                var objGrpCtrl = new GrpCatController(StoreSettings.Current.EditLanguage);
                var movGrp     = objGrpCtrl.GetGrpCategory(movData.Info.ItemID);
                if (!movGrp.Parents.Contains(selData.Info.ItemID)) // cannot move a category into itself (i.e. move parent into sub-category)
                {
                    selData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlparentcatid", toParentItemid.ToString(""));
                    selData.DataRecord.ParentItemId = toParentItemid;
                    selData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlgrouptype", movData.DataRecord.GetXmlProperty("genxml/dropdownlist/ddlgrouptype"));
                    var strneworder = movData.DataRecord.GetXmlProperty("genxml/hidden/recordsortorder");
                    var selorder    = selData.DataRecord.GetXmlProperty("genxml/hidden/recordsortorder");
                    if (!Utils.IsNumeric(strneworder))
                    {
                        strneworder = "1";
                    }
                    if (!Utils.IsNumeric(selorder))
                    {
                        selorder = "1";
                    }
                    var neworder = Convert.ToDouble(strneworder, CultureInfo.GetCultureInfo("en-US"));
                    if (Convert.ToDouble(strneworder, CultureInfo.GetCultureInfo("en-US")) < Convert.ToDouble(selorder, CultureInfo.GetCultureInfo("en-US")))
                    {
                        neworder = neworder - 0.5;
                    }
                    else
                    {
                        neworder = neworder + 0.5;
                    }
                    selData.DataRecord.SetXmlProperty("genxml/hidden/recordsortorder", neworder.ToString(""), TypeCode.Double);
                    ModCtrl.Update(selData.DataRecord);

                    FixRecordSortOrder(toParentItemid.ToString("")); //reindex all siblings (this is so we get a int on the recordsortorder)
                    FixRecordGroupType(selData.Info.ItemID.ToString(""), selData.DataRecord.GetXmlProperty("genxml/dropdownlist/ddlgrouptype"));

                    if (reindex)
                    {
                        objGrpCtrl.ReIndexCascade(fromParentItemid);    // reindex from parent and parents.
                        objGrpCtrl.ReIndexCascade(selData.Info.ItemID); // reindex select and parents
                    }
                    NBrightBuyUtils.RemoveModCachePortalWide(PortalId); //clear any cache
                }
            }
        }
コード例 #7
0
        private void PageLoad()
        {
            #region "Data Repeater"

            if (UserId > 0) // only logged in users can see data on this module.
            {
                if (Utils.IsNumeric(_entryid) && _entryid != "0")
                {
                    var categoryData = CategoryUtils.GetCategoryData(Convert.ToInt32(_entryid), EditLanguage);
                    base.DoDetail(rpData, categoryData.Info);
                }
                else
                {
                    var navigationData = new NavigationData(PortalId, "CategoryAdmin");

                    // get search data
                    var sInfo = new NBrightInfo();
                    sInfo.XMLData = navigationData.XmlData;

                    // display search
                    base.DoDetail(rpSearch, sInfo);

                    var grpCats = new List <NBrightInfo>();
                    if (!String.IsNullOrEmpty(Edittype) && Edittype.ToLower() == "group")
                    {
                        var selgroup = GenXmlFunctions.GetGenXmlValue(navigationData.XmlData, "genxml/dropdownlist/groupsel");
                        if (selgroup == "")
                        {
                            selgroup = GenXmlFunctions.GetField(rpSearch, "groupsel");
                        }
                        grpCats = NBrightBuyUtils.GetCatList(_openid, selgroup, EditLanguage);
                    }
                    else
                    {
                        grpCats = NBrightBuyUtils.GetCatList(_openid, "cat", EditLanguage);
                    }

                    rpData.DataSource = grpCats;
                    rpData.DataBind();
                }
            }

            #endregion

            // display header (Do header after the data return so the productcount works)
            base.DoDetail(rpDataH);

            // display footer
            base.DoDetail(rpDataF);
        }
コード例 #8
0
        private NotifyCode Update(String emailoption = "")
        {
            // we don;t have the full field set on this form, so only update the fields we know are there.
            var trackingcode = GenXmlFunctions.GetField(rpDataF, "trackingcode");
            var shippingdate = GenXmlFunctions.GetField(rpDataF, "shippingdate");
            var orderstatus  = GenXmlFunctions.GetField(rpDataF, "orderstatus");
            var showtouser   = GenXmlFunctions.GetField(rpDataF, "showtouser");
            var notes        = GenXmlFunctions.GetField(rpDataF, "notes");
            var emailmsg     = GenXmlFunctions.GetField(rpDataF, "emailmsg");

            var strUpd = GenXmlFunctions.GetGenXml(rpDataF, "", StoreSettings.Current.FolderUploadsMapPath);
            var nbi    = new NBrightInfo(true);

            nbi.XMLData = strUpd;


            if (!Utils.IsNumeric(_entryid))
            {
                return(NotifyCode.error);
            }
            var ordData = new OrderData(PortalId, Convert.ToInt32(_entryid));

            if (ordData.PurchaseInfo.ItemID == -1)
            {
                return(NotifyCode.fail);
            }
            ordData.ShippedDate     = shippingdate;
            ordData.OrderStatus     = orderstatus;
            ordData.TrackingCode    = trackingcode;
            ordData.InvoiceFileName = nbi.GetXmlProperty("genxml/hidden/hidinvoicedoc");
            ordData.InvoiceFileExt  = Path.GetExtension(ordData.InvoiceFileName);
            ordData.InvoiceFilePath = StoreSettings.Current.FolderUploadsMapPath + "\\" + ordData.InvoiceFileName;
            ordData.AddAuditMessage(notes, "msg", UserInfo.Username, showtouser);
            if (emailoption != "")
            {
                ordData.AddAuditMessage(emailmsg, "email", UserInfo.Username, showtouser, emailoption);
            }

            if (ordData.OrderNumber == "")
            {
                ordData.OrderNumber = StoreSettings.Current.Get("orderprefix") + ordData.PurchaseInfo.ModifiedDate.Year.ToString("").Substring(2, 2) + ordData.PurchaseInfo.ModifiedDate.Month.ToString("00") + ordData.PurchaseInfo.ModifiedDate.Day.ToString("00") + _entryid;
            }

            ordData.InvoiceDownloadName = ordData.OrderNumber + ordData.InvoiceFileExt;

            ordData.Save();
            return(NotifyCode.ok);
        }
コード例 #9
0
        private void PurgeCarts()
        {
            var objCtrl = new NBrightBuyController();
            var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier;
            var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner;

            if (Utils.IsNumeric(GenXmlFunctions.GetField(rpData, "purgecartsdays")))
            {
                var days    = Convert.ToInt32(GenXmlFunctions.GetField(rpData, "purgecartsdays"));
                var d       = DateTime.Now.AddDays(days * -1);
                var strDate = d.ToString("s");
                var stmt    = "";
                stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CART' and ModifiedDate < '" + strDate + "' ";
                objCtrl.ExecSql(stmt);
            }
        }
コード例 #10
0
        private void ResetPortalMenu()
        {
            var pass = GenXmlFunctions.GetField(rpData, "txtclearpass");

            if (pass == StoreSettings.Current.Get("adminpin") && pass != "")
            {
                DataCache.ClearCache();

                var pi = new PluginData(PortalId);
                pi.RemovePortalLevel();

                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "completed", NotifyCode.ok);
            }
            else
            {
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "nopin", NotifyCode.fail);
            }
        }
コード例 #11
0
ファイル: CartView.ascx.cs プロジェクト: dnnden/NBrightBuy
        private void SaveCart(Boolean removeZeroQtyItems = false)
        {
            var activecartstage  = _cartInfo.PurchaseInfo.GetXmlProperty("genxml/currentcartstage");
            var currentcartstage = GenXmlFunctions.GetField(checkoutlayout, "currentcartstage");

            if (_cartInfo.EditMode == "E" && activecartstage == "cartsummary" && currentcartstage == "cartsummary")
            {
                // is order being edited, so return to order status after edit.
                // ONLY if the cartsummry is being displayed to the manager.
                _cartInfo.ConvertToOrder();
                // redirect to back office
                var param = new string[2];
                param[0] = "ctrl=orders";
                param[1] = "eid=" + _cartInfo.PurchaseInfo.ItemID.ToString("");
                var strbackofficeTabId = StoreSettings.Current.Get("backofficetabid");
                var backofficeTabId    = TabId;
                if (Utils.IsNumeric(strbackofficeTabId))
                {
                    backofficeTabId = Convert.ToInt32(strbackofficeTabId);
                }
                var href = Globals.NavigateURL(backofficeTabId, "", param);
                Response.Redirect(href, true);
            }
            else
            {
                _cartInfo.PurchaseInfo.SetXmlProperty("genxml/currentcartstage", currentcartstage);
                var pickuppointref = GenXmlFunctions.GetField(rpExtra, "pickuppointref");
                _cartInfo.PurchaseInfo.SetXmlProperty("genxml/pickuppointref", pickuppointref);
                var pickuppointaddr = GenXmlFunctions.GetField(rpExtra, "pickuppointaddr");
                _cartInfo.PurchaseInfo.SetXmlProperty("genxml/pickuppointaddr", pickuppointaddr);

                _cartInfo.Save(DebugMode, removeZeroQtyItems);
            }
            if (UserId == -1)
            {
                // no user registered so save address as cookie
                Cookie.SetCookieValue(PortalId, "cartaddress", "billingaddress", _cartInfo.GetBillingAddress().XMLData, "cartaddress");
            }
        }
コード例 #12
0
        private void MoveRecord(int itemId)
        {
            var selecteditemid = GenXmlFunctions.GetField(rpDataH, "selecteditemid");

            if (Utils.IsNumeric(selecteditemid))
            {
                var movData  = CategoryUtils.GetCategoryData(itemId, StoreSettings.Current.EditLanguage);
                var selData  = CategoryUtils.GetCategoryData(Convert.ToInt32(selecteditemid), StoreSettings.Current.EditLanguage);
                var neworder = movData.DataRecord.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                var selorder = selData.DataRecord.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                if (neworder < selorder)
                {
                    neworder = neworder - 0.5;
                }
                else
                {
                    neworder = neworder + 0.5;
                }
                selData.DataRecord.SetXmlPropertyDouble("genxml/hidden/recordsortorder", neworder);
                ModCtrl.Update(selData.DataRecord);
                FixRecordSortOrder();
            }
        }
コード例 #13
0
ファイル: Tools.ascx.cs プロジェクト: valadas/Open-Store
 private string RunCustomProvider()
 {
     try
     {
         var          assembly       = GenXmlFunctions.GetField(rpData, "providerassembly");
         var          namespaceclass = GenXmlFunctions.GetField(rpData, "providernamespaceclass");
         var          paramdata      = GenXmlFunctions.GetField(rpData, "paramdata");
         ObjectHandle handle         = null;
         handle = Activator.CreateInstance(assembly, namespaceclass);
         if (handle != null)
         {
             var prov = (CustomActionInterface)handle.Unwrap();
             if (prov != null)
             {
                 prov.Run(paramdata);
             }
         }
     }
     catch (Exception e)
     {
         return("ERROR");
     }
     return("");
 }
コード例 #14
0
        private void ResetLanguage()
        {
            var pass = GenXmlFunctions.GetField(rpData, "txtclearpass");

            if (pass == StoreSettings.Current.Get("adminpin") && pass != "")
            {
                var languagetoreset = GenXmlFunctions.GetField(rpData, "languagetoreset");
                var languageresetto = GenXmlFunctions.GetField(rpData, "languageresetto");
                if (languagetoreset != "" && languageresetto != languagetoreset)
                {
                    var objCtrl = new NBrightBuyController();

                    var l = objCtrl.GetDataList(PortalId, -1, "PRD", "", Utils.GetCurrentCulture(), "", "");
                    foreach (var i in l)
                    {
                        var prdData = ProductUtils.GetProductData(i.ItemID, languagetoreset);
                        prdData.ResetLanguage(languageresetto);
                    }

                    l = objCtrl.GetDataList(PortalId, -1, "CATEGORY", "", Utils.GetCurrentCulture(), "", "");
                    foreach (var i in l)
                    {
                        var catData = CategoryUtils.GetCategoryData(i.ItemID, languagetoreset);
                        catData.ResetLanguage(languageresetto);
                    }

                    DataCache.ClearCache();

                    NBrightBuyUtils.SetNotfiyMessage(ModuleId, "completed", NotifyCode.ok);
                }
            }
            else
            {
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "nopin", NotifyCode.fail);
            }
        }
コード例 #15
0
        private void SaveAll()
        {
            foreach (RepeaterItem rtnItem in rpData.Items)
            {
                var isdirty = GenXmlFunctions.GetField(rtnItem, "isdirty");
                var itemid  = GenXmlFunctions.GetField(rtnItem, "itemid");
                if (isdirty == "true" && Utils.IsNumeric(itemid))
                {
                    var catData = CategoryUtils.GetCategoryData(Convert.ToInt32(itemid), StoreSettings.Current.EditLanguage);
                    if (catData.Exists)
                    {
                        var chkishidden = GenXmlFunctions.GetField(rtnItem, "chkishidden");
                        var catname     = GenXmlFunctions.GetField(rtnItem, "txtcategoryname");
                        catData.DataRecord.SetXmlProperty("genxml/checkbox/chkishidden", chkishidden);

                        if (!String.IsNullOrEmpty(Edittype) && Edittype.ToLower() == "group")
                        {
                            var propertyref = GenXmlFunctions.GetField(rtnItem, "propertyref");
                            if (propertyref != "")
                            {
                                catData.DataRecord.SetXmlProperty("genxml/textbox/propertyref", propertyref);
                                catData.DataRecord.SetXmlProperty("genxml/textbox/txtcategoryref", propertyref);
                            }
                            var grptype = catData.DataRecord.GetXmlProperty("genxml/dropdownlist/ddlgrouptype");
                            var grp     = ModCtrl.GetByGuidKey(PortalSettings.PortalId, -1, "GROUP", grptype);
                            if (grp != null)
                            {
                                catData.ParentItemId = grp.ItemID;
                                ModCtrl.Update(catData.DataRecord);
                            }
                        }
                        else
                        {
                            // the base category ref cannot have language dependant refs, we therefore just use a unique key
                            var catref = catData.DataRecord.GetXmlProperty("genxml/textbox/txtcategoryref");
                            if (catref == "")
                            {
                                catref = Utils.GetUniqueKey().ToLower();
                                catData.DataRecord.SetXmlProperty("genxml/textbox/txtcategoryref", catref);
                                catData.DataRecord.GUIDKey = catref;
                            }
                            ModCtrl.Update(catData.DataRecord);
                        }

                        catData.DataLangRecord.SetXmlProperty("genxml/textbox/txtcategoryname", catname);
                        ModCtrl.Update(catData.DataLangRecord);
                        if (catname != "")
                        {
                            // update all language records that have no name
                            foreach (var lang in DnnUtils.GetCultureCodeList(PortalSettings.Current.PortalId))
                            {
                                var catLangUpd = CategoryUtils.GetCategoryData(Convert.ToInt32(itemid), lang);
                                if (catLangUpd.DataLangRecord != null && catLangUpd.Info.GetXmlProperty("genxml/lang/genxml/textbox/txtcategoryname") == "")
                                {
                                    catLangUpd.DataLangRecord.SetXmlProperty("genxml/textbox/txtcategoryname", catname);
                                    ModCtrl.Update(catLangUpd.DataLangRecord);
                                }
                            }
                        }

                        catData.Save();
                        NBrightBuyUtils.RemoveModCachePortalWide(PortalId);                   // clear cache before validate lang, so we pickup new changes to name.
                        CategoryUtils.ValidateLangaugeRef(PortalId, Convert.ToInt32(itemid)); // do validate so we update all refs and children refs
                    }
                }
            }
        }
コード例 #16
0
        private void DoImport(NBrightInfo nbi)
        {
            var fname = StoreSettings.Current.FolderUploadsMapPath + "\\" + nbi.GetXmlProperty("genxml/hidden/hiddatafile");

            if (System.IO.File.Exists(fname))
            {
                var xmlFile = new XmlDocument();
                xmlFile.Load(fname);

                if (GenXmlFunctions.GetField(rpData, "importproducts") == "True")
                {
                    ImportRecord(xmlFile, "PRD");
                    ImportRecord(xmlFile, "PRDLANG");

                    // import any entitytype provider data
                    // This is data created by plugins into the NBS data tables.
                    var pluginData = new PluginData(PortalSettings.Current.PortalId);
                    var provList   = pluginData.GetEntityTypeProviders();
                    foreach (var prov in provList)
                    {
                        var entityprov = EntityTypeInterface.Instance(prov.Key);
                        if (entityprov != null)
                        {
                            ImportRecord(xmlFile, entityprov.GetEntityTypeCode());
                            ImportRecord(xmlFile, entityprov.GetEntityTypeCodeLang());
                        }
                    }

                    ImportRecord(xmlFile, "PRDXREF");
                    ImportRecord(xmlFile, "USERPRDXREF");
                }

                if (GenXmlFunctions.GetField(rpData, "importcategories") == "True")
                {
                    ImportRecord(xmlFile, "CATEGORY");
                    ImportRecord(xmlFile, "CATEGORYLANG");
                }

                if (GenXmlFunctions.GetField(rpData, "importcategories") == "True" && GenXmlFunctions.GetField(rpData, "importproducts") == "True")
                {
                    ImportRecord(xmlFile, "CATCASCADE");
                    ImportRecord(xmlFile, "CATXREF");
                }

                if (GenXmlFunctions.GetField(rpData, "importproperties") == "True")
                {
                    ImportRecord(xmlFile, "GROUP");
                    ImportRecord(xmlFile, "GROUPLANG");
                }

                if (GenXmlFunctions.GetField(rpData, "importsettings") == "True")
                {
                    ImportRecord(xmlFile, "SETTINGS");
                }

                if (GenXmlFunctions.GetField(rpData, "importorders") == "True")
                {
                    ImportRecord(xmlFile, "ORDER");
                }

                RelinkNewIds();
            }
        }
コード例 #17
0
        private void DoExport()
        {
            FixUniqueRef("PRD", "genxml/textbox/txtproductref");
            FixUniqueRef("GROUP", "genxml/textbox/groupref");
            FixUniqueRef("CATEGORY", "genxml/textbox/txtcategoryref");

            var strXml      = new StringBuilder("<root>");
            var objCtrlUser = new UserController();

            if (GenXmlFunctions.GetField(rpData, "exportproducts") == "True")
            {
                // export any entitytype provider data
                // This is data created by plugins into the NBS data tables.
                var pluginData = new PluginData(PortalSettings.Current.PortalId);
                var provList   = pluginData.GetEntityTypeProviders();
                foreach (var prov in provList)
                {
                    var entityprov = EntityTypeInterface.Instance(prov.Key);
                    if (entityprov != null)
                    {
                        var provl = ModCtrl.GetList(PortalId, -1, entityprov.GetEntityTypeCode());
                        foreach (var i in provl)
                        {
                            strXml.Append(i.ToXmlItem());
                        }

                        provl = ModCtrl.GetList(PortalId, -1, entityprov.GetEntityTypeCodeLang());
                        foreach (var i in provl)
                        {
                            strXml.Append(i.ToXmlItem());
                        }
                    }
                }

                var l = ModCtrl.GetList(PortalId, -1, "PRD");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }

                l = ModCtrl.GetList(PortalId, -1, "PRDLANG");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }

                l = ModCtrl.GetList(PortalId, -1, "PRDXREF");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }

                l = ModCtrl.GetList(PortalId, -1, "USERPRDXREF");
                foreach (var i in l)
                {
                    var u = objCtrlUser.GetUser(i.PortalId, i.UserId);
                    if (u != null)
                    {
                        i.TextData = u.Username;
                        strXml.Append(i.ToXmlItem());
                    }
                }
            }

            if (GenXmlFunctions.GetField(rpData, "exportcategories") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "CATEGORY");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }

                l = ModCtrl.GetList(PortalId, -1, "CATEGORYLANG");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
            }

            if (GenXmlFunctions.GetField(rpData, "exportcategories") == "True" && GenXmlFunctions.GetField(rpData, "exportproducts") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "CATCASCADE");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
                l = ModCtrl.GetList(PortalId, -1, "CATXREF");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
            }

            if (GenXmlFunctions.GetField(rpData, "exportproperties") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "GROUP");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }

                l = ModCtrl.GetList(PortalId, -1, "GROUPLANG");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
            }

            if (GenXmlFunctions.GetField(rpData, "exportsettings") == "True")
            {
                var l = ModCtrl.GetList(PortalId, 0, "SETTINGS");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
            }

            if (GenXmlFunctions.GetField(rpData, "exportorders") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "ORDER");
                foreach (var i in l)
                {
                    strXml.Append(i.ToXmlItem());
                }
            }

            strXml.Append("</root>");

            var doc = new XmlDocument();

            doc.LoadXml(strXml.ToString());
            doc.Save(StoreSettings.Current.FolderUploadsMapPath + "\\export.xml");

            Utils.ForceDocDownload(StoreSettings.Current.FolderUploadsMapPath + "\\export.xml", PortalSettings.PortalAlias.HTTPAlias + "_export.xml", Response);
        }
コード例 #18
0
ファイル: ProfileForm.ascx.cs プロジェクト: dnnden/NBrightBuy
        protected void CtrlItemCommand(object source, RepeaterCommandEventArgs e)
        {
            var cArg          = e.CommandArgument.ToString();
            var param         = new string[3];
            var redirecttabid = "";
            var emailtemplate = "";

            switch (e.CommandName.ToLower())
            {
            case "saveprofile":
                _profileData.UpdateProfile(rpInp, DebugMode);

                emailtemplate = ModSettings.Get("emailtemplate");
                if (emailtemplate != "")
                {
                    NBrightBuyUtils.SendEmailToManager(emailtemplate, _profileData.GetProfile(), "profileupdated_emailsubject.Text");
                }

                param[0] = "msg=" + NotifyRef + "_" + NotifyCode.ok;
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, NotifyRef, NotifyCode.ok);
                Response.Redirect(Globals.NavigateURL(TabId, "", param), true);
                break;

            case "register":

                var notifyCode = NotifyCode.fail;
                var failreason = "";

                var cap = (DotNetNuke.UI.WebControls.CaptchaControl)rpInp.Controls[0].FindControl("captcha");;
                if (cap == null || cap.IsValid)
                {
                    //create a new user and login
                    if (!this.UserInfo.IsInRole("Registered Users"))
                    {
                        // Create and hydrate User
                        var objUser = new UserInfo();
                        objUser.Profile.InitialiseProfile(this.PortalId, true);
                        objUser.PortalID                = PortalId;
                        objUser.DisplayName             = GenXmlFunctions.GetField(rpInp, "DisplayName");
                        objUser.Email                   = GenXmlFunctions.GetField(rpInp, "Email");
                        objUser.FirstName               = GenXmlFunctions.GetField(rpInp, "FirstName");
                        objUser.LastName                = GenXmlFunctions.GetField(rpInp, "LastName");
                        objUser.Username                = GenXmlFunctions.GetField(rpInp, "Username");
                        objUser.Profile.PreferredLocale = Utils.GetCurrentCulture();

                        if (objUser.Username == "")
                        {
                            objUser.Username = GenXmlFunctions.GetField(rpInp, "Email");
                        }
                        objUser.Membership.CreatedDate = System.DateTime.Now;
                        var passwd = GenXmlFunctions.GetField(rpInp, "Password");
                        if (passwd == "")
                        {
                            objUser.Membership.UpdatePassword = true;
                            passwd = UserController.GeneratePassword(9);
                        }
                        objUser.Membership.Password = passwd;
                        objUser.Membership.Approved = PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration;

                        // Create the user
                        var createStatus = UserController.CreateUser(ref objUser);

                        DataCache.ClearPortalCache(PortalId, true);

                        switch (createStatus)
                        {
                        case UserCreateStatus.Success:
                            //boNotify = true;
                            if (objUser.Membership.Approved)
                            {
                                UserController.UserLogin(this.PortalId, objUser, PortalSettings.PortalName, AuthenticationLoginBase.GetIPAddress(), false);
                            }
                            notifyCode = NotifyCode.ok;
                            break;

                        case UserCreateStatus.DuplicateEmail:
                            failreason = "exists";
                            break;

                        case UserCreateStatus.DuplicateUserName:
                            failreason = "exists";
                            break;

                        case UserCreateStatus.UsernameAlreadyExists:
                            failreason = "exists";
                            break;

                        case UserCreateStatus.UserAlreadyRegistered:
                            failreason = "exists";
                            break;

                        default:
                            // registration error
                            break;
                        }

                        if (notifyCode == NotifyCode.ok)
                        {
                            _profileData  = new ProfileData(objUser.UserID, rpInp, DebugMode);    //create and update a profile for this new logged in user.
                            emailtemplate = ModSettings.Get("emailregisteredtemplate");
                            if (emailtemplate != "")
                            {
                                NBrightBuyUtils.SendEmailToManager(emailtemplate, _profileData.GetProfile(), "profileregistered_emailsubject.Text");
                            }
                            emailtemplate = ModSettings.Get("emailregisteredclienttemplate");
                            if (emailtemplate != "")
                            {
                                NBrightBuyUtils.SendEmail(objUser.Email, emailtemplate, _profileData.GetProfile(), "profileregistered_emailsubject.Text", "", objUser.Profile.PreferredLocale);
                            }
                        }
                    }
                }
                else
                {
                    NBrightBuyUtils.SetFormTempData(ModuleId, GenXmlFunctions.GetGenXml(rpInp));
                    failreason = "captcha";
                }

                param[0] = "msg=" + NotifyRef + "_" + notifyCode;
                if (!UserInfo.IsInRole(StoreSettings.ClientEditorRole) && ModSettings.Get("clientrole") == "True" && notifyCode == NotifyCode.ok)
                {
                    NBrightBuyUtils.SetNotfiyMessage(ModuleId, NotifyRef + "clientrole", notifyCode);
                }
                else
                {
                    NBrightBuyUtils.SetNotfiyMessage(ModuleId, NotifyRef + failreason, notifyCode);
                }

                if (notifyCode == NotifyCode.ok)
                {
                    redirecttabid = ModSettings.Get("ddlredirecttabid");
                }
                if (!Utils.IsNumeric(redirecttabid))
                {
                    redirecttabid = TabId.ToString("");
                }
                Response.Redirect(Globals.NavigateURL(Convert.ToInt32(redirecttabid), "", param), true);
                break;
            }
        }
コード例 #19
0
        private void SendOrderEmail(int orderid, String emailtemplate, String emailsubjectresxkey)
        {
            var emailmsg = GenXmlFunctions.GetField(rpDataF, "emailmsg");

            NBrightBuyUtils.SendEmailOrderToClient(emailtemplate, orderid, emailsubjectresxkey, "", emailmsg);
        }
コード例 #20
0
        private void DoClearDown()
        {
            var pass = GenXmlFunctions.GetField(rpData, "txtclearpass");

            if (pass == StoreSettings.Current.Get("adminpin") && pass != "")
            {
                var done    = false;
                var objCtrl = new NBrightBuyController();
                var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier;
                var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner;
                var stmt    = "";
                if (GenXmlFunctions.GetField(rpData, "clearproducts") == "True")
                {
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'PRD' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'PRDLANG' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'AMY' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'AMYLANG' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'PRDXREF' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'USERPRDXREF' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATCASCADE' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATXREF' ";
                    objCtrl.ExecSql(stmt);
                    done = true;
                }

                if (GenXmlFunctions.GetField(rpData, "clearcategories") == "True")
                {
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY' and [XMLData].value('(genxml/dropdownlist/ddlgrouptype)[1]','nvarchar(max)') = 'cat' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORYLANG' and ParentItemId not in (Select itemid from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY') ";
                    objCtrl.ExecSql(stmt);
                    done = true;
                }

                if (GenXmlFunctions.GetField(rpData, "clearpropertiesonly") == "True")
                {
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY' and [XMLData].value('(genxml/dropdownlist/ddlgrouptype)[1]','nvarchar(max)') != 'cat' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORYLANG' and ParentItemId not in (Select itemid from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY') ";
                    objCtrl.ExecSql(stmt);
                    done = true;
                }


                if (GenXmlFunctions.GetField(rpData, "clearproperties") == "True")
                {
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY' and [XMLData].value('(genxml/dropdownlist/ddlgrouptype)[1]','nvarchar(max)') != 'cat' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORYLANG' and ParentItemId not in (Select itemid from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'CATEGORY') ";
                    objCtrl.ExecSql(stmt);

                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'GROUP' ";
                    objCtrl.ExecSql(stmt);
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'GROUPLANG' ";
                    objCtrl.ExecSql(stmt);

                    done = true;
                }

                if (GenXmlFunctions.GetField(rpData, "clearorders") == "True")
                {
                    stmt = "delete from " + dbOwner + "[" + objQual + "NBrightBuy] where PortalId = " + PortalId.ToString("") + " and typecode = 'ORDER' ";
                    objCtrl.ExecSql(stmt);
                    done = true;
                }

                DataCache.ClearCache();

                if (done)
                {
                    NBrightBuyUtils.SetNotfiyMessage(ModuleId, "deletecompleted", NotifyCode.ok);
                }
            }
            else
            {
                NBrightBuyUtils.SetNotfiyMessage(ModuleId, "nopin", NotifyCode.fail);
            }
        }
コード例 #21
0
        protected void CtrlItemCommand(object source, RepeaterCommandEventArgs e)
        {
            var param    = new string[2];
            var targlist = _targetModuleKey.Split(',');

            switch (e.CommandName.ToLower())
            {
            case "search":
                foreach (var targ in targlist)
                {
                    var navigationData = new NavigationData(PortalId, targ);
                    var strXml         = GenXmlFunctions.GetGenXml(rpData, "", "");
                    navigationData.Build(strXml, _templD);
                    navigationData.OrderBy = GenXmlFunctions.GetSqlOrderBy(rpData);
                    navigationData.XmlData = GenXmlFunctions.GetGenXml(rpData);
                    navigationData.Mode    = GenXmlFunctions.GetField(rpData, "navigationmode").ToLower();
                    navigationData.Save();


                    if (StoreSettings.Current.DebugModeFileOut)
                    {
                        strXml = "<root><sql><![CDATA[" + navigationData.Criteria + "]]></sql>" + strXml + "</root>";
                        var xmlDoc = new System.Xml.XmlDocument();
                        xmlDoc.LoadXml(strXml);
                        xmlDoc.Save(PortalSettings.HomeDirectoryMapPath + "debug_search.xml");
                    }
                }

                Response.Redirect(Globals.NavigateURL(_redirecttabid, "", param), true);
                break;

            case "resetsearch":
                var catid = Utils.RequestParam(Context, "catid");
                // clear cookie info
                foreach (var targ in targlist)
                {
                    var navigationData = new NavigationData(PortalId, targ);

                    if (!Utils.IsNumeric(catid))
                    {
                        catid = navigationData.CategoryId.ToString("D");                              // re3set to current catid if selected.
                    }
                    navigationData.Delete();
                }

                if (Utils.IsNumeric(catid))
                {
                    param[0] = "catid=" + catid;                             // use catid if in url
                }
                Response.Redirect(Globals.NavigateURL(TabId, "", param), true);
                break;

            case "orderby":
                foreach (var targ in targlist)
                {
                    var navigationData = new NavigationData(PortalId, targ);
                    navigationData.OrderBy = GenXmlFunctions.GetSqlOrderBy(rpData);
                    navigationData.Save();
                }
                break;
            }
        }