public async Task <IActionResult> CreateAsync([FromBody] Client.Maraphone.MaraphoneBuildInfo buildInfo, CancellationToken cancellationToken) { if (buildInfo == null) { var error = ServiceErrorResponses.BodyIsMissing("MaraphoneBuildInfo"); return(this.BadRequest(error)); } var userId = User.FindFirstValue("userId"); if (userId == null) { var error = ServiceErrorResponses.InvalidClaims("userId"); return(this.BadRequest(error)); } var maraphoneCreationInfo = new MaraphoneCreationInfo(buildInfo, userId); var modelMaraphone = await maraphoneRepository.CreateAsync(maraphoneCreationInfo, cancellationToken); var clientMaraphone = MaraphoneConverter.Convert(modelMaraphone); return(CreatedAtRoute( "GetMaraphone", new { id = clientMaraphone.Id }, clientMaraphone)); }
public Task <Maraphone> CreateAsync(MaraphoneCreationInfo creationInfo, CancellationToken cancellationToken) { if (creationInfo == null) { throw new ArgumentNullException(nameof(creationInfo)); } cancellationToken.ThrowIfCancellationRequested(); var maraphone = new Maraphone { Title = creationInfo.Title, Sprints = creationInfo.Sprints, Duration = creationInfo.Duration, Description = creationInfo.Description, CreatedAt = DateTime.Now, CreatedBy = creationInfo.CreatedBy }; maraphones.InsertOne(maraphone, cancellationToken: cancellationToken); return(System.Threading.Tasks.Task.FromResult(maraphone)); }