Exemplo n.º 1
0
        private static void AddCountries(Dictionary <string, CountryParameter> dic, JArray array)
        {
            foreach (var item in array)
            {
                var txt = item["id"].ToString();
                if (txt.StartsWith("Black.Beard.Calendarium."))
                {
                    var ids     = txt.Split('.');
                    var version = item["version"].ToString();
                    var id      = ids[ids.Length - 1];
                    if (dic.TryGetValue(id, out CountryParameter country))
                    {
                        country.OnlineVersion = new Version(version);
                    }

                    else
                    {
                        country = new CountryParameter()
                        {
                            Name          = id,
                            OnlineVersion = new Version(version),
                        }
                    };

                    Helper.Parameters.Countries.Add(country);
                }
            }
        }
Exemplo n.º 2
0
        public static void RefreshConfigCountry(CountryParameter item, DirectoryInfo rootPathTemp)
        {
            Output.WriteLine($"{item.Name} updating in the version {item.OnlineVersion}");

            // Download
            Output.WriteLine($"Download");
            string filename = Path.Combine(rootPathTemp.FullName, string.Format(@"Black.Beard.Calendarium.{0}.zip", item.Name));
            var    task     = BbClientHttp.DownloadAsync(string.Format(@"https://www.nuget.org/api/v2/package/Black.Beard.Calendarium.{0}/{1}", item.Name, item.OnlineVersion), filename);

            task.Wait();


            // Unzip
            Output.WriteLine($"Uncompress");
            var      dir = rootPathTemp.CreateSubdirectory(string.Format(@"Black.Beard.Calendarium.{0}", item.Name));
            FileInfo f   = new FileInfo(filename);

            f.UnzipFromFile(dir.FullName);


            // copy configurations
            Output.WriteLine($"Save");
            DirectoryInfo p      = new DirectoryInfo(Path.Combine(dir.FullName, @"content\Configuration\Countries"));
            var           file   = p.GetFiles("*.json").FirstOrDefault();
            var           target = new FileInfo(Path.Combine(Constants.RootPathConfig.FullName, item.Name) + ".json");

            if (target.Exists)
            {
                target.Delete();
            }
            file.CopyTo(target.FullName);

            item.LocalVersion = item.OnlineVersion;
        }