Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }