/// <summary> /// Updates the Task /// </summary> private async void ExecuteUpdateTaskCommandAsync() { SelectedItem.Name = UpdatedTaskName; if (string.IsNullOrEmpty(UpdatedTaskName.Trim())) { await _pageDialog.DisplayAlertAsync(AppConstants.AppName, AppConstants.AlertEmptyFieldInfo, AppConstants.AlertOkBtnTitle); return; } if (IocContainer.Instance.Container.Resolve <IPlatformService>().IsConnected()) { IsLoading = true; var result = await _taskService.UpdateTaskAsync(SelectedItem); if (result != null) { var task = new TodoDBItem() { Id = result.Id, Name = result.Name, Status = result.Status }; await _taskRepo.Update(task); TaskList = _taskRepo.Get(); CloseUpdatePopupCommand.Execute(); ExecuteFilterCommand(string.Empty); } IsLoading = false; } else { await _pageDialog.DisplayAlertAsync(AppConstants.AlertOfflineTitle, AppConstants.AlertOfflineInfo, AppConstants.AlertOkBtnTitle); } }
//Gets the Task List and Save to DB public async Task GetTaskListAsync() { var dbTaskList = _taskRepo.Get(); if (IocContainer.Instance.Container.Resolve <IPlatformService>().IsConnected()) { var result = await _taskService.GetTaskListAsync(); IsLoading = false; var taskList = new List <TodoDBItem>(); if (result?.Count > 0) { await _taskRepo.DeleteAll(); foreach (var item in result) { var task = new TodoDBItem() { Id = item.Id, Name = item.Name, Status = item.Status }; if (!string.IsNullOrEmpty(task?.Id)) { await _taskRepo.Insert(task); } } TaskList = _taskRepo.Get(); } } else if (dbTaskList?.Count > 0) { TaskList = dbTaskList; IsLoading = false; } }
/// <summary> /// Opens the update task popup /// </summary> /// <param name="item"></param> private void ExecuteTaskItemTappedCommand(TodoDBItem item) { SelectedItem = new TodoItem() { Id = item.Id, Name = item.Name, Status = item.Status }; UpdatedTaskName = item.Name; UpdatePopupVisibility = true; }
/// <summary> // Adds New Task /// </summary> private async void ExecuteAddTaskCommandAsync() { if (IocContainer.Instance.Container.Resolve <IPlatformService>().IsConnected()) { if (!string.IsNullOrEmpty(TaskTitle?.Trim())) { IsLoading = true; var task = new TodoItem { Id = Guid.NewGuid().ToString(), Name = TaskTitle, Status = "Waiting" }; var result = await _taskService.SaveTaskAsync(task); if (result != null) { var item = new TodoDBItem() { Id = result.Id, Name = result.Name, Status = result.Status }; await _taskRepo.Insert(item); TaskList = _taskRepo.Get(); TaskTitle = string.Empty; ExecuteFilterCommand(string.Empty); } IsLoading = false; } else { await _pageDialog.DisplayAlertAsync(AppConstants.AppName, AppConstants.AlertEmptyFieldInfo, AppConstants.AlertOkBtnTitle); } } else { await _pageDialog.DisplayAlertAsync(AppConstants.AlertOfflineTitle, AppConstants.AlertOfflineInfo, AppConstants.AlertOkBtnTitle); } }