コード例 #1
0
 private void _bgGetUpdateDetails_RunWorkerCompleted(
     object sender,
     RunWorkerCompletedEventArgs e)
 {
     try
     {
         if (!(e.Result is JToken result))
         {
             return;
         }
         this.OemUpdateList = new ObservableCollection <AppPlayerUpdateModel>();
         IJEnumerable <JToken> source = result.First <JToken>().Children().Children <JToken>();
         if (source != null && source.Any <JToken>())
         {
             foreach (object obj in (IEnumerable <JToken>)source)
             {
                 this.OemUpdateList.Add(JsonConvert.DeserializeObject <AppPlayerUpdateModel>(obj.ToString(), Utils.GetSerializerSettings()));
             }
         }
         foreach (AppPlayerModel coexistingOem in (Collection <AppPlayerModel>)InstalledOem.CoexistingOemList)
         {
             AppPlayerModel       item = coexistingOem;
             AppPlayerUpdateModel playerUpdateModel = this.OemUpdateList.Where <AppPlayerUpdateModel>((Func <AppPlayerUpdateModel, bool>)(u => u.RequestedOem == item.AppPlayerOem)).FirstOrDefault <AppPlayerUpdateModel>();
             if (playerUpdateModel != null)
             {
                 playerUpdateModel.OemDisplayName = item.AppPlayerOemDisplayName;
             }
         }
         foreach (AppPlayerUpdateModel oemUpdate in (Collection <AppPlayerUpdateModel>) this.OemUpdateList)
         {
             AppPlayerUpdateModel item = oemUpdate;
             if (item.OemDisplayName != null && InstalledOem.InstalledCoexistingOemList.Contains(item.RequestedOem))
             {
                 SimpleIoc.Default.Unregister <EngineUpdateViewModel>(item.OemDisplayName);
                 SimpleIoc.Default.Register <EngineUpdateViewModel>((Func <EngineUpdateViewModel>)(() => new EngineUpdateViewModel(item)), item.OemDisplayName);
                 EngineUpdateViewModel instance = SimpleIoc.Default.GetInstance <EngineUpdateViewModel>(item.OemDisplayName);
                 if (!this.EngineUpdateViewModelList.Contains(instance))
                 {
                     this.EngineUpdateViewModelList.Add(instance);
                 }
             }
         }
         this.RaisePropertyChanged("EngineUpdateViewModelList");
         this.CheckUpdateGridVisibility = false;
         this.HyperLinkTextVisibility   = true;
     }
     catch (Exception ex)
     {
         Logger.Error("Failed to get update details err: {0}", (object)ex.Message);
     }
 }
コード例 #2
0
 public EngineUpdateViewModel(AppPlayerUpdateModel appPlayerUpdateModel)
 {
     this.AppPlayerUpdteModel = appPlayerUpdateModel;
     this.SetBindings();
 }