/// <summary> /// retrieves ship info /// </summary> /// <param name="shipId">shipIds attribute</param> /// <param name="isFullInfo">if set to <c>true</c> [is full information].</param> /// <returns> /// returns ship info /// </returns> public async Task<ShipInfo> RetrieveShipInfo(string shipId, bool isFullInfo) { var shipInfo = new ShipInfo(); var voyageCollection = await DIContainer.Instance.Resolve<VoyageClientRepository>().RetrieveVoyageListAsync(shipId); shipInfo.AssignVoyageCollection(voyageCollection.Items.Where(a => a.IsActive).ToList()); if (isFullInfo) { var gangwayLocations = await this.referenceDataRepository.RetrieveGangwayLocationListAsync(shipId); shipInfo.AssignGangwayLocations(gangwayLocations); var stateroomCategories = await this.referenceDataRepository.RetrieveStateroomCategoryListAsync(shipId); shipInfo.AssignStateroomCategoryCollection(stateroomCategories.Items); } shipInfo.ShipId = shipId; return shipInfo; }