public override void EndCharterOut(VesselInCompany vesselInCompany)
 {
     if (vesselInCompany.CompanyId == vesselInCompany.Vessel.OwnerId)
     {
         vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.Owned));
     }
     else
     {
         vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.CharterIn));
     }
 }
        public override void Activate(VesselInCompany vesselInCompany)
        {
            if (vesselInCompany.CompanyId == vesselInCompany.Vessel.OwnerId)
            {
                vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.Owned));
            }
            else
            {
                throw new InvalidStateException("Activate", string.Format("Cannot activate the vessel."));

            }
        }
 public override void StartCharterIn(VesselInCompany vesselInCompany)
 {
     {
         if (vesselInCompany.CompanyId != vesselInCompany.Vessel.OwnerId)
         {
             vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.CharterIn));
         }
         else
         {
             throw new InvalidStateException("StartCharterIn", string.Format("Cannot start the Charter In of the vessel."));
         }
     }
 }
 public override void StartCharterOut(VesselInCompany vesselInCompany)
 {
     vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.CharterOut));
 }
 public override void Scrap(VesselInCompany vesselInCompany)
 {
     vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.Scrapped));
 }
 public override void Deactivate(VesselInCompany vesselInCompany)
 {
     vesselInCompany.SetState(this.VesselInCompanyStateFactory.CreatState(VesselStates.Inactive));
 }