1: public void BeginRetrieveItems(Action<ObservableCollection<Model.Widget>> FindItemsCompleteCallback, Model.WidgetLocation location)
2: {
3: var proxy = new MyServiceContractClient();
4:
5: proxy.RetrieveWidgetsCompleted += (s, e) => FindWidgetsCompleteCallback(FindWidgetsCompleted(e));
6:
7: RetrieveWidgetsRequest request = new RetrieveWidgetsRequest { location.Id };
8:
9: proxy.RetrieveWidgetsAsync(request);
10: }
11:
12: private ObservableCollection<Model.Widget> FindItemsCompleted(RetrieveWidgetsCompletedEventArgs e)
13: {
14: if (e.Error is FaultException<UnhandledExceptionFault>)
15: {
16: var fault = (FaultException<UnhandledExceptionFault>)e.Error;
17: var faultDetailMessage = fault.Detail.FaultMessage;
18:
19: UIMessageControlDuJour.Show(faultDetailMessage);
20: return new ObservableCollection<BinInventoryItemCountInfo>();
21: }
22:
23: var widgets = new ObservableCollection<Model.Widget>();
24:
25: if (e.Result.Widgets != null)
26: {
27: e.Result.Widgets.ToList().ForEach(w => widgets.Add(this.WidgetMapper.Map(w)));
28: }
29:
30: return widgets;
31: }