void listClient_GetListItemsOrgCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if (FetchBusinessAreasCompleteEvent == null) return; BusinessAreaEventArgs args; try { if (e.Error != null) { args = new BusinessAreaEventArgs(e.Error, e.Cancelled, null); } else { args = new BusinessAreaEventArgs(); args.BusinessAreas = new List<DropDownKeyPair>(); XElement xresults = e.Result; XNamespace ns = "#RowsetSchema"; var query = from x in xresults.Descendants() where x.Name == ns + "row" select new DropDownKeyPair { Value = (string)x.Attribute("ows_Title"), Index = (int?)x.Attribute("ows_ID") ?? 0, }; foreach (DropDownKeyPair b in query) { args.BusinessAreas.Add(b); } } } catch (Exception ex) { args = new BusinessAreaEventArgs(ex, true, null); args.BusinessAreas = new List<DropDownKeyPair>(); } Deployment.Current.Dispatcher.BeginInvoke(delegate() { if (e.UserState == null) { FetchBusinessAreasCompleteEvent(this, args); return; } }); }
void Provider_FetchBusinessAreasCompleteEvent(object sender, BusinessAreaEventArgs args) { ViewModel.Current.Provider.FetchBusinessAreasCompleteEvent -= Provider_FetchBusinessAreasCompleteEvent; _businessAreaLookUp.Clear(); _businessAreaLookUp.Add(new DropDownKeyPair() { Index = 0, Value = "-- None --" }); foreach (DropDownKeyPair b in args.BusinessAreas) { _businessAreaLookUp.Add(b); } IsRefreshing = false; }