Example #1
0
        public String CategoryGroupFilters(HttpContext context, string editLangCurrent)
        {
            try
            {
                if (NBrightBuyUtils.CheckManagerRights())
                {
                    EditLangCurrent = editLangCurrent;
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                    var strOut   = "";
                    var catid    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
                    if (catid > 0)
                    {
                        var themeFolder   = "config";
                        var razortemplate = "Admin_CategoryFilterGroups.cshtml";

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

                        var objCtrl = new NBrightBuyController();
                        var info    = objCtrl.GetData(catid, EntityTypeCode + "LANG", EditLangCurrent, true);

                        strOut = NBrightBuyUtils.RazorTemplRender(razortemplate, 0, "", info, TemplateRelPath, themeFolder, Utils.GetCurrentCulture(), passSettings);
                    }
                    return(strOut);
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Example #2
0
 public string RemoveGroupFilter(HttpContext context, string editLangCurrent)
 {
     try
     {
         EditLangCurrent = editLangCurrent;
         var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
         var catid    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
         var groupid  = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedgroupid");
         if (catid > 0)
         {
             var catData = new CategoryData(catid, EditLangCurrent);
             catData.RemoveFilterGroup(groupid);
         }
     }
     catch (Exception e)
     {
         return(e.ToString());
     }
     return(CategoryGroupFilters(context, EditLangCurrent));
 }
Example #3
0
        private static String OrderAdminRemoveInvoice(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckManagerRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                    var itemId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/itemid");
                    if (itemId > 0)
                    {
                        var ordData = new OrderData(itemId);
                        if (ordData != null)
                        {
                            // save relitive path also
                            if (File.Exists(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath")))
                            {
                                File.Delete(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath"));
                            }


                            ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilepath", "");
                            ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilename", "");
                            ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefileext", "");
                            ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilerelpath", "");
                            ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicedownloadname", "");
                            ordData.AddAuditMessage(NBrightBuyUtils.ResourceKey("OrderAdmin.cmdDeleteInvoice"), "invremove", UserController.Instance.GetCurrentUserInfo().Username, "False");

                            ordData.Save();
                        }
                    }

                    return("");
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Example #4
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());
            }
        }
 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
     }
 }
Example #6
0
        private String GetSettings(HttpContext context, bool clearCache = false)
        {
            try
            {
                var strOut = "";
                //get uploaded params
                var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);

                var moduleid      = ajaxInfo.GetXmlProperty("genxml/hidden/moduleid");
                var razortemplate = ajaxInfo.GetXmlProperty("genxml/hidden/razortemplate");
                var themefolder   = ajaxInfo.GetXmlProperty("genxml/dropdownlist/themefolder");
                var controlpath   = ajaxInfo.GetXmlProperty("genxml/hidden/controlpath");
                if (controlpath == "")
                {
                    controlpath = "/DesktopModules/NBright/NBrightBuy";
                }
                if (razortemplate == "")
                {
                    return("");                     // assume no settings requirted
                }
                if (moduleid == "")
                {
                    moduleid = "-1";
                }

                // do edit field data if a itemid has been selected
                var obj = NBrightBuyUtils.GetSettings(PortalSettings.Current.PortalId, Convert.ToInt32(moduleid));
                obj.ModuleId = Convert.ToInt32(moduleid); // assign for new records
                strOut       = NBrightBuyUtils.RazorTemplRender(razortemplate, obj.ModuleId, "settings", obj, controlpath, themefolder, _uilang, null);

                return(strOut);
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);
                return(ex.ToString());
            }
        }
Example #7
0
        public string UpdateBoolean(HttpContext context, string xpath)
        {
            try
            {
                var ajaxInfo     = NBrightBuyUtils.GetAjaxInfo(context);
                var parentitemid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selecteditemid");
                var editlang     = ajaxInfo.GetXmlProperty("genxml/hidden/editlang");
                if (editlang == "")
                {
                    editlang = Utils.GetCurrentCulture();
                }

                if (parentitemid > 0 && xpath != "")
                {
                    var prodData = ProductUtils.GetProductData(Convert.ToInt32(parentitemid), editlang, false, "PRD");
                    if (prodData.DataRecord.GetXmlPropertyBool(xpath))
                    {
                        prodData.DataRecord.SetXmlProperty(xpath, "False");
                    }
                    else
                    {
                        prodData.DataRecord.SetXmlProperty(xpath, "True");
                    }
                    prodData.Save();
                    // remove save GetData cache
                    var strCacheKey = prodData.Info.ItemID.ToString("") + prodData.DataRecord.TypeCode + "LANG*" + "*" + editlang;
                    Utils.RemoveCache(strCacheKey);
                    DataCache.ClearCache();

                    return("");
                }
                return("Invalid parentitemid");
            }
            catch (Exception e)
            {
                return(e.ToString());
            }
        }
Example #8
0
 public string DeleteCatXref(HttpContext context)
 {
     try
     {
         var ajaxInfo        = NBrightBuyUtils.GetAjaxInfo(context);
         var catid           = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
         var selectproductid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectproductid");
         if (selectproductid > 0 && catid > 0)
         {
             var prodData = ProductUtils.GetProductData(selectproductid, EditLangCurrent, false);
             prodData.RemoveCategory(catid);
         }
         else
         {
             return("Invalid parentitemid or xrefitemid");
         }
     }
     catch (Exception e)
     {
         return(e.ToString());
     }
     return("");
 }
Example #9
0
        private static void AddToBasket(HttpContext context)
        {
            try
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                var settings = ajaxInfo.ToDictionary();

                if (settings.ContainsKey("productid"))
                {
                    if (!settings.ContainsKey("portalid"))
                    {
                        settings.Add("portalid", PortalSettings.Current.PortalId.ToString(""));                                    // aways make sure we have portalid in settings
                    }
                    var currentcart = new CartData(Convert.ToInt16(settings["portalid"]));
                    currentcart.AddAjaxItem(ajaxInfo, StoreSettings.Current.SettingsInfo, StoreSettings.Current.DebugMode);
                    currentcart.Save(StoreSettings.Current.DebugMode);
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);
            }
        }
Example #10
0
        private string DoSearch(HttpContext context)
        {
            // take all input and created a SQL select with data and save for processing on search list.
            var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context, true);
            var tagList  = new List <string>();
            var nodList  = ajaxInfo.XMLDoc.SelectNodes("genxml/hidden/*");

            foreach (XmlNode nod in nodList)
            {
                tagList.Add(nod.InnerText);
            }
            var navData = new NavigationData(ajaxInfo.PortalId, ajaxInfo.GetXmlProperty("genxml/hidden/modulekey"));

            navData.Build(ajaxInfo.XMLData, tagList);
            navData.Mode       = ajaxInfo.GetXmlProperty("genxml/hidden/navigationmode").ToLower();
            navData.CategoryId = ajaxInfo.GetXmlPropertyInt("genxml/hidden/categoryid");
            if (ajaxInfo.GetXmlProperty("genxml/hidden/pagenumber") != "")
            {
                navData.PageNumber = ajaxInfo.GetXmlProperty("genxml/hidden/pagenumber");
            }
            if (ajaxInfo.GetXmlProperty("genxml/hidden/pagesize") != "")
            {
                navData.PageSize = ajaxInfo.GetXmlProperty("genxml/hidden/pagesize");
            }
            if (ajaxInfo.GetXmlProperty("genxml/hidden/pagename") != "")
            {
                navData.PageName = ajaxInfo.GetXmlProperty("genxml/hidden/pagename");
            }
            if (ajaxInfo.GetXmlProperty("genxml/hidden/pagemoduleid") != "")
            {
                navData.PageModuleId = ajaxInfo.GetXmlProperty("genxml/hidden/pagemoduleid");
            }
            navData.SearchFormData = ajaxInfo.XMLData;
            navData.Save();

            return("OK");
        }
Example #11
0
 public string AddGroupFilter(HttpContext context, string editLangCurrent)
 {
     try
     {
         EditLangCurrent = editLangCurrent;
         var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
         var catid    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
         var groupref = ajaxInfo.GetXmlProperty("genxml/hidden/selectedgroupref");
         if (catid > 0 && groupref != "")
         {
             var grp = _objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "GROUP", groupref);
             if (grp != null)
             {
                 var catData = new CategoryData(catid, EditLangCurrent);
                 catData.AddFilterGroup(grp.ItemID);
             }
         }
     }
     catch (Exception e)
     {
         return(e.ToString());
     }
     return(CategoryGroupFilters(context, EditLangCurrent));
 }
Example #12
0
        public String CopyAllCatXref(HttpContext context, Boolean moverecords = false)
        {
            var strOut = NBrightBuyUtils.GetResxMessage("general_fail");

            try
            {
                var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                var catid    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
                var newcatid = ajaxInfo.GetXmlPropertyInt("genxml/hidden/newcatid");

                if (newcatid > 0 && catid > 0 && catid != newcatid)
                {
                    NBrightBuyUtils.CopyAllCatXref(catid, Convert.ToInt32(newcatid), moverecords);

                    strOut = NBrightBuyUtils.GetResxMessage();
                    DataCache.ClearCache();
                }
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
            return(strOut);
        }
Example #13
0
 public string CatTaxUpdate(HttpContext context, string editLangCurrent)
 {
     try
     {
         EditLangCurrent = editLangCurrent;
         var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
         var catid    = ajaxInfo.GetXmlPropertyInt("genxml/hidden/selectedcatid");
         var taxrate  = ajaxInfo.GetXmlProperty("genxml/hidden/selecttaxrate");
         if (catid > 0)
         {
             var catData = new CategoryData(catid, EditLangCurrent);
             foreach (var cxref in catData.GetAllArticles())
             {
                 var strXml  = "<genxml><models>";
                 var prdData = new ProductData(cxref.ParentItemId, cxref.PortalId, EditLangCurrent);
                 foreach (var mod in prdData.Models)
                 {
                     mod.SetXmlProperty("genxml/dropdownlist/taxrate", taxrate);
                     strXml += mod.XMLData;
                 }
                 strXml += "</models></genxml>";
                 prdData.DataRecord.ReplaceXmlNode(strXml, "genxml/models", "genxml");
                 prdData.Save();
             }
         }
         else
         {
             return("Invalid catid");
         }
     }
     catch (Exception e)
     {
         return(e.ToString());
     }
     return("");
 }
Example #14
0
        public static String GetCategoryProductList(HttpContext context, string editLangCurrent)
        {
            try
            {
                EditLangCurrent = editLangCurrent;
                var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                var objQual  = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier;
                var dbOwner  = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner;

                var strFilter = " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = {Settings:itemid}) ";

                strFilter = Utils.ReplaceSettingTokens(strFilter, ajaxInfo.ToDictionary());

                ajaxInfo.SetXmlProperty("genxml/hidden/filter", strFilter);
                ajaxInfo.SetXmlProperty("genxml/hidden/razortemplate", "Admin_CategoryProducts.cshtml");
                ajaxInfo.SetXmlProperty("genxml/hidden/themefolder", "config");

                return(ProductFunctions.ProductAdminList(context, true, EditLangCurrent, "", true));
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
        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());
            }
        }
Example #16
0
        /// <summary>
        /// This token used the ajax posted context data to render the razor template specified in "carttemplate"
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private String RenderPostData(HttpContext context)
        {
            var ajaxInfo     = NBrightBuyUtils.GetAjaxInfo(context);
            var carttemplate = ajaxInfo.GetXmlProperty("genxml/hidden/carttemplate");
            var theme        = ajaxInfo.GetXmlProperty("genxml/hidden/carttheme");
            var lang         = ajaxInfo.GetXmlProperty("genxml/hidden/lang");
            var controlpath  = ajaxInfo.GetXmlProperty("genxml/hidden/controlpath");

            if (controlpath == "")
            {
                controlpath = "/DesktopModules/NBright/NBrightBuy";
            }
            var razorTempl = "";

            if (carttemplate != "")
            {
                if (lang == "")
                {
                    lang = Utils.GetCurrentCulture();
                }
                razorTempl = NBrightBuyUtils.RazorTemplRender(carttemplate, 0, "", ajaxInfo, controlpath, theme, lang, StoreSettings.Current.Settings());
            }
            return(razorTempl);
        }
Example #17
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("");
        }
Example #18
0
        private static String OrderAdminSave(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckManagerRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                    var itemId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/itemid");
                    if (itemId > 0)
                    {
                        var ordData = new OrderData(itemId);
                        if (ordData != null)
                        {
                            var newStatusOrder = ajaxInfo.GetXmlProperty("genxml/dropdownlist/orderstatus");
                            if (ordData.OrderStatus != newStatusOrder)
                            {
                                ordData.OrderStatus = newStatusOrder;
                            }

                            ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/shippingdate", ajaxInfo.GetXmlProperty("genxml/textbox/shippingdate"), TypeCode.DateTime);
                            ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/trackingcode", ajaxInfo.GetXmlProperty("genxml/textbox/trackingcode"));

                            // do audit notes
                            if (ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes") != "")
                            {
                                ordData.AddAuditMessage(ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes"), "notes", UserController.Instance.GetCurrentUserInfo().Username, "False");
                            }

                            // save relitive path also
                            if (ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist") != "")
                            {
                                var fname = Path.GetFileName(ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist"));

                                var ext = Path.GetExtension(fname);
                                fname = DnnUtils.Encrypt(fname, StoreSettings.Current.Get("adminpin"));
                                foreach (char c in System.IO.Path.GetInvalidFileNameChars())
                                {
                                    fname = fname.Replace(c, '_');
                                }
                                fname = ext + "-" + fname; // add extension to front, so it cannot be servered but we can add to order data.

                                if (File.Exists(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname))
                                {
                                    var newfname = "secure" + Utils.GetUniqueKey();
                                    // save relitive path also
                                    if (File.Exists(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath")))
                                    {
                                        File.Delete(StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    }

                                    File.Copy(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname, StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    File.Delete(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname);

                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilepath", StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilename", newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoiceuploadname", fname);

                                    var ext2     = "";
                                    var extSplit = fname.Split('-');
                                    if (extSplit.Count() > 0)
                                    {
                                        ext2 = extSplit[0];                       // we add the extension to the front of upload for IIS default security in serving file.
                                    }
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefileext", ext2);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilerelpath", StoreSettings.Current.FolderUploads + "/" + newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicedownloadname", "OS" + ordData.OrderNumber + ext2);
                                }
                            }

                            ordData.Save();

                            //Remove cached dashboard template
                            var cachekey = "nbrightbuydashboard*" + PortalSettings.Current.PortalId.ToString();
                            Utils.RemoveCache(cachekey);
                        }
                    }

                    return("");
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Example #19
0
        private static String OrderAdminSave(HttpContext context)
        {
            try
            {
                if (NBrightBuyUtils.CheckManagerRights())
                {
                    var ajaxInfo = NBrightBuyUtils.GetAjaxInfo(context);
                    var itemId   = ajaxInfo.GetXmlPropertyInt("genxml/hidden/itemid");
                    if (itemId > 0)
                    {
                        var ordData = new OrderData(itemId);
                        if (ordData != null)
                        {
                            var newStatusOrder = ajaxInfo.GetXmlProperty("genxml/dropdownlist/orderstatus");
                            if (ordData.OrderStatus != newStatusOrder)
                            {
                                ordData.OrderStatus = newStatusOrder;
                            }

                            ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/shippingdate", ajaxInfo.GetXmlProperty("genxml/textbox/shippingdate"), TypeCode.DateTime);
                            ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/trackingcode", ajaxInfo.GetXmlProperty("genxml/textbox/trackingcode"));

                            // do audit notes
                            if (ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes") != "")
                            {
                                ordData.AddAuditMessage(ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes"), "notes", UserController.Instance.GetCurrentUserInfo().Username, "False");
                            }

                            // save relitive path also
                            if (ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist") != "")
                            {
                                var fname = Path.GetFileName(ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist"));

                                if (File.Exists(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname))
                                {
                                    var newfname = Utils.GetUniqueKey();
                                    // save relitive path also
                                    if (File.Exists(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath")))
                                    {
                                        File.Delete(StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    }

                                    File.Copy(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname, StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    File.Delete(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname);

                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilepath", StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilename", newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoiceuploadname", fname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefileext", Path.GetExtension(fname));
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilerelpath", StoreSettings.Current.FolderUploads + "/" + newfname);
                                    ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicedownloadname", "NBS" + ordData.OrderNumber + Path.GetExtension(fname));
                                }
                            }



                            ordData.Save();
                        }
                    }

                    return("");
                }
                return("");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }