private void GetGameObjectsLocales(IEnumerable <MangosTEx.Services.Models.GameObject> gameObjects) { CultureInfo culture = Settings.LocalizationCulture; IDataProvider provider = DataProviderManager.GetSimpleHttpProvider(); Parallel.ForEach(gameObjects, go => { var grabber = new WowheadClient(provider, culture); try { var loc = grabber.GetGameObject(go.Id); UpdateGameObjectLocaleEvent.Invoke(this, new LocaleGameObjectEventArgs(loc)); } catch { } }); UpdateGameObjectLocaleEvent -= OnUpdateGameObjectLocale; }
private void GetLocalesAsync(IEnumerable <LocalizedQuest> items) { CultureInfo culture = Settings.LocalizationCulture; IDataProvider provider = DataProviderManager.GetSimpleHttpProvider(); var grabber = new WowheadClient(provider, culture); Observable.Start(() => Parallel.ForEach(items, item => { try { // update translated item item.TranslatedEntity = grabber.GetQuest(item.DatabaseEntity.Id); } catch (Exception ex) { // if we got an error, keep it to investigate item.Error = ex.Message; } })); }