public void FinishDelivery() { if (Status != SupplierStatus.Occupied) { throw new DomainException("Only an occupied supplier can finish delivery."); } Status = SupplierStatus.Free; }
} // For EF public void StartDelivery() { if (Status != SupplierStatus.Free) { throw new DomainException("Only a free supplier can start delivery."); } Status = SupplierStatus.Occupied; }
private void ShouldItBeMarkedAvailableOrUnavailable() { if (LoadedWeight == Limit && Status is Available) { Status = Unavailable; } else if (LoadedWeight < Limit && Status is Unavailable) { Status = Available; } }
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; }