public static Task<List<InstrumentType>> GetInstrumentTypes() { var task = new TaskCompletionSource<List<InstrumentType>>(); var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cee.GetInstrumentTypesCompleted += (s, e) => task.SetResult(e.Result); cee.GetInstrumentTypesAsync(false); return task.Task; }
private void LoadTypes(NodeView expandedNode) { CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); EventHandler<GetInstrumentTypesCompletedEventArgs> fetchCompleted = null; fetchCompleted = (s, eventArgs) => { List<InstrumentType> equipmentTypes = eventArgs.Result; foreach (InstrumentType equipmentType in equipmentTypes) { NodeView child = new NodeView(expandedNode) { Id = equipmentType.Id, Name = equipmentType.Name, Description = equipmentType.Description, Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png", Type = NodeType.InstrumentTypeNode, HasChildren = false, SortField = equipmentType.Ordinal.ToString(), IsActive = equipmentType.IsActive }; expandedNode.Children.Add(child); Utils.HideSpinner(expandedNode); } cmsWebServiceClient.GetInstrumentTypesCompleted -= fetchCompleted; expandedNode.Sort(true); }; cmsWebServiceClient.GetInstrumentTypesCompleted += fetchCompleted; cmsWebServiceClient.GetInstrumentTypesAsync(false); }