AppMetrics.AgentService.Program.SetConfig C# (CSharp) Method

SetConfig() static private method

static private SetConfig ( IEnumerable args ) : void
args IEnumerable
return void
        static void SetConfig(IEnumerable<string> args)
        {
            var argsDic = new Dictionary<string, string>();
            foreach (var arg in args)
            {
                if (arg.StartsWith("-") || arg.StartsWith("/"))
                {
                    var tmp = arg.Substring(1);
                    if (!tmp.Contains(":"))
                    {
                        argsDic.Add(tmp.ToLower(), "");
                    }
                    else
                    {
                        var parts = tmp.Split(':');
                        var value = parts[1];
                        if (parts.Count() > 2)
                        {
                            value = string.Join(":", parts.Skip(1));
                        }

                        argsDic.Add(parts[0].ToLower(), value);
                    }
                }
            }

            if (argsDic.Count == 0)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new ConfigForm());
                return;
            }

            var settings = AppSettings.Load();

            string configServer;
            argsDic.TryGetValue("configserver", out configServer);
            if (!string.IsNullOrEmpty(configServer))
            {
                settings.ConfigBaseUrl = configServer;

                settings.Save();
            }

            string userName;
            argsDic.TryGetValue("username", out userName);

            string password;
            argsDic.TryGetValue("password", out password);

            if (!string.IsNullOrEmpty(userName))
            {
                settings.UserName = userName;
                settings.Password = password;

                settings.Save();
            }

            string nodeName;
            argsDic.TryGetValue("nodename", out nodeName);
            if (!string.IsNullOrEmpty(nodeName))
            {
                settings.NodeName = nodeName;

                settings.Save();
            }

            string metricsServer;
            argsDic.TryGetValue("metricserver", out metricsServer);
            if (!string.IsNullOrEmpty(metricsServer))
            {
                settings.MetricsServerUrl = metricsServer;

                settings.Save();
            }
        }