示例#1
0
        public async Task <TeamDTO> CreateTeam(TeamCreateDTO team)
        {
            var response = await client.PostAsJsonAsync($"{baseUrl}/api/teams", team);

            if (response.StatusCode != System.Net.HttpStatusCode.Created)
            {
                throw new Exception($"{response.StatusCode} : {await response.Content.ReadAsStringAsync()}");
            }
            return(await response.Content.ReadAsAsync <TeamDTO>());
        }
示例#2
0
        public async Task <TeamDTO> CreateTeam(TeamCreateDTO teamDto)
        {
            var teamEntity = mapper.Map <Team>(teamDto);

            teamEntity.CreatedAt = DateTime.Now;

            await repository.Create(teamEntity);

            await unitOfWork.SaveChangesAsync();

            return((await GetAllTeams()).FirstOrDefault(p => p.Id == teamEntity.Id));
        }
示例#3
0
        public async Task Create_ThanResponseWithCode201AndCorrespondedBody()
        {
            var team = new TeamCreateDTO
            {
                Name = "A"
            };

            string jsonInString = JsonConvert.SerializeObject(team);
            var    httpResponse = await client.PostAsync("api/teams",
                                                         new StringContent(jsonInString, Encoding.UTF8, "application/json"));

            var stringResponse = await httpResponse.Content.ReadAsStringAsync();

            var createdTeam = JsonConvert.DeserializeObject <TeamDTO>(stringResponse);

            await client.DeleteAsync($"api/teams/{createdTeam.Id}");

            Assert.Equal(HttpStatusCode.Created, httpResponse.StatusCode);
            Assert.Equal(team.Name, createdTeam.Name);
        }
示例#4
0
        public async Task <Response <TeamDTO> > Create(Guid userId, Guid companyId, TeamCreateDTO dto, bool sendInvites = true)
        {
            var entity = new TeamModel
            {
                Name        = dto.Name,
                CompanyId   = companyId,
                CreatedDate = DateTime.UtcNow,
                ColorHex    = dto.ColorHex,
                CreatorId   = userId
            };

            entity = await _repository.Create(entity);

            await _teamsUsersRepository.AddTeamUser(entity.Id, userId, MembershipStatus.SuperAdmin);

            await _membershipService.InviteUsers(entity.Id, InviteEntityType.Team, userId, dto.Emails, sendInvites);

            var result = _mapper.Map <TeamModel, TeamDTO>(entity);

            return(new Response <TeamDTO>
            {
                Data = result
            });
        }
示例#5
0
 public async Task <Response <TeamDTO> > Create([FromQuery, Required] Guid companyId, [FromBody] TeamCreateDTO dto)
 {
     return(await _handler.Create(companyId, dto, User));
 }
示例#6
0
        public IActionResult Post([FromBody] TeamCreateDTO teamDTO)
        {
            _teamApplication.Create(teamDTO);

            return(Ok("Time cadastrato com sucesso!"));
        }
示例#7
0
        public async Task <Response <SignUpStepDTO <TeamDTO> > > SignUpTeam(TeamCreateDTO dto, ClaimsPrincipal claims)
        {
            var result = await _service.SignUpTeam(claims.GetUserId(), dto);

            return(result);
        }
示例#8
0
        public async Task <Response <TeamDTO> > Create(Guid companyId, TeamCreateDTO dto, ClaimsPrincipal claims)
        {
            var result = await _service.Create(claims.GetUserId(), companyId, dto);

            return(result);
        }
示例#9
0
        public void Create(TeamCreateDTO teamsDTO)
        {
            var teams = new TeamEntity(teamsDTO.Name, teamsDTO.Modality, teamsDTO.QtdPlayers);

            _teamRepository.Create(teams);
        }
示例#10
0
        public async Task <Response <SignUpStepDTO <TeamDTO> > > SignUpTeam(Guid userId, TeamCreateDTO dto)
        {
            var step = await _repository.GetRegistrationStepByUserId(userId);

            var stepValidate = ValidateStep <TeamDTO>(step, RegistrationStep.TeamCreated);

            if (!stepValidate.IsSuccess)
            {
                return(stepValidate);
            }

            if (step.Status == MembershipStatus.Member)
            {
                return(new ForbiddenErrorResponse <SignUpStepDTO <TeamDTO> >(new Error
                {
                    Code = ErrorCodes.Security.Forbidden,
                    Message = ErrorMessages.Security.Forbidden
                }));
            }

            var companyPage = await _companiesProvider.GetUserCompanies(userId, new PageModel());

            var company = companyPage.Data.Items.FirstOrDefault();

            if (company == null)
            {
                step = await _repository.SetRegistrationStep(userId, RegistrationStep.UsernameEntered);

                return(new BusinessConflictErrorResponse <SignUpStepDTO <TeamDTO> >(new []
                {
                    new Error
                    {
                        Code = ErrorCodes.Business.InvalidRegistrationStep,
                        Message = ErrorMessages.Business.InvalidRegistrationStep
                    }
                })
                {
                    Data = new SignUpStepDTO <TeamDTO>
                    {
                        RegistrationStep = _mapper.Map <UserRegistrationStepModel, UserRegistrationStepDTO>(step)
                    }
                });
            }

            var team = await _teamsService.Create(userId, company.CompanyId, dto, false);

            if (team.IsSuccess)
            {
                step = await _repository.SetRegistrationStep(userId, RegistrationStep.TeamCreated);
            }


            return(new Response <SignUpStepDTO <TeamDTO> >
            {
                Data = new SignUpStepDTO <TeamDTO>
                {
                    Data = team.Data,
                    RegistrationStep = _mapper.Map <UserRegistrationStepModel, UserRegistrationStepDTO>(step)
                }
            });
        }
示例#11
0
 public async Task <Response <SignUpStepDTO <TeamDTO> > > CreateTeam([Required, FromBody] TeamCreateDTO dto)
 {
     return(await _handler.SignUpTeam(dto, User));
 }
示例#12
0
        public async Task <ActionResult <TeamDTO> > Create([FromBody] TeamCreateDTO dto)
        {
            var team = await teamService.CreateTeam(dto);

            return(Created($"api/Teams/{team.Id}", team));
        }