コード例 #1
0
        public void Handle(TravelPlansChanged e)
        {
            var tournament = GetTournamentFromContingentId(e.Id);

            var travelPlans = e.TravelPlans.Select(travelPlan => new TravelPlan
            {
                FlightNumber         = travelPlan.FlightNumber,
                ModeOfTransportation = travelPlan.ModeOfTransportation,
                NumberOfPeople       = travelPlan.NumberOfPeople,
                Type = travelPlan.Type,
                When = travelPlan.When,
            }).ToList();

            var contingentPlans = tournament.ContingentTravelPlans.FirstOrDefault(x => x.Id == e.Id);

            if (contingentPlans != null)
            {
                contingentPlans.TravelPlans.Clear();
            }
            else
            {
                var contingent = Contingents.Single(x => x.Key == e.Id);
                contingentPlans = new ContingentTravelPlans
                {
                    Id       = contingent.Key,
                    Province = contingent.Value,
                };
                tournament.ContingentTravelPlans.Add(contingentPlans);
            }

            travelPlans.ForEach(contingentPlans.TravelPlans.Add);
        }
コード例 #2
0
 public void Apply(TravelPlansChanged e)
 {
     TravelPlans = e.TravelPlans.Select(x => new TravelPlan(x)).ToList();
 }