Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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);
        }