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)); }