private void UpdateLeaders(OmadaTeam team) { List <OmadaUser> updatedLeaders = TeamMembers.Where(m => m.IsLeader == true).Select(m => m.User).ToList(); teamData.SetNoLeaders(team); foreach (var member in updatedLeaders) { teamData.UpdateLeaderStatus(member.Id, team); } }
public IEnumerable <string> GetMembersToIncludeInReport() { if (this.membersToIncludeInReport == null) { this.membersToIncludeInReport = TeamMembers?.Where(item => item.IncludeInReports)?.Select(item => item.Name)?.ToList(); if (this.membersToIncludeInReport == null) { this.membersToIncludeInReport = new List <string>(); } } return(this.membersToIncludeInReport); }
private void SetCheckedText(object param) { try { WatchingMembers = new ObservableCollection <SiteManagerModel>(); List <string> checkedMembers = new List <string>(); foreach (var tm in TeamMembers.Where(t => t.IsChecked)) { checkedMembers.Add(tm.Name); WatchingMembers.Add(tm); } TeamMembersText = string.Join(", ", checkedMembers); } catch (Exception ex) { MessageBox.Show("Error", ex.Message, MessageBoxButton.OK, MessageBoxImage.Error); } }
private async Task CreateTask() { try { List <KeyValuePair <string, string> > values = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Title", Title), new KeyValuePair <string, string>("Task Type", TypeText), new KeyValuePair <string, string>("Task Status", StatusText), new KeyValuePair <string, string>("Task Stamp", StampText), new KeyValuePair <string, string>("Sheet", SelectedSheet?.Title), }; if (FieldValidation.ValidateFields(values)) { if (WatchingMembers.Count() <= 0) { MessageBox.Show("Please add atleast 1 Team Member to the Task", "Add Team Members", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (WatchingMembers.Where(w => w.IsWatcher).Count() <= 0) { MessageBox.Show("Please select watching members from the Selected Team Members", "Select Watching Members", MessageBoxButton.OK, MessageBoxImage.Warning); } else { CanSaveTask = false; List <TaskMembersModel> taskMembers = new List <TaskMembersModel>(); List <TaskWatchersModel> taskWatchers = new List <TaskWatchersModel>(); TeamMembers.Where(s => s.IsChecked).ToList().ForEach(s => taskMembers.Add( new TaskMembersModel { TaskID = ID, SiteManagerID = s.ID, })); WatchingMembers.Where(s => s.IsWatcher).ToList().ForEach(s => taskWatchers.Add( new TaskWatchersModel { TaskID = ID, SiteManagerID = s.ID, })); TaskModel taskData = new TaskModel() { ProjectID = ParentLayout.SelectedProject.ID, Title = Title, Description = Description, TaskStatusID = SelectedStatus?.ID, Status = SelectedStatus == null ? new StatusModel { Title = StatusText, CreatedBy = ParentLayout.LoggedInUser.Name } : null, TaskTypeID = SelectedType?.ID, Type = SelectedType == null ? new TypeModel { Title = TypeText, CreatedBy = ParentLayout.LoggedInUser.Name } : null, StartDate = StartDate, DueDate = DueDate, Members = taskMembers, Watchers = taskWatchers, StampID = SelectedStamp?.ID, Stamp = SelectedStamp == null ? new StampModel { Title = StampText, CreatedBy = ParentLayout.LoggedInUser.Name } : null, SheetID = SelectedSheet?.ID, }; HttpResponseMessage result = null; if (isUpdate) { taskData.ID = ID; taskData.CreatedBy = SelectedTask.CreatedBy; taskData.CreatedOn = SelectedTask.CreatedOn; taskData.ModifiedBy = ParentLayout.LoggedInUser.Name; taskData.ModifiedOn = DateTime.Now; result = await apiHelper.PutTask(ParentLayout.LoggedInUser.Token, taskData).ConfigureAwait(false); } else { taskData.CreatedBy = ParentLayout.LoggedInUser.Name; taskData.CreatedOn = DateTime.Now; result = await apiHelper.PostTask(ParentLayout.LoggedInUser.Token, taskData).ConfigureAwait(false); } if (result.IsSuccessStatusCode) { MessageBox.Show($"Task Saved Successfully", "Success", MessageBoxButton.OK, MessageBoxImage.Information); await GetTasks(); #region Log Data ActivityLogModel logData = new ActivityLogModel() { Type = "Task", Description = $"Task '{taskData.Title}' created by '{ParentLayout.LoggedInUser.Name}'", ProjectID = ParentLayout.SelectedProject.ID, CreatedBy = ParentLayout.LoggedInUser.Name, CreatedOn = DateTime.Now }; if (isUpdate) { logData.Description = $"Task '{taskData.Title}' updated by '{ParentLayout.LoggedInUser.Name}'"; } await logAPIHelper.PostActivityLog(ParentLayout.LoggedInUser.Token, logData); #endregion IsUpdate = false; ClearFields(); await GetStamps(); await GetTypes(); await GetStatuses(); await GetTeamMembers(); } else { MessageBox.Show("Error in saving Task", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } CanSaveTask = true; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); CanSaveTask = true; } }