コード例 #1
0
        /// <summary>
        /// Function to map embarkation statistics.
        /// </summary>
        /// <param name="dataReader">Instance of SqlDataReader</param>
        /// <returns>Instance of EmbarkationStatistics</returns>
        internal static async Task<EmbarkationStatistics> MapEmbarkationStatistics(SqlDataReader dataReader)
        {
            var embarkationStatistics = new EmbarkationStatistics();

            if (dataReader != null)
            {
                embarkationStatistics.CurrentBoardingNumber = await MapCurrentBoardingNumber(dataReader);

                await dataReader.NextResultAsync();
                embarkationStatistics.CrewEmbarkation = await MapCrewEmbarkStatistics(dataReader);

                await dataReader.NextResultAsync();
                embarkationStatistics.AssignCountryEmbarkStats(await MapCountryEmbarkStatistics(dataReader));

                await dataReader.NextResultAsync();
                embarkationStatistics.AssignBoardingEmbarkStats(await MapBoardingEmbarkStats(dataReader));

                await dataReader.NextResultAsync();
                embarkationStatistics.GuestEmbarkation = await MapGuestEmbarkStatistics(dataReader);

                await dataReader.NextResultAsync();
                embarkationStatistics.VisitorEmbarkation = await MapVisitorEmbarkStatistics(dataReader);

                if (!dataReader.IsClosed)
                {
                    dataReader.Close();
                }
            }

            return await Task.FromResult(embarkationStatistics);
        }