public static Task<List<CalibrationEngineeringUnit>> GetCalibrationEngineeringUnits() { var task = new TaskCompletionSource<List<CalibrationEngineeringUnit>>(); var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cee.GetCalibrationEngineeringUnitsCompleted += (s, e) => task.SetResult(e.Result); cee.GetCalibrationEngineeringUnitsAsync(); return task.Task; }
private void LoadCalibrationEngineeringUnits(NodeView expandedNode) { EventHandler<GetCalibrationEngineeringUnitsCompletedEventArgs> fetchCompleted = null; CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); fetchCompleted = (s, eventArgs) => { List<CalibrationEngineeringUnit> engineeringUnits = eventArgs.Result; foreach (CalibrationEngineeringUnit unit in engineeringUnits) { NodeView child = new NodeView(expandedNode) { Id = unit.Id, Name = unit.Name, Description = unit.Description, Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png", Type = NodeType.EngineeeringUnitNode, SortField = unit.Ordinal.ToString(), HasChildren = false }; expandedNode.Children.Add(child); } Utils.HideSpinner(expandedNode); expandedNode.Sort(); cmsWebServiceClient.GetCalibrationEngineeringUnitsCompleted -= fetchCompleted; }; cmsWebServiceClient.GetCalibrationEngineeringUnitsCompleted += fetchCompleted; cmsWebServiceClient.GetCalibrationEngineeringUnitsAsync(); }