public async Task <JsonResult> AddSegmentToNote([FromHeader] int accountId, [FromBody] NoteSegment segment)
        {
            var errorMessage = segment.ValidateBody();

            if (errorMessage)
            {
                return(new JsonResult(new JsonResponse {
                    Result = SharedEnums.RequestResults.Failed, Message = "Segment body is empty."
                }));
            }

            var(error, user) = await _userService.GetUserProfileByAccountId(accountId);

            if (error || user == null)
            {
                return(new JsonResult(new JsonResponse {
                    Result = SharedEnums.RequestResults.Failed, Message = "An issue happened while getting data."
                }));
            }

            var hasAssociation = await _collaborationService.IsNoteAssociatedWithThisUser(segment.NoteId, user.Id, SharedEnums.Permissions.Edit);

            if (!hasAssociation.HasValue)
            {
                return(new JsonResult(new JsonResponse {
                    Result = SharedEnums.RequestResults.Failed, Message = "An issue happened while getting data."
                }));
            }
            if (!hasAssociation.Value)
            {
                return(new JsonResult(new JsonResponse {
                    Result = SharedEnums.RequestResults.Failed, Message = "You are not authorized for this action."
                }));
            }

            var saveResult = await _noteService.InsertNoteSegment(segment);

            return(!saveResult.HasValue || saveResult.Value < 1
                ? new JsonResult(new JsonResponse {
                Result = SharedEnums.RequestResults.Failed, Message = "An issue happened while saving data."
            })
                : new JsonResult(new JsonResponse {
                Result = SharedEnums.RequestResults.Success, Data = saveResult.Value
            }));
        }