public Vessel(long id, string code, string name, string description, long companyId, VesselStates vesselState, bool isActive) { Id = id; Code = code; Name = name; Description = description; CompanyId = companyId; VesselState = vesselState; IsActive = isActive; }
public VesselInCompanyState CreatState(VesselStates state) { switch (state) { case VesselStates.Inactive: return CreateInactiveVesselInCompanyState(); case VesselStates.CharterIn: return CreateCharteredInVesselInCompanyState(); case VesselStates.CharterOut: return CreateCharteredOutVesselInCompanyState(); case VesselStates.Owned: return CreateOwnedVesselInCompanyState(); case VesselStates.Scrapped: return CreateScrappedVesselInCompanyState(); default: throw new ArgumentOutOfRangeException("Vessel State"); } }
protected VesselInCompanyState(IVesselInCompanyStateFactory vesselInCompanyStateFactory, VesselStates state) { this.VesselInCompanyStateFactory = vesselInCompanyStateFactory; this.State = state; }
//================================================================================ private void validateVesselState(VesselStates vesselState) { if (vesselState != VesselStates.CharterIn && vesselState != VesselStates.CharterOut) throw new BusinessRuleException("", "Vessel is not in valid state."); }