public void then_update()
        {
            var memberPost = new MemberPostRp();

            memberPost.UserId  = this.DefaultMemberId;
            memberPost.SquadId = squadId;

            var jsonContent  = HttpClientExtension.ParseModelToHttpContent(memberPost);
            var responsePost = this._client.PostAsync($"/members", jsonContent).Result;

            Assert.Equal(StatusCodes.Status201Created, (int)responsePost.StatusCode);
        }
예제 #2
0
        public async Task <BaseComponentResultRp> CreateMember(MemberPostRp model)
        {
            var result    = new BaseComponentResultRp();
            var createdBy = this._identityGateway.GetIdentity();

            var squad = await this._dbContext.Squads.SingleAsync(c => c.Id == model.SquadId);

            var user = await this._dbContext.Users.SingleAsync(c => c.Id == model.UserId);

            var entity = MemberEntity.Factory.Create(squad.Id.Value, user.Id.Value, this._datetimeGateway.GetCurrentDateTime(), createdBy);

            this._dbContext.Members.Add(entity);
            await this._dbContext.SaveChangesAsync();

            result.AddResult("Id", entity.Id);

            return(result);
        }
예제 #3
0
        public void when_send_request()
        {
            var jsonContent  = HttpClientExtension.ParseModelToHttpContent(representation);
            var responsePost = _client.PostAsync($"/Squads", jsonContent).Result;

            Assert.Equal(StatusCodes.Status201Created, (int)responsePost.StatusCode);
            NewResourceLocation = responsePost.Headers.Location.ToString();
            var resource = HttpClientExtension.ParseHttpContentToModel <dynamic>(responsePost.Content);

            squadId = (int)resource.id;

            var memberPost = new MemberPostRp();

            memberPost.UserId  = this.DefaultMemberId;
            memberPost.SquadId = squadId;

            jsonContent  = HttpClientExtension.ParseModelToHttpContent(memberPost);
            responsePost = _client.PostAsync($"/members", jsonContent).Result;
            Assert.Equal(StatusCodes.Status201Created, (int)responsePost.StatusCode);

            resource = HttpClientExtension.ParseHttpContentToModel <dynamic>(responsePost.Content);
            memberId = (int)resource.id;
        }
예제 #4
0
        public async Task <IActionResult> PostMember([FromBody] MemberPostRp resource)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var response = await this._memberComponent.CreateMember(resource);

            if (response.HasNotFounds())
            {
                return(this.Conflict(response.GetNotFounds()));
            }

            if (response.HasConflicts())
            {
                return(this.Conflict(response.GetConflicts()));
            }

            var id          = response.GetResult <int>("Id");
            var newResource = await this._memberQueryComponent.GetMember(id);

            return(this.Created(Url.RouteUrl("GetSquadMemberId", new { id }), newResource));
        }