likeForMainComment method

dynamic likeForMainComment({
  1. required int likeTypeId,
  2. required String likeType,
  3. required int mainCommentId,
  4. String? postId,
  5. required String userId,
})

Implementation

likeForMainComment(
    {required int likeTypeId,
    required String likeType,
    required int mainCommentId,
    String? postId,
    required String userId}) {
  String isUpdateOrNew = "N";
  int currentEmojiId = -1;
  int updateLikeId = -1;
  for (int x = 0; x < listOfComments[mainCommentId].likesUsers.length; x++) {
    if (userId == listOfComments[mainCommentId].likesUsers[x].userId) {
      if (listOfComments[mainCommentId].likesUsers[x].emojiId != likeTypeId) {
        isUpdateOrNew = "U";
        currentEmojiId = listOfComments[mainCommentId].likesUsers[x].emojiId;
        updateLikeId = x;
      } else {
        isUpdateOrNew = "O";
        return;
      }
      break;
    }
  }
  if (isUpdateOrNew == "U") {
    --listOfComments[mainCommentId]
        .commentLikeCounts[currentEmojiId]
        .emojiCount;
    ++listOfComments[mainCommentId].commentLikeCounts[likeTypeId].emojiCount;
    listOfComments[mainCommentId].likesUsers[updateLikeId].emoji = likeType;
    listOfComments[mainCommentId].likesUsers[updateLikeId].emojiId =
        likeTypeId;
  } else if (isUpdateOrNew == "N") {
    ++listOfComments[mainCommentId].commentLikeCounts[likeTypeId].emojiCount;
    var like = LikedUser(userId, likeTypeId, likeType);
    listOfComments[mainCommentId].likesUsers.add(like);
  } else {
    return;
  }
}