예제 #1
0
파일: Catalog.cs 프로젝트: ToJans/dypsok
 public void RegisterProduct(ProductId Id, IEnumerable<FareZone> FareZones)
 {
     Guard.Against<TooManyFareZonesException>(FareZones.Count() > 3);
     Guard.Against<DuplicateProductIdException>(Queries.IdExists(Id));
     if (Id == ProductId.Empty) Id = ProductIdGenerator.Next();
     Changes.ProductRegistered(Id);
 }
예제 #2
0
파일: Catalog.cs 프로젝트: ToJans/dypsok
 public void RegisterSubscription(ProductId Id, IEnumerable<FareZone> FareZones, PaymentSchedule Schedule)
 {
     Guard.With<PaymentScheduleRequiredException>(Schedule != PaymentSchedule.Empty);
     RegisterProduct(Id, FareZones);
 }
예제 #3
0
 bool IQueryACatalog.IdExists(ProductId Id)
 {
     return RegisteredProductIds.Contains(Id);
 }
예제 #4
0
 void IChangeACatalog.ProductRegistered(ProductId Id)
 {
     RegisteredProductIds.Add(Id);
 }