public IActionResult AddEmoji(string id, string boardId, string emojiId) { if (string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(emojiId)) { return(BadRequest()); } if (boardId != null) { var board = _boardsRepository.GetById(Guid.Parse(boardId)); if (board != null) { if (BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { if (!_boardsRepository.IsActive(boardId)) { return(StatusCode(StatusCodes.Status403Forbidden)); } } else if (!BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { return(Unauthorized()); } } } return(StatusCode(StatusCodes.Status403Forbidden)); }
public IActionResult AddReply(string id, string boardId, string replyToId, [FromBody] string replyComment, string time) { var userId = _identityHelper.GetObjectId(User.Identity as ClaimsIdentity); var board = new Board(); if (boardId != null) { board = _boardsRepository.GetById(Guid.Parse(boardId)); if (BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { //enable board // enable board var timeStamp = time; if ( string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(replyComment) || string.IsNullOrWhiteSpace(timeStamp) || string.IsNullOrWhiteSpace(replyToId)) { return(BadRequest()); } var feedItemId = Guid.Parse((string)id); var parentCommentId = Guid.Parse((string)replyToId); var feedItem = _feedItemRepository.GetById(feedItemId); board = _boardsRepository.GetById(Guid.Parse(boardId)); var parentComment = _commentsRepository.GetById(parentCommentId); if (feedItem == null || parentComment == null) { return(NotFound()); } var user = _userRepository.GetByObjectId(userId); if (user == null) { return(Unauthorized()); } _commentsService.ReplyToComment(board, feedItem, user, timeStamp, replyComment, parentComment); return(StatusCode(Status201Created)); } else if (!BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { //disable board return(Unauthorized()); } } return(BadRequest()); }
public IActionResult AddShares(string id, string shareTo, string boardId, string time) { var userId = _identityHelper.GetObjectId(User.Identity as ClaimsIdentity); if ( string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(shareTo) || string.IsNullOrWhiteSpace(boardId) || string.IsNullOrWhiteSpace(time)) { return(BadRequest()); } var feedItemId = Guid.Parse((string)id); var feedItem = _feedItemRepository.GetById(feedItemId); if (feedItem == null) { return(NotFound()); } var board = _boardsRepository.GetById(Guid.Parse(boardId)); if (board == null) { return(NotFound()); } var user = _userRepository.GetByObjectId(userId); if (user == null) { return(Unauthorized()); } //check board time limit if (BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { _activityService.ShareFeedItem(feedItemId, shareTo, Guid.Parse(boardId), userId, time); return(StatusCode(StatusCodes.Status201Created)); } else if (!BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { return(Unauthorized()); } return(Unauthorized()); }
public IActionResult AddComments(string id, string boardId, [FromBody] string comment, string time) { var userId = _identityHelper.GetObjectId(User.Identity as ClaimsIdentity); // TODO: Add Date validation. For now storing it as string. var timeStamp = time; if ( string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(boardId) || string.IsNullOrWhiteSpace(comment) || string.IsNullOrWhiteSpace(timeStamp)) { return(BadRequest()); } var feedItemId = Guid.Parse((string)id); var feedItem = _feedItemRepository.GetById(feedItemId); var board = _boardsRepository.GetById(Guid.Parse(boardId)); if (feedItem == null || board == null) { return(NotFound()); } var user = _userRepository.GetByObjectId(userId); if (user == null) { return(Unauthorized()); } if (BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { _commentsService.StoreComments(board, feedItem, user, timeStamp, comment); return(StatusCode(Status201Created)); } else if (!BoardValidityHelper.IsBetween(DateTime.Now, board.StartDate.AddHours(-4), board.EndDate.AddHours(4))) { return(Unauthorized()); } return(Unauthorized()); }