public async Task <Guid?> SubmitGeneralIssue(ClaimsPrincipal user, GeneralIssue issue, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var userId = GetUserId(user);

            if (!userId.HasValue)
            {
                return(null);
            }
            var name  = GetUserName(user);
            var email = GetUserEmail(user);

            var options = new RequestOptions
            {
                PartitionKey = new PartitionKey(WellKnownIds.GeneralIssueDatasetId.ToString())
            };
            var uri    = this.UserDataDocumentCollectionUri;
            var record = new GeneralIssueStorageItem
            {
                Id          = Guid.NewGuid(),
                DatasetId   = WellKnownIds.GeneralIssueDatasetId,
                Name        = issue.Name,
                Description = issue.Description,
                ContactName = issue.ContactName,
                ContactInfo = issue.ContactInfo,
                UserId      = userId.Value,
                UserName    = name,
                UserEmail   = email,
            };
            await Client.CreateDocumentAsync(uri, record, options).ConfigureAwait(false);

            return(record.Id);
        }
        public async Task <IActionResult> SubmitNomination([FromBody] GeneralIssue issue, CancellationToken cancellationToken)
        {
            await Storage.SubmitGeneralIssue(User, issue, cancellationToken);

            return(Ok(true));
        }