示例#1
0
        /// <summary>
        /// Saves the session configuration.
        /// </summary>
        /// <param name="name">The session configuration name.</param>
        /// <param name="uri">The session configuration uri.</param>
        /// <param name="appData">The session configuration data as a dictionary.</param>
        /// <returns>A <see cref="SessionConfig"/> object set with the saved configuration data.</returns>
        public static SessionConfig Save(string name, string uri, Dictionary <string, string> appData)
        {
            ValidateName(name);
            ValidateUri(uri);

            SessionConfig sessionConfig = new SessionConfig(name, uri);

            appData?.ToList().ForEach(i => sessionConfig.SetAppData(i.Key, i.Value));
            return(Save(sessionConfig));
        }
示例#2
0
 public SessionConfig Save(string name, DbDoc config)
 {
   var data = ReadConfigData(appdataFile);
   SessionConfig sessionConfig = new SessionConfig(name, config["uri"]);
   if (config.values.ContainsKey("appdata"))
   {
     var appdata = config.values["appdata"] as Dictionary<string, object>;
     if (appdata == null)
       throw new FormatException("appdata");
     appdata.ToList().ForEach(i => sessionConfig.SetAppData(i.Key, i.Value.ToString()));
   }
   data.Add(name, config);
   DbDoc json = new DbDoc(data);
   string dir = Directory.GetParent(appdataFile).FullName;
   if(!Directory.Exists(dir))
     Directory.CreateDirectory(dir);
   File.WriteAllText(appdataFile, json.ToString());
   return sessionConfig;
 }
示例#3
0
        /// <summary>
        /// Gets a specific session configuration.
        /// </summary>
        /// <param name="name">The session configuration name.</param>
        /// <returns>The <see cref="SessionConfig"/> that matches the provided session configuration name.</returns>
        public static SessionConfig Get(string name)
        {
            ValidateName(name);

            DbDoc         config = persistenceHandler.Load(name);
            SessionConfig cfg    = new SessionConfig(name, config["uri"]);

            if (config.values.ContainsKey("appdata"))
            {
                Dictionary <string, object> appdata = config.values["appdata"] as Dictionary <string, object>;
                if (appdata != null)
                {
                    foreach (var option in appdata)
                    {
                        cfg.SetAppData(option.Key, option.Value.ToString());
                    }
                }
            }
            return(cfg);
        }