protected override void When(object @event) { Facility facility; switch (@event) { case SkiPassCreated e: Id = new SkiPassId(e.Id); Name = new SkiPassName(e.Name); Facilities = new List <Facility>(); break; case SkiPassNameChanged e: Name = new SkiPassName(e.Name); break; case UpdatedDefault e: IsDefault = new SkiPassDefault(e.IsDefault); break; // facility case FacilityAddedToSkiPass e: facility = new Facility(Apply); ApplyToEntity(facility, e); Facilities.Add(facility); break; case FacilityNameChanged e: facility = FindFacility(new FacilityId(e.FacilityId)); ApplyToEntity(facility, @event); break; } }
public void UpdateDefault(SkiPassDefault skiPassDefault) { Apply(new UpdatedDefault { Id = Id, IsDefault = skiPassDefault }); }
public SkiPass(SkiPassId id, SkiPassName skiPassName, SkiPassDefault defaultSkiPass) { Facilities = new List <Facility>(); Apply(new SkiPassCreated { Id = id, Name = skiPassName }); }