예제 #1
0
 public void FinishDelivery()
 {
     if (Status != SupplierStatus.Occupied)
     {
         throw new DomainException("Only an occupied supplier can finish delivery.");
     }
     Status = SupplierStatus.Free;
 }
예제 #2
0
        }                      // For EF

        public void StartDelivery()
        {
            if (Status != SupplierStatus.Free)
            {
                throw new DomainException("Only a free supplier can start delivery.");
            }
            Status = SupplierStatus.Occupied;
        }
예제 #3
0
 private void ShouldItBeMarkedAvailableOrUnavailable()
 {
     if (LoadedWeight == Limit && Status is Available)
     {
         Status = Unavailable;
     }
     else if (LoadedWeight < Limit && Status is Unavailable)
     {
         Status = Available;
     }
 }
예제 #4
0
        public Supplier(string firstName, string lastName)
        {
            if (string.IsNullOrWhiteSpace(firstName))
            {
                throw new DomainException(new ArgumentException("First name of a supplier cannot be empty",
                                                                nameof(firstName)));
            }
            if (string.IsNullOrWhiteSpace(lastName))
            {
                throw new DomainException(new ArgumentException("Last name of a supplier cannot be empty",
                                                                nameof(lastName)));
            }

            FirstName = firstName;
            LastName  = lastName;
            Status    = SupplierStatus.Free;
        }