private async Task <bool> DeleteTask(TaskItemViewModel task) { if (task.HasParentTask && task.IsNew || task.IsNew) { Messenger.Publish(new TaskDeletedMsg(this, task.GoogleId, task.ParentTask)); return(true); } Messenger.Publish(new ShowProgressOverlayMsg(this)); var deleteResponse = await _dataService .TaskService .RemoveTaskAsync(task.GoogleId); if (TasksHelper.HasReminderId(task.RemindOnGUID, out int id)) { _notificationService.RemoveScheduledNotification(id); } if (task.HasSubTasks) { foreach (var st in task.SubTasks) { if (TasksHelper.HasReminderId(st.RemindOnGUID, out int stReminderId)) { _notificationService.RemoveScheduledNotification(stReminderId); } } } Messenger.Publish(new ShowProgressOverlayMsg(this, false)); if (!deleteResponse.Succeed) { Logger.Error( $"{nameof(DeleteTask)}: Couldn't delete the selected task." + $"Error = {deleteResponse.Message}"); return(false); } Messenger.Publish(new TaskDeletedMsg(this, task.GoogleId, task.ParentTask)); return(true); }
private void ReAddReminderDate( int notificationId, TaskListItemViewModel taskList, GoogleTask task) { if (!TasksHelper.CanReAddReminder(task.RemindOn.Value)) { return; } string notes = TasksHelper.GetNotesForNotification(task.Notes); _notificationService.RemoveScheduledNotification(notificationId); _notificationService.ScheduleNotification(new TaskReminderNotification { Id = notificationId, TaskListId = taskList.Id, TaskId = task.ID, TaskListTitle = taskList.Title, TaskTitle = task.Title, TaskBody = notes, DeliveryOn = task.RemindOn.Value }); }