/// <summary> /// Kasuje Taskboard z widoku i z bazy danych /// </summary> private async Task DeleteTaskBoard(TaskBoardContainer taskBoard) { switch (mContext.DialogBuilder.ChoiceDialog("Do you want to delete this taskboard? All associated work items will be lost.")) { case MessageBoxResult.Yes: break; case MessageBoxResult.No: return; default: return; } try { HttpTaskBoardClient client = new HttpTaskBoardClient(); await client.DeleteTaskBoard(taskBoard.TaskBoard.ID).ConfigureAwait(false); await Application.Current.Dispatcher.BeginInvoke(() => { mContext.WorkItemMediator.UpdateWorkItems(); mContext.DialogBuilder.SuccessDialog("Taskboard was successfully deleted"); TaskBoards.Remove(taskBoard); }); } catch (Exception) { mContext.DialogBuilder.ErrorDialog("Taskboard couldn't be deleted, due to server error."); } }
/// <summary> /// Pobiera wszystkie taskboardy /// </summary> private async Task GetTaskBoards() { try { HttpTaskBoardClient client = new HttpTaskBoardClient(); ICollection <TaskBoardPublic> response = await client.GetAllTaskboards(mContext.UserAccount.ID).ConfigureAwait(false); await Application.Current.Dispatcher.BeginInvoke(() => { foreach (TaskBoardPublic tb in response) { TaskBoards.Add(new TaskBoardContainer(tb, mContext)); } }); } catch (Exception) { mContext.DialogBuilder.ErrorDialog("Taskboards couldn't be retrieved, due to server error."); } }
/// <summary> /// Tworzy nowy TaskBoard /// </summary> private async Task CreateTaskBoard() { try { HttpTaskBoardClient client = new HttpTaskBoardClient(); TaskBoardPublic taskBoard = new TaskBoardPublic() { Name = "Unnamed TaskBoard", UserID = mContext.UserAccount.ID }; TaskBoardPublic response = await client.CreateTaskBoard(taskBoard).ConfigureAwait(false); await Application.Current.Dispatcher.BeginInvoke(() => { TaskBoards.Add(new TaskBoardContainer(response, mContext)); }); } catch (Exception) { mContext.DialogBuilder.ErrorDialog("Taskboard couldn't be created, due to server error."); } }