public static List<TaskItem> ConvertTasksFromOMD(BCheck.Data.BCheckOMDQuery.ArrayOfRow rows) { List<TaskItem> items = new List<TaskItem>(); foreach (BCheck.Data.BCheckOMDQuery.Row row in rows) { items.Add(ConvertTaskFromOMD(row)); } return items; }
public static TaskItem ConvertTaskFromOMD(BCheck.Data.BCheckOMDVQuery.Row row) { TaskItem item = new TaskItem(); item.AlertTime = row.Alert_Time; item.AssignedTo = row.Assign_To; item.AttachmentUrl = row.Attachments; item.Comments = row.Comments; item.Complete = row.Completed_Y_N_ == "Y"; item.CreatedLocal = Convert.ToDateTime(row.Create_Date_Local); item.CreatedUtc = Convert.ToDateTime(row.Created_UTC); item.DueTime = row.Due_Time; item.EscalationTime = row.Escalation_Level_1_Time; item.ID = (int)row.Task_ID; item.Kri = row.KPI; item.LinkToProcess = row.Link_To_Process; item.ManagementSignOff = row.Management_Sign_Off; item.Manager = row.Manager; item.Modified = TaskItem.GetModifiedTimeAsPerCurrentRegion(Convert.ToDateTime((DateTime)row.Modified)).ToString(); item.ModifiedBy = row.Modified_By; item.Status = row.Status; item.TaskDescription = ParseDescription(row.High_Level_Description); item.TaskName = row.Task_Name; item.Version = (int)row.Version; item.ID1 = row.Unique_ID; item.BusinessArea = row.Business_Area; item.Functional = row.Functional; item.Frequency = row.Frequency; item.SpecificFrequency = row.Specific_Frequency; item.RandomFrequency = row.Random_Frequency; item.KeyControl = row.Key_Control; item.MatrixDefinition = row.Matrix_Definition; item.Locations = row.Locations; item.HolidayCalendar = row.Holiday_Calendar; item.AssetCategory = row.Asset_Category; item.ManagingDirector = row.Managing_Director; item.Director = row.Director; if (row.Regional_Offset == null) //Mar 11 fix, item.RegionalOffset = 0; else item.RegionalOffset = (double)row.Regional_Offset; item.CreatedDateLocal = Convert.ToDateTime(row.Create_Date_Local); item.DueTimeUtc = Convert.ToDateTime(row.Due_Time_UTC); item.Checklist = row.Checklist; string pattern = @"<(.|\n)*?>"; string stripped = Regex.Replace(item.TaskDescription, pattern, string.Empty); stripped = HttpUtility.HtmlDecode(stripped); item.TaskDescription = stripped; return item; }
public static TaskItem ConvertTaskFromOMD(BCheck.Data.BCheckOMDQuery.Row row) { TaskItem item = new TaskItem(); item.AlertTime = row.Alert_Time; item.AssignedTo = row.Assign_To; item.AttachmentUrl = attachmentConverter(row.Attachments); item.Comments = row.Comments; item.Complete = row.Completed_Y_N_ == "Y"; item.CreatedLocal = Convert.ToDateTime(row.Create_Date_Local); item.CreatedUtc = Convert.ToDateTime(row.Created_UTC); item.DueTime = row.Due_Time; item.EscalationTime = row.Escalation_Level_1_Time; item.ID = (int)row.Task_ID; item.Kri = row.KPI; item.LinkToProcess = row.Link_To_Process; item.ManagementSignOff = row.Management_Sign_Off; item.Manager = row.Manager; item.Modified = row.Modified.ToString(); item.ModifiedBy = row.Modified_By; item.Status = row.Status; item.TaskDescription = ParseDescription(row.High_Level_Description); item.TaskName = row.Task_Name; item.Version = (int)row.Version; return item; }
void GetUserInfoCompletedHandler(object sender, BCheck.Data.BCheckUserGroups.GetUserInfoCompletedEventArgs e) { if (e.Error != null) { this.Status.AddToLog("Error fetching, SharePoint id", true); this.Status.AddToLog(e.Error.ToString(), true); return; } if (e.Cancelled == true) { return; } XElement xResult = e.Result; XElement el = e.Result; XNamespace ns = "http://schemas.microsoft.com/sharepoint/soap/directory/"; var queryUserElement = from x in el.Descendants() where x.Name == ns + "User" select new { ID = (string)x.Attribute("ID") }; if (queryUserElement.Count() == 0) throw new Exception("User information for current user could not be retrieved. Please refresh the page by pressing CTRL+F5"); string strID = queryUserElement.First().ID; int iID; if (Int32.TryParse(strID, out iID) == false) throw new Exception("User information for current user could not be retrieved. Please refresh the page by pressing CTRL+F5"); this.WssUserId = iID; this.Status.AddToLog(string.Format("WSS User ID:{0}", this.WssUserId), false); //this.RegionalSettings.Refresh();//May 8, please do this from ViewModel, so that it is in right sequence of all initializations }
void wssGroups_GetGroupCollectionFromUserCompleted(object sender, BCheck.Data.BCheckUserGroups.GetGroupCollectionFromUserCompletedEventArgs e) { if (e.Error == null) { XElement el = e.Result; XNamespace ns = "http://schemas.microsoft.com/sharepoint/soap/directory/"; var queryGroups = from x in el.Descendants() where x.Name == ns + "Group" select new { GroupName = (string)x.Attribute("Name") }; this.Status.AddToLog("Found group membership", false); foreach (var grp in queryGroups) { this.MemberOfGroups.Add(grp.GroupName); this.Status.AddToLog(grp.GroupName, false); } GetCurrentUserInfo(); //April 15, 2011. Do away with dependence on JS variable _spuserId } else { this.Status.AddToLog("error obtaining group membership information", true); this.Status.AddToLog(e.Error.ToString(), true); } }
void taskAlertsClientAssignedTasks_GetListItemsCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if (FetchTasksCompleteEvent == null) return; TaskAlertsFetchCompletedEventArgs args; try { if (e.Error != null) { args = new TaskAlertsFetchCompletedEventArgs(e.Error, e.Cancelled, null); } else { args = new TaskAlertsFetchCompletedEventArgs(); args.HasAssignedTasks = true; args.HasManagedTasks = false; args.AssignedTasks = new List<TaskItem>(); args.ManagedTasks = new List<TaskItem>(); IEnumerable<TaskItem> query = XmlToAlertObjects(e.Result); foreach (TaskItem t in query) { args.AssignedTasks.Add(t.Clone()); } } } catch (Exception ex) { args = new TaskAlertsFetchCompletedEventArgs(ex, true, null); args.AssignedTasks = new List<TaskItem>();//return an empty collection nevertheless } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchTaskAlertsCompleteEvent(this, args); }); }
void listClient_GetListItemsCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if (FetchTasksCompleteEvent == null) return; TaskFetchCompletedEventArgs args; try { if (e.Error != null) { args = new TaskFetchCompletedEventArgs(e.Error, e.Cancelled, null); } else { args = new TaskFetchCompletedEventArgs(); args.Tasks = new List<TaskItem>(); XElement xresults = e.Result; XNamespace ns = "#RowsetSchema"; var query = from x in xresults.Descendants() where x.Name == ns + "row" select new TaskItem { TaskName = (string)x.Attribute("ows_Title"), ID = (int?)x.Attribute("ows_ID") ?? 0, Version = (int?)x.Attribute("ows_owshiddenversion") ?? 1, TaskDescription = (string)x.Attribute("ows_High_x0020_Level_x0020_Descripti"), AssignedTo = (string)x.Attribute("ows_Assign_x0020_to"), Status = (string)x.Attribute("ows_Status"), DueTime = (string)x.Attribute("ows_Due_x0020_Time"), ManagementSignOff = (string)x.Attribute("ows_Management_x0020_Signoff"), Kri = (string)x.Attribute("ows_KPI"), Comments = (string)x.Attribute("ows_Comments"), CreatedUtc = (DateTime)x.Attribute("ows_Created"), AttachmentUrl = (string)x.Attribute("ows_Attachments"), KriDefinition = (string)x.Attribute("ows_Matrix_x0020_Definition"), AlertTime = (string)x.Attribute("ows_Alert_x0020_Time"), EscalationTime = (string)x.Attribute("ows_Escalation_x0020_Level_x0020_1_x"), LinkToProcess = (string)x.Attribute("ows_Link_x0020_to_x0020_Process"), Manager = (string)x.Attribute("ows_Manager"), CreatedLocal = TaskItem.GetCreatedTimeAsPerCurrentRegion((DateTime)x.Attribute("ows_Created")), Functional = (string)x.Attribute("ows_Functional"), BypassApproval = (string)x.Attribute("ows_BypassManagerApproval"), ManagerSelfApproval = (string)x.Attribute("ows_ManagerSelfApproval"), TaskOwner = (string)x.Attribute("ows_TaskOwner"), TimeForCompletion = (string)x.Attribute("ows_Time_x0020_Taken"), LateIncompleteReason = (string)x.Attribute("ows_LateIncompleteReason"), SystemOutrage = (string)x.Attribute("ows_SystemOutrage"), CompletedBy = (string)x.Attribute("ows_Completed_x0020_By") }; //Status = x.Attribute("ows_Status").Value, //ManagementSignOff = x.Attribute("Management_x0020_Signoff").Value //select (string)c.Element("Name"); /* loop through all the XML entries and construct a TaskItem object here */ foreach (TaskItem t in query) { t.CompletedBy = RegexMatchOrNull(t.CompletedBy); t.SetInitializationComplete(); args.Tasks.Add(t); } } } catch (Exception ex) { args = new TaskFetchCompletedEventArgs(ex, true, null); args.Tasks = new List<TaskItem>();//return an empty collection nevertheless } Deployment.Current.Dispatcher.BeginInvoke(delegate() { if (e.UserState == null) { FetchTasksCompleteEvent(this, args); return; } if (e.UserState.Equals(IIsAction.QUERYSINGLE))//May10,when a single Task is udpated , fire back a different event. You do not want the complete UI to refresh { TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null); evargs.UpdatedTasks = args.Tasks; TaskUpdateCompleteEvent(this, evargs); return; } }); }
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 peopleSearchClient_SearchPrincipalsCompleted( object sender, BCheck.Data.BCheckPeople.SearchPrincipalsCompletedEventArgs e) { UserInfoFetchCompleteEventArgs args; if (FetchUserInfoCompleteEvent == null) return; args = new UserInfoFetchCompleteEventArgs(e.Error, e.Cancelled, e.UserState); args.UserInfoCollection = new List<UserInfo>(); args.HasListOfUsers = false; if ((e.Cancelled == true) || (e.Error != null)) { } else { foreach (BCheck.Data.BCheckPeople.PrincipalInfo p in e.Result) { UserInfo u = new UserInfo { AccountName = p.AccountName, Title = p.Title, Department = p.Department, DisplayName = p.DisplayName, Email = p.Email, UserID = p.UserInfoID }; args.UserInfoCollection.Add(u); } args.HasListOfUsers = true; } Deployment.Current.Dispatcher.BeginInvoke(delegate() { System.Diagnostics.Debug.Assert(FetchUserInfoCompleteEvent != null); FetchUserInfoCompleteEvent(this, args); }); }
void customSrvClient_GetMySettingsCompleted(object sender, BCheck.Data.BCheckCustomServices.GetMySettingsCompletedEventArgs e) { if (this.FetchRegionalSettingsCompleteEvent == null) return; RegionalSettingsFetchCompleteEventArgs args = null; while (true) { if (e.Cancelled == true) { args = new RegionalSettingsFetchCompleteEventArgs(null, true, e.UserState); break; } if (e.Error != null) { args = new RegionalSettingsFetchCompleteEventArgs(e.Error, true, e.UserState); break; } args = new RegionalSettingsFetchCompleteEventArgs(); if (e.Result.UserTimeZone != null) args.UserTimeZone = new TimeZoneSetting { OffsetFromUtc = e.Result.UserTimeZone.OffsetFromUtc, TimeZoneName = e.Result.UserTimeZone.RegionDescription }; if (e.Result.SiteTimeZone != null) args.WebTimeZone = new TimeZoneSetting { OffsetFromUtc = e.Result.SiteTimeZone.OffsetFromUtc, TimeZoneName = e.Result.SiteTimeZone.RegionDescription }; break; } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchRegionalSettingsCompleteEvent(this, args); }); }
/// <summary> /// Callback handler when a Task has been updated. /// Rationale: needed a place holder from where another query could be issued to fetch the updated Task item. /// Important to re-issue web service to fetch the Task, rather than rely on the XML fragment returned after UpdateListItem /// because of UTC options /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void UpdateSingleTaskItemCompletedHandler( object sender, BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs e) { if ((e.Cancelled) || (e.Error != null)) { TaskItemUpdateCompleteEventArgs args = new TaskItemUpdateCompleteEventArgs(e.Error, e.Cancelled, null); Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, args); }); return; } /* * loop throuhg the returned XML * find out if there were any errors * Issue another web service query to fetch complete data for the TaskItem that has got updated */ XElement xresults = e.Result; XNamespace nsRow = "#RowsetSchema"; XNamespace nsResults = "http://schemas.microsoft.com/sharepoint/soap/"; var query = from x in xresults.Descendants() where x.Name == nsResults + "Result" select x; List<int> updatedtaskIDs = new List<int>(); List<string> errorcodes = new List<string>(); List<int> erroredtaskIDs = new List<int>(); foreach (XElement result in query) { XElement error = result.Element(nsResults + "ErrorCode"); string errorCode = error.Value; if (errorCode.Equals("0x00000000")) { XElement row = result.Element(nsRow + "row"); int taskid = (int?)row.Attribute("ows_ID") ?? 0; updatedtaskIDs.Add(taskid); } else { //get the ErrorText element XElement errorTxt = result.Element(nsResults + "ErrorText"); if (errorTxt != null) errorcodes.Add(errorTxt.Value); } } IEnumerable<TaskItem> updatedTasks = XmlToTaskObjects(xresults); foreach (TaskItem t in updatedTasks) { t.SetInitializationComplete(); } Exception errors; if (errorcodes.Count != 0) { errors = new Exception(string.Format("Errors while updating {0} Task items, erorcode:{1}", errorcodes.Count, errorcodes[0])); TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(errors, false, null); evargs.Errors = errorcodes; foreach (TaskItem t in updatedTasks) { evargs.UpdatedTasks.Add(t); } Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, evargs); }); return; } if (updatedTasks.Count() == 0) { TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null); evargs.Errors = new List<string>(); Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, evargs); }); return; } //re-fetch the TaskItem data once more string url = this.ConstructUrlParams(IIsAction.QUERYSINGLE, null, 0); TaskItem firstTask = updatedTasks.First(); EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29 BasicHttpBinding bnd = new BasicHttpBinding(); bnd.MaxBufferSize = InitParams.Current.MaxBufferSize; bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; BCheckLists.ListsSoapClient listClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc><IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>"; XElement queryOptions = XElement.Parse(queryOptionsXml); string maxrows = BCheck.Data.InitParams.Current.MaxCamlRows.ToString(); string queryXml = ""; queryXml = CamlHelper.QueryFetchTaskWithID(firstTask.ID); XElement queryXe = XElement.Parse(queryXml); string viewFieldsXml = ""; viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE; XElement viewFields = XElement.Parse(viewFieldsXml); //listClient.GetListItemsCompleted += // delegate(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) // { // }; listClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(listClient_GetListItemsCompleted); //this.FetchTasksCompleteEvent += // delegate(object sender1, TaskFetchCompletedEventArgs args1) // { // TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null); // evargs.UpdatedTasks = args1.Tasks; // Deployment.Current.Dispatcher.BeginInvoke(delegate() // { // TaskUpdateCompleteEvent(this, evargs); // }); // }; //objectstate=QUERYSINGLE, so that the event handler knows to invoke the right call back TaskUpdateCompleteEvent(this, null); //listClient.GetListItemsAsync( // InitParams.Current.ListName, "", queryXe, viewFields, // maxrows, queryOptions, null, IIsAction.QUERYSINGLE); }
void assignedTasksUpdateClient_UpdateListItemsCompleted( object sender, BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs e) { if ((e.Cancelled) || (e.Error != null)) { TaskItemUpdateCompleteEventArgs args = new TaskItemUpdateCompleteEventArgs(e.Error, e.Cancelled, null); Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, args); }); return; } /* * run through the e.Result * find out the rows that were updated and those were not * look into the <ErrorCode> flag for each of the <Result> elements * look into the ID attribute in the <Result> elements * prepare a CAML query to re-fetch all successfully updated elements */ XElement xresults = e.Result; XNamespace nsRow = "#RowsetSchema"; XNamespace nsResults = "http://schemas.microsoft.com/sharepoint/soap/"; var query = from x in xresults.Descendants() where x.Name == nsResults + "Result" select x; List<int> updatedtaskIDs = new List<int>(); List<string> errorcodes = new List<string>(); List<int> erroredtaskIDs = new List<int>(); foreach (XElement result in query) { XElement error = result.Element(nsResults + "ErrorCode"); string errorCode = error.Value; if (errorCode.Equals("0x00000000")) { XElement row = result.Element(nsRow + "row"); int taskid = (int?)row.Attribute("ows_ID") ?? 0; updatedtaskIDs.Add(taskid); } else { //get the ErrorText element XElement errorTxt = result.Element(nsResults + "ErrorText"); if (errorTxt != null) errorcodes.Add(errorTxt.Value); } } //IEnumerable<TaskItem> result = XmlToTaskObjects(null); Exception errors; if (errorcodes.Count == 0) { errors = null; } else { errors = new Exception(string.Format("Errors while updating {0} Task items, erorcode:{1}", errorcodes.Count, errorcodes[0])); } TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(errors, false, null); evargs.Errors = errorcodes; IEnumerable<TaskItem> updatedTasks = XmlToTaskObjects(xresults); foreach (TaskItem t in updatedTasks) { t.SetInitializationComplete(); evargs.UpdatedTasks.Add(t); } Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, evargs); }); }
void attachmentsUpdatedClient_GetListItemsCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if ((e.Cancelled) && (e.Error != null)) { TaskItemUpdateCompleteEventArgs args = new TaskItemUpdateCompleteEventArgs(e.Error, e.Cancelled, null); Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, args); }); return; } IEnumerable<TaskItem> result = XmlToTaskObjects(e.Result); TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null); foreach (TaskItem t in result) { evargs.UpdatedTasks.Add(t); } Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, evargs); }); }
void attachmentsClient_AddAttachmentCompleted(object sender, BCheck.Data.BCheckLists.AddAttachmentCompletedEventArgs e) { if ((e.Cancelled) || (e.Error != null)) { TaskItemUpdateCompleteEventArgs args = new TaskItemUpdateCompleteEventArgs(e.Error, e.Cancelled, null); Deployment.Current.Dispatcher.BeginInvoke(delegate() { TaskUpdateCompleteEvent(this, args); }); return; } //on success, fetch the updated task this.GetAttachments(BCheck.Data.ViewModel.Current.SelectedTask); //string url = this.ConstructUrlParams(IIsAction.QUERYSINGLE, null, 0); //EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29 //BasicHttpBinding bnd = new BasicHttpBinding(); //bnd.MaxBufferSize = InitParams.Current.MaxBufferSize; //bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; //Object[] paramarray = (Object[])e.UserState; //TaskItem tUpdated = (TaskItem)paramarray[0]; //BCheckLists.ListsSoapClient attachmentsUpdatedClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); //attachmentsUpdatedClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(attachmentsUpdatedClient_GetListItemsCompleted); //string queryXml = ""; //string viewFieldsXml = ""; //queryXml = CamlHelper.QueryFetchTaskWithID(tUpdated.ID); //viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE; //XElement query = XElement.Parse(queryXml); //XElement viewFields = XElement.Parse(viewFieldsXml); //string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc><IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls></QueryOptions>"; //XElement queryOptions = XElement.Parse(queryOptionsXml); //string maxrows = "1"; //attachmentsUpdatedClient.GetListItemsAsync( // InitParams.Current.ListName, "", query, viewFields, maxrows, queryOptions, null, paramarray); }
void attachmentsClient_GetAttachmentCollectionCompleted(object sender, BCheck.Data.BCheckLists.GetAttachmentCollectionCompletedEventArgs e) { BCheck.Data.ViewModel.Current.IsUpdating = false; XDocument xmlData = XDocument.Parse(e.Result.ToString()); XNamespace ns = xmlData.Root.Name.Namespace; var attachments = from attach in xmlData.Descendants(ns + "Attachment") select attach.Value.ToString(); if (attachments.Count() > 0) { BCheck.Data.ViewModel.Current.SelectedTask.AttachmentUrl = "True"; } else { BCheck.Data.ViewModel.Current.SelectedTask.AttachmentUrl = "False"; } BCheck.Data.ViewModel.Current.SelectedTask.AttachmentsURLs = e.Result.ToString(); }
void peopleResolveClient_ResolvePrincipalsCompleted( object sender, BCheck.Data.BCheckPeople.ResolvePrincipalsCompletedEventArgs e) { UserInfoFetchCompleteEventArgs args; if (FetchUserInfoCompleteEvent == null) return; args = new UserInfoFetchCompleteEventArgs(e.Error, e.Cancelled, e.UserState); args.UserInfoCollection = new List<UserInfo>(); args.HasListOfUsers = false; if ((e.Cancelled == true) || (e.Error != null)) { } else { if (e.Result.Count == 0) { args.ResolvedUser = null; } else { UserInfo u = new UserInfo { Title = e.Result[0].Title, UserID = e.Result[0].UserInfoID, Email = e.Result[0].Email, DisplayName = e.Result[0].DisplayName, Department = e.Result[0].Department, AccountName = e.Result[0].AccountName }; if (u.UserID < 0) args.ResolvedUser = null; else args.ResolvedUser = u; args.HasListOfUsers = false; } } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchUserInfoCompleteEvent(this, args); }); }
void omdBridge_QueryTasksCompleted(object sender, BCheck.Data.BCheckOMDQuery.QueryTasksCompletedEventArgs e) { TaskFetchCompletedEventArgs args = null; if (e.Cancelled == true) { args = new TaskFetchCompletedEventArgs(null, true, null); args.Tasks = new List<TaskItem>();//return an empty collection nevertheless } else if (e.Error != null) { args = new TaskFetchCompletedEventArgs(e.Error, false, null); args.Tasks = new List<TaskItem>();//return an empty collection nevertheless ViewModel.Current.Status.AddToLog(e.Error.ToString(), true); } else { args = new TaskFetchCompletedEventArgs(null, false, null); if (e.Result.rows == null) args.Tasks = new List<TaskItem>();//return an empty collection nevertheless else { args.Tasks = TaskItemFactory.ConvertTasksFromOMD(e.Result.rows); ArchiveHelper.ProcessMessage(e.Result.message); } } if (FetchTasksCompleteEvent != null) FetchTasksCompleteEvent(this, args); }
void listSummary_GetListItemsCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if (FetchSummaryCompleteEvent == null) return; SummaryFetchCompletedEventArgs args = null; if (e.Cancelled == true) { args = new SummaryFetchCompletedEventArgs(null, true, null); args.Summary = null; } if ((e.Cancelled != true) && (e.Error != null)) { args = new SummaryFetchCompletedEventArgs(null, false, null) { Summary = new SummaryView() }; //compute statistics here } if ((e.Cancelled != true) && (e.Error == null)) { args = new SummaryFetchCompletedEventArgs(e.Error, false, null); XElement xresults = e.Result; XNamespace ns = "#RowsetSchema"; var queryalltasks = from x in xresults.Descendants() where x.Name == ns + "row" select new TaskItem { TaskName = (string)x.Attribute("ows_Title"), ID = (int?)x.Attribute("ows_ID") ?? 0, AssignedTo = (string)x.Attribute("ows_Assign_x0020_to"), Status = (string)x.Attribute("ows_Status"), DueTime = (string)x.Attribute("ows_Due_x0020_Time"), ManagementSignOff = (string)x.Attribute("ows_Management_x0020_Signoff"), CreatedUtc = (DateTime)x.Attribute("ows_Created"), CreatedLocal = TaskItem.GetCreatedTimeAsPerCurrentRegion((DateTime)x.Attribute("ows_Created")) }; args.Summary = new SummaryView(); View userState = (View)e.UserState; if (userState == View.vwAssignedTasks) { //HelperProcessSummaryResultsAssignedTasks( queryalltasks,args.Summary); //Mar 11 release. Using a central routine for computing Summary SummaryView.ComputeSummaryViewFromCollectionOfTasks(queryalltasks, args.Summary); } if (userState == View.vwManagedTasks) { //Mar 11 release. Using a central routine for computing Summary //HelperProcessSummaryResultsManagedTasks( queryalltasks,args.Summary); SummaryView.ComputeSummaryViewFromCollectionOfTasks(queryalltasks, args.Summary); } } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchSummaryCompleteEvent(this, args); }); }