public static Task LoadIssueIssueStatusesCache() { var task = new TaskCompletionSource<bool>(); if (CMS.Cache.IssueStatuses == null) { CMS.Cache.IssueStatuses = new ObservableCollection<IssueStatus>(); var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); DateTime now = DateTime.Now; System.Diagnostics.Debug.WriteLine("LoadIssueIssueStatusesCache First {0}", now.ToString("G")); //IssueStatuses cee.GetIssueStatusesCompleted += (s, e) => { CMS.Cache.IssueStatuses = new ObservableCollection<IssueStatus>(e.Result.OrderBy(x => x.Ordinal)); var elapsed = DateTime.Now - now; System.Diagnostics.Debug.WriteLine("LoadIssueIssueStatusesCache: {0}", elapsed.TotalSeconds); task.SetResult(true); }; cee.GetIssueStatusesAsync(); } else { task.SetResult(true); return task.Task; //Already loaded } return task.Task; }
private void LoadData() { CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetAvailableIssueWorkFlowRulesCompleted += cmsWebServiceClient_GetAvailableIssueWorkFlowRulesCompleted; cmsWebServiceClient.GetAvailableIssueWorkFlowRulesAsync(); cmsWebServiceClient.GetIssueTabControlsCompleted += cmsWebServiceClient_GetIssueTabControlsCompleted; cmsWebServiceClient.GetIssueTabControlsAsync(); cmsWebServiceClient.GetIssueStatusesCompleted += cmsWebServiceClient_GetIssueStatusesCompleted; cmsWebServiceClient.GetIssueStatusesAsync(); }
private void LoadIssueStatuses(NodeView expandedNode) { CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); EventHandler<GetIssueStatusesCompletedEventArgs> fetchCompleted = null; fetchCompleted = (s, eventArgs) => { List<IssueStatus> issueStatuses = eventArgs.Result; foreach (IssueStatus issueStatus in issueStatuses) { NodeView child = new NodeView(expandedNode) { Id = issueStatus.Id, Name = issueStatus.Name, IsActive = issueStatus.IsActive, Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png", Type = NodeType.IssueStatusNode, HasChildren = false, SortField = issueStatus.Ordinal.ToString() }; expandedNode.Children.Add(child); cmsWebServiceClient.GetIssueStatusesCompleted -= fetchCompleted; } expandedNode.Sort(); Utils.HideSpinner(expandedNode); }; cmsWebServiceClient.GetIssueStatusesCompleted += fetchCompleted; cmsWebServiceClient.GetIssueStatusesAsync(); }