public async Task <ResponseDto <GoogleTaskList> > UpdateAsync(GoogleTaskList entity) { return(await Task.Run(async() => { _logger.Information($"UpdateAsync: Trying to update {entity.ID}"); var response = new ResponseDto <GoogleTaskList> { Message = string.Empty, Succeed = false }; using (var context = new MiraiNotesContext()) { try { context.Entry(entity).State = EntityState.Modified; response.Succeed = await context.SaveChangesAsync() > 0; response.Result = entity; _logger.Information("UpdateAsync: Completed successfully"); } catch (Exception e) { _logger.Error(e, "UpdateAsync: An unknown error occurred"); response.Message = GetExceptionMessage(e); } } return response; }).ConfigureAwait(false)); }
public async Task <EmptyResponseDto> RemoveAsync(GoogleTaskList entity) { return(await Task.Run(async() => { _logger.Information($"RemoveAsync: Trying to delete taskId = {entity.ID}"); var response = new EmptyResponseDto { Message = string.Empty, Succeed = false }; using (var context = new MiraiNotesContext()) { try { context.Remove(entity); response.Succeed = await context.SaveChangesAsync() > 0; _logger.Information("RemoveAsync: Completed successfully"); } catch (Exception e) { _logger.Error(e, "RemoveAsync: An unknown error occurred"); response.Message = GetExceptionMessage(e); } } return response; }).ConfigureAwait(false)); }
private async Task <EmptyResponseDto> SaveUpTaskList(GoogleTaskList taskList) { var response = await _apiService.SaveTaskList(new GoogleTaskListModel { Title = taskList.Title, UpdatedAt = taskList.UpdatedAt }); var result = new EmptyResponseDto { Succeed = response.Succeed }; if (response.Succeed) { taskList.GoogleTaskListID = response.Result.TaskListID; taskList.ToBeSynced = false; taskList.LocalStatus = LocalStatus.DEFAULT; taskList.UpdatedAt = response.Result.UpdatedAt; result = await _dataService .TaskListService .UpdateAsync(taskList); } else { result.Message = response.Message ?? $"An unkwon error occurred while trying to create task list {taskList.Title}"; _logger.Error( $"{nameof(SyncUpTaskListsAsync)}: An error occurred while trying to " + $"save remotely taskListId = {taskList.ID}. {result.Message}"); } return(result); }
private async Task <EmptyResponseDto> UpdateUpTaskList(GoogleTaskList taskList) { var response = await _apiService.GetTaskList(taskList.GoogleTaskListID); var result = new EmptyResponseDto { Succeed = response.Succeed }; if (!response.Succeed) { result.Message = response.Message ?? $"An unknow error occurred while trying to get {taskList.Title} from remote to be updated"; _logger.Error( $"{nameof(SyncUpTaskListsAsync)}: An error occurred while trying to get the task to " + $"update remotely taskListId = {taskList.ID}. {result.Message}"); } //We need to update the remote contrapart else if (taskList.UpdatedAt > response.Result.UpdatedAt) { response.Result.UpdatedAt = taskList.UpdatedAt; response.Result.Title = taskList.Title; response = await _apiService.UpdateTaskList(response.Result.TaskListID, response.Result); result.Succeed = response.Succeed; if (!response.Succeed) { result.Message = response.Message ?? $"An unknow error occurred while trying to get {taskList.Title} from remote to be updated"; _logger.Error( $"{nameof(SyncUpTaskListsAsync)}: An error occurred while trying to " + $"update remotely taskListId = {taskList.ID}. {result.Message}"); } else { taskList.LocalStatus = LocalStatus.DEFAULT; taskList.ToBeSynced = false; result = await _dataService.TaskListService.UpdateAsync(taskList); } } //we need to update the local contrapart else { taskList.Title = response.Result.Title; taskList.LocalStatus = LocalStatus.DEFAULT; taskList.ToBeSynced = false; taskList.UpdatedAt = response.Result.UpdatedAt; result = await _dataService.TaskListService.UpdateAsync(taskList); } return(result); }
public async Task <ResponseDto <GoogleTaskList> > AddAsync(GoogleTaskList entity) { return(await Task.Run(async() => { _logger.Information("AddAsync: Trying to add a new task list"); var response = new ResponseDto <GoogleTaskList> { Message = string.Empty, Succeed = false }; using (var context = new MiraiNotesContext()) { try { var currentUser = await context.Users .FirstOrDefaultAsync(u => u.IsActive); if (currentUser == null) { response.Message = "Couldn't find the current active user in the db"; _logger.Warning("AddAsync: Couldn't find the current active user in the db"); } else { entity.User = currentUser; await context.AddAsync(entity); response.Succeed = await context.SaveChangesAsync() > 0; response.Result = entity; } _logger.Information("AddAsync: Completed successfully"); } catch (Exception e) { _logger.Error(e, "AddAsync: An unknown error occurred"); response.Message = GetExceptionMessage(e); } } return response; }).ConfigureAwait(false)); }
private async Task <EmptyResponseDto> DeleteUpTaskList(GoogleTaskList taskList) { var response = await _apiService.DeleteTaskList(taskList.GoogleTaskListID); var result = new EmptyResponseDto { Succeed = response.Succeed }; if (response.Succeed) { result = await _dataService.TaskListService.RemoveAsync(taskList); } else { result.Message = response.Message ?? $"An unkwon error occurred while trying to delete task list {taskList.Title}"; _logger.Error( $"{nameof(SyncUpTaskListsAsync)}: An error occurred while trying to " + $"delete remotely taskListId = {taskList.ID}. {result.Message}"); } return(result); }