Ejemplo n.º 1
0
        public async Task <ResultModel> DeleteTaskAsync(Guid taskId)
        {
            if (taskId == Guid.Empty)
            {
                return(ExceptionMessagesEnum.NullParameter.ToErrorModel());
            }

            var dbTaskResult = _context.Tasks.FirstOrDefault(x => x.Id == taskId);

            if (dbTaskResult == null)
            {
                return(ExceptionMessagesEnum.TaskNotFound.ToErrorModel());
            }

            dbTaskResult.IsDeleted = true;
            _context.Tasks.Update(dbTaskResult);
            var result = await _context.PushAsync();

            if (result.IsSuccess)
            {
                await _notify.DeleteTaskNotificationAsync(dbTaskResult);
            }
            return(new ResultModel
            {
                IsSuccess = result.IsSuccess,
                Errors = result.Errors
            });
        }
Ejemplo n.º 2
0
        public async Task <ResultModel> DeleteTaskAsync(Guid taskId)
        {
            if (taskId == Guid.Empty)
            {
                return(ExceptionMessagesEnum.NullParameter.ToErrorModel());
            }

            var dbTaskResult = _context.Tasks.FirstOrDefault(x => x.Id == taskId);

            if (dbTaskResult == null)
            {
                return(ExceptionMessagesEnum.TaskNotFound.ToErrorModel());
            }

            var currentUser = await _userManager.GetCurrentUserAsync();

            if (dbTaskResult.Author != currentUser.Result.UserName)
            {
                return new ResultModel {
                           IsSuccess = false, Errors = new List <IErrorModel> {
                               new ErrorModel {
                                   Message = "Not have permission to deactivate task"
                               }
                           }
                }
            }
            ;

            dbTaskResult.IsDeleted = true;
            _context.Tasks.Update(dbTaskResult);
            var result = await _context.PushAsync();

            if (result.IsSuccess)
            {
                await _notify.DeleteTaskNotificationAsync(dbTaskResult);
            }
            return(new ResultModel
            {
                IsSuccess = result.IsSuccess,
                Errors = result.Errors
            });
        }