public async Task <OperationResult <TaskModel> > MarkTaskAsOpenedAsync(int taskId) { var taskModel = await _taskModelDbOperations.GetAsync(taskId); if (taskModel == null) { return(OperationResult <TaskModel> .NotFound()); } taskModel.MarkAsOpened(); await _taskModelDbOperations.UpdateAsync(taskModel); return(OperationResult <TaskModel> .Ok()); }
public async Task Update(User userParam, string password) { var user = await GetById(userParam.Id.ToString()); if (user == null) { throw new AppException("User not found"); } if (userParam.UserId != user.UserId) { // userId has changed so check if the new userId is already taken if ((await _userDbOperations.GetAllAsync(e => e.UserId == userParam.UserId)).Any()) { throw new AppException("UserId " + userParam.UserId + " is already taken"); } } // update user properties user.FirstName = userParam.FirstName; user.LastName = userParam.LastName; user.UserId = userParam.UserId; // update password if it was entered if (!string.IsNullOrWhiteSpace(password)) { _passwordHashService.CreatePasswordHash(password, out var passwordHash, out var passwordSalt); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; } await _userDbOperations.UpdateAsync(e => e.Id == userParam.Id, user); }
public async Task <OperationResult <CommentModel> > UpdateCommentAsync(int commentId, string content) { var comment = await _commentModelDbOperations.GetAsync(commentId); if (comment == null) { return(OperationResult <CommentModel> .NotFound()); } comment.Content = content; await _commentModelDbOperations.UpdateAsync(comment); return(OperationResult <CommentModel> .Ok()); }
public async Task <OperationResult <ProjectModel> > RenameAsync(int projectId, string name) { var projectModel = await _projectModelDbOperations.GetAsync(projectId); if (projectModel == null) { return(OperationResult <ProjectModel> .NotFound()); } projectModel.Rename(name); var validationResult = await _projectModelValidator.ValidateAsync(projectModel); if (!validationResult.IsValid) { return(ValidationHelper.GetValidationFailedOperationResult <ProjectModel>(validationResult)); } await _projectModelDbOperations.UpdateAsync(projectModel); return(OperationResult <ProjectModel> .Ok()); }