public ProfileSettings()
 {
     HonorbuddySettings = new HonorbuddySettings();
     WowSettings        = new WowSettings();
     ProfileName        = string.Empty;
     IsEnabled          = true;
 }
Пример #2
0
 public ProfileSettings()
 {
     HonorbuddySettings = new HonorbuddySettings();
     WowSettings = new WowSettings();
     ProfileName = string.Empty;
     IsEnabled = true;
 }
        public ProfileSettings ShadowCopy()
        {
            var settings = (ProfileSettings)MemberwiseClone();

            settings.WowSettings        = WowSettings.ShadowCopy();
            settings.HonorbuddySettings = HonorbuddySettings.ShadowCopy();
            return(settings);
        }
Пример #4
0
 public WowRealmStatusEntry this[string realm, WowSettings.WowRegion region]
 {
     get
     {
         lock (_lockObject)
         {
             return Realms.FirstOrDefault(r =>
                 r.Name.Equals(realm, StringComparison.InvariantCultureIgnoreCase) &&
                 r.Region == region);
         }
     }
 }
Пример #5
0
 private string GetUrlForRegion(WowSettings.WowRegion region)
 {
     switch (region)
     {
         case WowSettings.WowRegion.China:
             return ChinaWowStatusApiBaseUrl;
         case WowSettings.WowRegion.EU:
             return EuWowStatusApiBaseUrl;
         case WowSettings.WowRegion.Korea:
             return KoreaWowStatusApiBaseUrl;
         case WowSettings.WowRegion.Taiwan:
             return TaiwanWowStatusApiBaseUrl;
         case WowSettings.WowRegion.US:
             return USWowStatusApiBaseUrl;
         default:
             return WowStatusApiBaseUrl;
     }
 }
Пример #6
0
 public bool RealmIsOnline(string realm, WowSettings.WowRegion region)
 {
     var status = this[realm, region];
     return status != null && status.IsOnline;
 }
Пример #7
0
 string GetKey(string realm, WowSettings.WowRegion region)
 {
     return string.Format("{0}-{1}", realm.ToUpper(), region);
 }
Пример #8
0
        Task<List<WowRealmStatusEntry>> CreateRealmUpdateTask(WowSettings.WowRegion region, IEnumerable<CharacterProfile> profiles)
        {
            return Task.Factory.StartNew(() =>
            {
                try
                {
                    string url = BuildWowRealmStatusApiUrl(GetUrlForRegion(region), profiles);
                    var request = (HttpWebRequest)WebRequest.Create(url);
                    request.GetResponse();
                    using (WebResponse response = request.GetResponse())
                    {
                        using (Stream stream = response.GetResponseStream())
                        {
                            var serialiser = new DataContractJsonSerializer(typeof(WowRealmStatus));
                            var result = (WowRealmStatus)serialiser.ReadObject(stream);

                            foreach (var realm in result.Realms)
                                realm.Region = region; 
                            return result.Realms;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.Err(ex.ToString());
                    return null;
                }
            });
        }
Пример #9
0
 public void SetSettings(WowSettings settings)
 {
     Settings = settings;
 }