Пример #1
0
    public static int SavePreset(string TemplateName, string ActiveTheme, string ActiveWidth, List <PresetKeyValue> lstLayouts, int portalID)
    {
        List <KeyValue> lstLyts = new List <KeyValue>();

        foreach (PresetKeyValue kvp in lstLayouts)
        {
            lstLyts.Add(new KeyValue(kvp.Key, kvp.Value));
        }
        PresetInfo PresetObj = new PresetInfo();

        PresetObj.ActiveTheme = ActiveTheme;
        PresetObj.ActiveWidth = ActiveWidth;
        PresetObj.lstLayouts  = lstLyts;
        string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
        string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile;

        presetPath += "/" + "pagepreset.xml";
        int presetstatus = 0;

        try
        {
            PresetHelper.WritePreset(presetPath, PresetObj);
            return(presetstatus);
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + portalID);
            SageFrame.Common.CacheHelper.Clear("PresetList");
        }
    }
Пример #2
0
        /// <summary>
        /// 新規のプリセット情報として保存
        /// </summary>
        /// <param name="presetName"></param>
        /// <returns></returns>
        public async Task SaveNewPresetAsync(string presetName)
        {
            IsBusy = true;
            using (new OnDisposeAction(() => IsBusy = false))
            {
                var id       = Guid.NewGuid().ToString("D");
                var fileName = $"{PresetNameToFileNameRegex.Replace(presetName, "")}_{id}.json";
                var filePath = Path.Combine(UserSettingsService.AppSettings.AppDataPath, fileName);
                try
                {
                    await FileService.WriteAsync(filePath, ConfigJson, UserSettings.MergeUnknownJsonProperty);

                    var preset = new PresetInfo()
                    {
                        Id       = id,
                        Name     = presetName,
                        FileName = fileName,
                    };
                    UserSettings.PresetInfos.Add(preset);

                    CurrentPreset = preset;
                    await UserSettingsService.SaveAsync();

                    ConfigJson.IsChanged = false;
                }
                catch (Exception e) when(e is IOException || e is JsonException)
                {
                    Trace.TraceInformation($"プリセット{presetName}作成失敗。{filePath}:{e.Message}");
                    ErrorOccurred?.Invoke(this, new ConfigJsonErrorEventArgs(ConfigJsonErrorEventArgs.Cause.CreatePresetError, e, filePath));
                }
            }
        }
    public void BindValues()
    {
        PresetInfo preset = GetPresetDetails;

        if (preset.ActiveTheme == string.Empty)
        {
            preset.ActiveTheme = "default";
        }
        ddlThemes.Items.FindByText(preset.ActiveTheme.ToLower()).Selected = true;
        if (preset.ActiveWidth == string.Empty)
        {
            preset.ActiveWidth = "Wide";
        }
        ddlScreen.Items.FindByText(preset.ActiveWidth.ToLower()).Selected = true;
        string          activeLayout = string.Empty;
        string          pageName     = Request.Url.ToString();
        SageFrameConfig sfConfig     = new SageFrameConfig();

        pageName = Path.GetFileNameWithoutExtension(pageName);
        pageName = pageName.ToLower().Equals("default") ? sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) : pageName;
        foreach (KeyValue kvp in preset.lstLayouts)
        {
            string[] arrLayouts = kvp.Value.Split(',');
            if (arrLayouts.Contains(pageName))
            {
                activeLayout = kvp.Key;
            }
        }
        if (activeLayout != null && activeLayout != string.Empty)
        {
            //    ddlLayout.Items.FindByText(string.Format("{0}.ascx", activeLayout.ToLower())).Selected = true;
        }
    }
Пример #4
0
        /// <summary>
        /// Set Active Width of Preset
        /// </summary>
        /// <param name="newwidth">Preset Width</param>
        public void SetActiveWidth(string newwidth)
        {
            PresetInfo preset = GetPresetDetails;

            preset.ActiveWidth = newwidth;
            Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + GetPortalID] = preset;
            PresetHelper.UpdatePreset(preset, TemplateName);
        }
Пример #5
0
        private void IniLoadPresetList()
        {
            //파일이 존재하지 않으면?
            string strPath = System.IO.Directory.GetCurrentDirectory() + "\\presetlist.ini";

            bool bExists = File.Exists(strPath);

#if false
            IniFile ini = new IniFile();

            if (bExists)
            {
                ini.Load(strPath);

                //for (int i = 0; i < this.presetList.Count(); i++)
                int i = 0;
                while (true)
                {
                    string             sectionName = "PRESET_" + i.ToString();
                    IniFile.IniSection section     = ini.GetSection(sectionName);
                    if (section == null)
                    {
                        break;
                    }

                    int    id; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_ID), out id);
                    string name = ini.GetKeyValue(sectionName, PresetInfo.STR_NAME);
                    int    sec; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_SEC), out sec);

                    float x; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_X), out x);
                    float y; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_Y), out y);
                    float zoom; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_ZOOM), out zoom);

                    string group = ini.GetKeyValue(sectionName, PresetInfo.STR_GROUP);

                    float panabs; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_PANABS), out panabs);
                    float tiltabs; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TILTABS), out tiltabs);
                    float panrel; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_PANREL), out panrel);
                    float tiltrel; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TILTREL), out tiltrel);

                    int tardist; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TARDIST), out tardist);

                    string tarlat  = ini.GetKeyValue(sectionName, PresetInfo.STR_TARLAT);
                    string tarlong = ini.GetKeyValue(sectionName, PresetInfo.STR_TARLONG);

                    string pathimg1 = ini.GetKeyValue(sectionName, PresetInfo.STR_PATHIMG1);
                    string pathimg2 = ini.GetKeyValue(sectionName, PresetInfo.STR_PATHIMG2);

                    PresetInfo presetInfo = new PresetInfo(id, name, sec, x, y, zoom, group,
                                                           panabs, tiltabs, panrel, tiltrel, tardist, tarlat, tarlong, pathimg1, pathimg2);
                    presetList.Add(presetInfo);
                    i++;
                }

                printList();
            }
#endif
        }
Пример #6
0
    public static PresetInfo GetPresetDetails(string TemplateName, int PortalID)
    {
        string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);

        presetPath += "/" + "pagepreset.xml";
        PresetInfo objPreset = new PresetInfo();

        try
        {
            objPreset = PresetHelper.LoadPresetDetails(presetPath);
            PageController    objPageController = new PageController();
            List <PageEntity> lstMenu           = objPageController.GetMenuFront(PortalID, false);
            foreach (PageEntity obj in lstMenu)
            {
                obj.ChildCount = lstMenu.Count(
                    delegate(PageEntity objMenu)
                {
                    return(objMenu.ParentID == obj.PageID);
                }
                    );
            }
            List <string>   lstPages  = new List <string>();
            List <KeyValue> lstLayout = new List <KeyValue>();
            foreach (KeyValue kvp in objPreset.lstLayouts)
            {
                string[]      arrPage    = kvp.Value.Split(',');
                List <string> lstNewPage = new List <string>();
                foreach (string page in arrPage)
                {
                    bool exists = lstMenu.Exists(
                        delegate(PageEntity obj)
                    {
                        return(obj.PageName.TrimStart('-') == page);
                    }
                        );
                    if (exists || page.ToLower() == "all")
                    {
                        lstNewPage.Add(page);
                    }
                }
                if (lstNewPage.Count > 0)
                {
                    lstLayout.Add(new KeyValue(kvp.Key, string.Join(",", lstNewPage.ToArray())));
                }
            }
            objPreset.lstLayouts = lstLayout;
            //PresetHelper.WritePreset(presetPath, objPreset);
            return(objPreset);
        }
        catch (Exception)
        {
            throw;
        }
    }
Пример #7
0
            public ModInfo(string xmlPath)
            {
                var xElement = XElement.Load(xmlPath);

                Name      = (string)xElement.Element("name");
                IniName   = (string)xElement.Element("ininame");
                Namespace = (string)xElement.Element("namespace");
                Classname = (string)xElement.Element("classname");
                Invoke    = (string)xElement.Element("invoke");

                if (Namespace != null && Classname != null && Invoke != null)
                {
                    TypeName   = string.Format("{0}.{1}", Namespace, Classname);
                    MethodPath = string.Format("{0}.{1}.{2}", Namespace, Classname, Invoke);
                }

                settings = new List <ModSetting>();
                foreach (var item in xElement.Element("settings").Elements())
                {
                    var setting = new ModSetting();
                    setting.Type    = (string)item.Element("type");
                    setting.Text    = (string)item.Element("text");
                    setting.Setting = (string)item.Element("setting");
                    setting.Int     = (bool?)item.Element("int");
                    setting.Min     = (float?)item.Element("min");
                    setting.Max     = (float?)item.Element("max");
                    settings.Add(setting);
                }

                presets = new List <PresetInfo>();
                var presetElement = xElement.Element("presets");

                if (presetElement != null)
                {
                    foreach (var item in presetElement.Elements())
                    {
                        var preset = new PresetInfo();
                        preset.Name = (string)item.Element("name");

                        preset.PresetSettings = new List <PresetInfo.PresetSetting>();
                        foreach (var item2 in item.Element("values").Elements())
                        {
                            var presetSetting = new PresetInfo.PresetSetting();
                            presetSetting.Setting = (string)item2.Element("setting");
                            presetSetting.Value   = (string)item2.Element("value");
                            preset.PresetSettings.Add(presetSetting);
                        }

                        presets.Add(preset);
                    }
                }
            }
Пример #8
0
        //private Dictionary<string, string> presetList = new Dictionary<string, string>();

        void _messageCore_OnPresetQueryReceived(SIPEndPoint remoteEP, PresetInfo preset)
        {
            foreach (var item in preset.PresetList)
            {
                foreach (var items in item.Items)
                {
                    this.Invoke(new Action(() =>
                    {
                        cbxPreset.Items.Add(items.PresetID);
                    }));
                    //presetList.Add(items.PresetID, items.PresetName);
                }
            }
            //reloadPreset();
        }
Пример #9
0
        public void ConvertTest_NotNull()
        {
            var input = new PresetInfo()
            {
                Name = "Name",
            };
            var target = new PresetNameConverter()
            {
                DefaltName = "Default",
            };

            var result = target.Convert(input, null, null, null);

            Assert.AreEqual("Name", result);
        }
        public PresetInfo LoadActivePagePreset()
        {
            PresetInfo presetInfo = new PresetInfo();

            if (Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID] != null)
            {
                presetInfo = (PresetInfo)Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID];
            }
            else
            {
                presetInfo = PresetHelper.LoadActivePagePreset(activeTemplate, GetPageSEOName(Request.Url.ToString()));
                Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID] = presetInfo;
            }
            return(presetInfo);
        }
Пример #11
0
    public static List <PresetInfo> LoadActivePresets(string TemplateName)
    {
        string            presetPath       = Decide.IsTemplateDefault(TemplateName) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
        List <PresetInfo> lstActivePresets = new List <PresetInfo>();
        string            pagepreset       = presetPath + "/" + TemplateConstants.PagePresetFile;

        if (File.Exists(pagepreset))
        {
            lstActivePresets = PresetHelper.ParsePreset(pagepreset, "pagepresets/page");
        }
        else
        {
            lstActivePresets.Add(PresetInfo.GetPresetPages("default", "*"));
        }
        return(lstActivePresets);
    }
Пример #12
0
        private static bool TryParsePreset(string[] elements, out PresetInfo info)
        {
            info = new PresetInfo();

            for (var i = 0; i < Master.N; i++)
            {
                var e = elements[i];

                /* Each element should either be an integer representing a Y-coordinate
                 * or a skip sign indicating a missing queen. */

                if (int.TryParse(e, out var y))
                {
                    // A Y-coordinate must not exceed the range.

                    if (y >= 0 && y < Master.N)
                    {
                        info.Y_Coordinates[i] = y;
                        // As soon as we find a valid coordinate, the set can't be empty:
                        info.IsEmpty = false;
                    }
                    else
                    {
                        Events.OnVariableOutOfRange($"Element {i} ({y})", 0, Master.N - 1);
                        return(false);
                    }
                }
                else if (e == SkipSign)
                {
                    info.Y_Coordinates[i] = -1;
                    // If there's at least 1 skip sign then the set is definitely not full:
                    info.IsFull = false;
                }
                else
                {
                    Events.OnPresetElementUnrecognized(i, e);
                    return(false);
                }
            }
            return(true);
        }
Пример #13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        userName     = GetUsername;
        userModuleID = int.Parse(SageUserModuleID);
        extenstion   = SageFrameSettingKeys.PageExtension;
        IncludeJs("frontpagination", false, "/js/jquery.pagination.js");
        IncludeJs("Forntenddialogjs", "/js/jquery.dialogextend.js");
        IncludeJs("frontEndJs", "/Modules/Admin/InPageEditing/js/FrontEnd.js");
        IncludeCss("FrontEndWidget", "/Modules/Admin/InPageEditing/css/module.css");
        portalID = GetPortalID;
        BindTopStickybar();
        if (!IsPostBack)
        {
            BindPages();
            BindLayout();
            BindVariables();
            BuildLayoutControl();
            BindModuleControls();
            BindModuleList();
            BindDuckableValue();
        }
        PresetInfo preset = GetPresetDetails;

        activteWidth = preset.ActiveWidth.ToLower();

        SageFrame.Version.SageFrameVersion app = new SageFrame.Version.SageFrameVersion();
        string value = SageFrame.Utilities.Config.GetVersionConfigSettingValue("SageFrameVersionLoad");

        if (!IsPostBack)
        {
            if (value.ToLower() == "true")
            {
                showVersion();
            }
            else
            {
                hideVersion();
            }
        }
    }
Пример #14
0
    private void BindVariables()
    {
        string referrerurl = string.Empty;

        if (Request.QueryString["pname"] != null)
        {
            pageSEOName = Request.QueryString["pname"].ToString();
            foreach (ListItem l in ddlPages.Items)
            {
                if (l.Value.Replace("-", " ").Trim() == pageSEOName.Replace("-", " "))
                {
                    ddlPages.SelectedValue = l.Value;
                    break;
                }
            }
        }
        PresetInfo preset = new PresetInfo();

        preset = PresetHelper.LoadActivePagePreset(TemplateName, pageSEOName);
        ddlLayout.SelectedValue = preset.ActiveLayout;
        layoutName = ddlLayout.SelectedValue;
    }
Пример #15
0
    protected void btnApply_Click(object sender, EventArgs e)
    {
        HttpRuntime.Cache.Remove(CacheKeys.SageFrameJs);
        HttpRuntime.Cache.Remove(CacheKeys.SageFrameCss);
        string optimized_path = Server.MapPath(SageFrameConstants.OptimizedResourcePath);

        IOHelper.DeleteDirectoryFiles(optimized_path, ".js,.css");
        if (File.Exists(Server.MapPath(SageFrameConstants.OptimizedCssMap)))
        {
            XmlHelper.DeleteNodes(Server.MapPath(SageFrameConstants.OptimizedCssMap), "resourcemaps/resourcemap");
        }
        if (File.Exists(Server.MapPath(SageFrameConstants.OptimizedJsMap)))
        {
            XmlHelper.DeleteNodes(Server.MapPath(SageFrameConstants.OptimizedJsMap), "resourcemap/resourcemap");
        }
        PresetInfo preset = new PresetInfo();

        preset = PresetHelper.LoadActivePagePreset(TemplateName, GetPageSEOName(Request.Url.ToString()));
        if (ddlScreen.SelectedItem.ToString() != string.Empty)
        {
            preset.ActiveWidth = ddlScreen.SelectedItem.ToString();
        }
        if (ddlThemes.SelectedItem != null && ddlThemes.SelectedItem.ToString() != string.Empty)
        {
            preset.ActiveTheme = ddlThemes.SelectedItem.ToString();
        }
        if (ddlLayout.SelectedItem != null && ddlLayout.SelectedItem.ToString() != string.Empty)
        {
            preset.ActiveLayout = Path.GetFileNameWithoutExtension(ddlLayout.SelectedItem.ToString());
        }
        List <KeyValue> lstLayouts = preset.lstLayouts;
        string          pageName   = Request.Url.ToString();
        SageFrameConfig sfConfig   = new SageFrameConfig();

        pageName = Path.GetFileNameWithoutExtension(pageName);
        pageName = pageName.ToLower().Equals("default") ? sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) : pageName;
        bool          isNewLayout     = false;
        int           oldPageCount    = 0;
        bool          isNewPage       = false;
        bool          deleteRepeat    = false;
        bool          duplicateLayout = false;
        List <string> pageList        = new List <string>();

        foreach (KeyValue kvp in lstLayouts)
        {
            if (kvp.Key == preset.ActiveLayout)
            {
                duplicateLayout = true;
            }
            string[] pages = kvp.Value.Split(',');
            pageList.Add(string.Join(",", pages));
            if (pages.Count() == 1 && pages.Contains(pageName)) // for single pagename and if page = currentpageName
            {
                kvp.Key = preset.ActiveLayout;
            }
            else if (pages.Count() > 1 && pages.Contains(pageName)) // for multiple pagename and if page = currentpageName
            {
                isNewLayout = true;                                 //its because we have to insert another layout
                List <string> lstnewpage = new List <string>();
                foreach (string page in pages)
                {
                    if (page.ToLower() != pageName.ToLower())
                    {
                        lstnewpage.Add(page);
                    }
                }
                kvp.Value = string.Join(",", lstnewpage.ToArray());
                pageList.Add(kvp.Value);
            }
            else
            {
                oldPageCount++;
            }
            if (kvp.Value == "All" && kvp.Key == preset.ActiveLayout)
            {
                deleteRepeat = true;
            }
        }
        if (lstLayouts.Count == oldPageCount)
        {
            isNewPage = true;
        }
        List <KeyValue> lstNewLayouts = new List <KeyValue>();

        if (isNewPage)
        {
            bool isAppended = false;
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key == preset.ActiveLayout)
                {
                    if (kvp.Value.ToLower() != "all")
                    {
                        kvp.Value += "," + pageName;
                    }
                    isAppended = true;
                }
                lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
            }
            if (!isAppended)
            {
                lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName));
            }
            lstLayouts = lstNewLayouts;
        }
        else if (isNewLayout)
        {
            bool isAppended = false;
            bool isAll      = false;
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key == preset.ActiveLayout)
                {
                    if (kvp.Value.ToLower() != "all")
                    {
                        kvp.Value += "," + pageName;
                        isAll      = true;
                    }
                    isAppended = true;
                }
                lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
            }
            if (!isAppended && !isAll)
            {
                lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName));
            }
            lstLayouts = lstNewLayouts;
        }
        else if (deleteRepeat)
        {
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Value.ToLower() != pageName.ToLower())
                {
                    lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
                }
            }
            lstLayouts = lstNewLayouts;
        }
        else if (duplicateLayout)
        {
            string        key   = preset.ActiveLayout;
            List <string> pages = new List <string>();
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key.ToLower() != preset.ActiveLayout.ToLower())
                {
                    lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
                }
                else
                {
                    pages.Add(kvp.Value);
                }
            }
            lstNewLayouts.Add(new KeyValue(key, string.Join(",", pages.ToArray())));
            lstLayouts = lstNewLayouts;
        }
        preset.lstLayouts = lstLayouts;
        string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
        string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile;

        presetPath += "/" + "pagepreset.xml";
        AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + GetPortalID);
        PresetHelper.WritePreset(presetPath, preset);
        SageFrame.Common.CacheHelper.Clear("PresetList");
        Response.Redirect(Request.Url.OriginalString);
    }
Пример #16
0
    protected void ddlLayout_SelectedIndexChanged(object sender, EventArgs e)
    {
        PresetInfo preset   = new PresetInfo();
        string     pageName = ddlPages.SelectedValue;

        pageName = Regex.Replace(pageName, "--+", "");
        preset   = PresetHelper.LoadActivePagePreset(TemplateName, GetPageSEOName(Request.Url.ToString()));
        List <KeyValue> lstLayouts = preset.lstLayouts;

        preset.ActiveLayout = ddlLayout.SelectedValue;
        bool          isNewLayout     = false;
        int           oldPageCount    = 0;
        bool          isNewPage       = false;
        bool          deleteRepeat    = false;
        bool          duplicateLayout = false;
        List <string> pageList        = new List <string>();

        foreach (KeyValue kvp in lstLayouts)
        {
            if (kvp.Key == preset.ActiveLayout)
            {
                duplicateLayout = true;
            }
            string[] pages = kvp.Value.Split(',');
            pageList.Add(string.Join(",", pages));
            if (pages.Count() == 1 && pages.Contains(pageName)) // for single pagename and if page = currentpageName
            {
                kvp.Key = preset.ActiveLayout;
            }
            else if (pages.Count() > 1 && pages.Contains(pageName)) // for multiple pagename and if page = currentpageName
            {
                isNewLayout = true;                                 //its because we have to insert another layout
                List <string> lstnewpage = new List <string>();
                foreach (string page in pages)
                {
                    if (page.ToLower() != pageName.ToLower())
                    {
                        lstnewpage.Add(page);
                    }
                }
                kvp.Value = string.Join(",", lstnewpage.ToArray());
                pageList.Add(kvp.Value);
            }
            else
            {
                oldPageCount++;
            }
            if (kvp.Value == "All" && kvp.Key == preset.ActiveLayout)
            {
                deleteRepeat = true;
            }
        }
        if (lstLayouts.Count == oldPageCount)
        {
            isNewPage = true;
        }
        List <KeyValue> lstNewLayouts = new List <KeyValue>();

        if (isNewPage)
        {
            bool isAppended = false;
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key == preset.ActiveLayout)
                {
                    if (kvp.Value.ToLower() != "all")
                    {
                        kvp.Value += "," + pageName;
                    }
                    isAppended = true;
                }
                lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
            }
            if (!isAppended)
            {
                lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName));
            }
            lstLayouts = lstNewLayouts;
        }
        else if (isNewLayout)
        {
            bool isAppended = false;
            bool isAll      = false;
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key == preset.ActiveLayout)
                {
                    if (kvp.Value.ToLower() != "all")
                    {
                        kvp.Value += "," + pageName;
                        isAll      = true;
                    }
                    isAppended = true;
                }
                lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
            }
            if (!isAppended && !isAll)
            {
                lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName));
            }
            lstLayouts = lstNewLayouts;
        }
        else if (deleteRepeat)
        {
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Value.ToLower() != pageName.ToLower())
                {
                    lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
                }
            }
            lstLayouts = lstNewLayouts;
        }
        else if (duplicateLayout)
        {
            string        key   = preset.ActiveLayout;
            List <string> pages = new List <string>();
            foreach (KeyValue kvp in lstLayouts)
            {
                if (kvp.Key.ToLower() != preset.ActiveLayout.ToLower())
                {
                    lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value));
                }
                else
                {
                    pages.Add(kvp.Value);
                }
            }
            lstNewLayouts.Add(new KeyValue(key, string.Join(",", pages.ToArray())));
            lstLayouts = lstNewLayouts;
        }
        preset.lstLayouts = lstLayouts;
        string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
        string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile;

        presetPath += "/" + "pagepreset.xml";
        AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + GetPortalID);
        PresetHelper.WritePreset(presetPath, preset);
        HttpRuntime.Cache.Remove(CacheKeys.SageFrameJs);
        HttpRuntime.Cache.Remove(CacheKeys.SageFrameCss);
        SageFrame.Common.CacheHelper.Clear("PresetList");
        pageSEOName = ddlPages.SelectedValue.TrimStart('-');
        layoutName  = ddlLayout.SelectedValue;
        //BuildLayoutControl();
        //BindModuleControls();
        string redirectUrl = BuidRedirectURL(pageSEOName);

        Response.Redirect(redirectUrl);
    }
Пример #17
0
        /// <summary>
        /// Message消息处理
        /// </summary>
        /// <param name="localEP">本地终结点</param>
        /// <param name="remoteEP">远程终结点</param>
        /// <param name="request">sip请求</param>
        private void MessageHandle(SIPEndPoint localEP, SIPEndPoint remoteEP, SIPRequest request)
        {
            SendResponse(localEP, remoteEP, request);

            //心跳消息
            KeepAlive keepAlive = KeepAlive.Instance.Read(request.Body);

            if (keepAlive != null && keepAlive.CmdType == CommandType.Keepalive)
            {
                KeepaliveHandle(localEP, remoteEP, request, keepAlive);
                return;
            }


            //设备目录
            Catalog catalog = Catalog.Instance.Read(request.Body);

            if (catalog != null && catalog.CmdType == CommandType.Catalog)
            {
                CatalogHandle(localEP, remoteEP, request, catalog);
                return;
            }

            //录像查询
            RecordInfo record = RecordInfo.Instance.Read(request.Body);

            if (record != null && record.CmdType == CommandType.RecordInfo)
            {
                RecordInfoHandle(localEP, remoteEP, request, record);
                return;
            }

            //媒体通知
            MediaStatus mediaStatus = MediaStatus.Instance.Read(request.Body);

            if (mediaStatus != null && mediaStatus.CmdType == CommandType.MediaStatus)
            {
                _nodeMonitorService[request.Header.From.FromURI.User].ByeVideoReq();
                //取值121表示历史媒体文件发送结束(回放结束/下载结束)
                //NotifyType未找到相关文档标明所有该类型值,暂时只处理121
                if (mediaStatus.NotifyType.Equals("121"))
                {
                    OnMediaStatusReceived?.Invoke(remoteEP, mediaStatus);
                }
                return;
            }

            //设备状态查询
            DeviceStatus deviceStatus = DeviceStatus.Instance.Read(request.Body);

            if (deviceStatus != null && deviceStatus.CmdType == CommandType.DeviceStatus)
            {
                OnDeviceStatusReceived?.Invoke(remoteEP, deviceStatus);
                return;
            }

            //设备信息查询
            DeviceInfo deviceInfo = DeviceInfo.Instance.Read(request.Body);

            if (deviceInfo != null && deviceInfo.CmdType == CommandType.DeviceInfo)
            {
                OnDeviceInfoReceived?.Invoke(remoteEP, deviceInfo);
                return;
            }

            //设备配置查询
            DeviceConfigDownload devDownload = DeviceConfigDownload.Instance.Read(request.Body);

            if (devDownload != null && devDownload.CmdType == CommandType.ConfigDownload)
            {
                OnDeviceConfigDownloadReceived?.Invoke(remoteEP, devDownload);
            }

            //预置位查询
            PresetInfo preset = PresetInfo.Instance.Read(request.Body);

            if (preset != null && preset.CmdType == CommandType.PresetQuery)
            {
                OnPresetQueryReceived?.Invoke(remoteEP, preset);
            }

            //报警通知
            Alarm alarm = Alarm.Instance.Read(request.Body);

            if (alarm != null && alarm.CmdType == CommandType.Alarm)//单兵上报经纬度
            {
                OnAlarmReceived?.Invoke(alarm);
            }
        }
Пример #18
0
 internal void OnPresetQueryReceived(SIPEndPoint arg1, PresetInfo arg2)
 {
     throw new NotImplementedException();
 }
Пример #19
0
        private static void CreatePresetPopupMenu(MonoBehaviour owner, ClothParams clothParam)
        {
            // コンポーネントにより検索するプリセット名を変更する
            string presetTypeName = GetComponentTypeName(owner);

            if (string.IsNullOrEmpty(presetTypeName))
            {
                return;
            }

            var guidArray = AssetDatabase.FindAssets($"{presetTypeName} t:" + nameof(TextAsset));

            if (guidArray == null)
            {
                return;
            }

            Dictionary <string, List <PresetInfo> > dict = new Dictionary <string, List <PresetInfo> >();

            foreach (var guid in guidArray)
            {
                var filePath = AssetDatabase.GUIDToAssetPath(guid);

                // json確認
                if (filePath.EndsWith(".json") == false)
                {
                    continue;
                }

                var text = AssetDatabase.LoadAssetAtPath <TextAsset>(filePath);
                if (text)
                {
                    var info = new PresetInfo();
                    info.presetPath = filePath;
                    var fname = Path.GetFileNameWithoutExtension(filePath);
                    fname = fname.Replace(presetTypeName, "");
                    if (fname.StartsWith("_"))
                    {
                        fname = fname.Remove(0, 1); // 頭の_は削除する
                    }
                    info.presetName = fname;
                    info.text       = text;

                    // ディレクトリごとに記録する
                    var dirName = Path.GetDirectoryName(filePath);
                    if (dict.ContainsKey(dirName) == false)
                    {
                        dict.Add(dirName, new List <PresetInfo>());
                    }
                    dict[dirName].Add(info);
                }
            }

            // ポップアップメニューの作成
            // ディレクトリごとにセパレータで分けて表示する
            var menu = new GenericMenu();
            int line = 0;

            foreach (var kv in dict)
            {
                if (line > 0)
                {
                    menu.AddSeparator("");
                }
                foreach (var info in kv.Value)
                {
                    var textAsset  = info.text;
                    var presetName = info.presetName;
                    var presetPath = info.presetPath;
                    menu.AddItem(new GUIContent(presetName), false, () =>
                    {
                        var json = textAsset.text;
                        //Debug.Log(json);

                        // load
                        Debug.Log("Load preset file:" + presetPath);
                        LoadClothParam(owner, clothParam, json);
                        Debug.Log("Complete.");
                    });
                }
                line++;
            }
            menu.ShowAsContext();
        }