public async Task <RequestTeam> AddRequestTeam(AddRequestTeamDto dto) { var requestedFee = dto.TeamType == TeamType.School.Id ? 0 : dto.RequestedFee; var reservationNumber = await ReservationNumberFactory.Create(this.reservationNumberRepository); var requestTeam = new RequestTeam( dto.TeamId, dto.SeasonId, reservationNumber, ApproveState.Unapproved, DateTime.Now, new RequestedFee(requestedFee), null, MailState.Unsent ); return(await this.requestTeamRepository.Add(requestTeam)); }
public void 登録団体情報を設定() { var now = DateTime.Now; var act = new RequestTeam( 1, 1, new ReservationNumber(), ApproveState.Unapproved, now, new RequestedFee(5000), null, MailState.Unsent ); Assert.Equal(1, act.TeamId); Assert.Equal(1, act.SeasonId); Assert.Equal(new ReservationNumber(), act.ReservationNumber); Assert.Equal(ApproveState.Unapproved, act.ApproveState); Assert.Equal(now, act.RequestedDateTime); Assert.Equal(5000, act.RequestedFee.Value); Assert.Null(act.ApproveDateTime); Assert.Equal(MailState.Unsent, act.MailState); }
/// <summary> /// 団体新規登録申請 /// </summary> /// <param name="dto">団体申請用 DTO。</param> /// <returns>団体</returns> public async Task <Team> RequestTeamNewRegistration(RequestTeamNewRegistrationDto dto) { var team = new Team( null, Enumeration.FromValue <TeamType>(dto.TeamType), new TeamName(dto.TeamName), TeamAbbreviatedName.Parse(dto.TeamName), dto.RepresentativeName, dto.RepresentativeEmailAddress, dto.TelephoneNumber, dto.Address, dto.CoachName, dto.CoachEmailAddress, null); team = await this.teamRepository.Add(team); var season = await this.seasonRepository.FindByDate(DateTime.Today); var teamRegistrationFee = team.TeamType == TeamType.School ? 0 : season.TeamRegistrationFee.Value; var reservationNumber = await ReservationNumberFactory.Create(this.reservationNumberRepository); var requestTeam = new RequestTeam( team.Id, season.Id, reservationNumber, ApproveState.Unapproved, DateTime.Now, new RequestedFee(teamRegistrationFee), null, MailState.Unsent ); await this.requestTeamRepository.Add(requestTeam); return(team); }