コード例 #1
0
        /// <summary>
        /// Setups the data.
        /// </summary>
        private void SetupData()
        {
            Domain.Dependencies.Register();
            DataAccess.Dependencies.Register();

            Workstation ws = DIContainer.Instance.Resolve<Workstation>();

            ws.Port = new Port { PortId = "1" };
            ws.Ship = new Ship { ShipId = "1" };
            ws.GangwayLocation = new GangwayLocation { LocationId = "1" };
            ws.GangwayServiceBaseAddress = "http://Localhost/";
            ws.ConfigurationServiceBaseAddress = "http://Localhost/";
            ws.AuthenticationServiceBaseAddress = "http://Localhost/";
            ws.AuthorizationServiceBaseAddress = "http://Localhost/";
            ws.ConnectionMode = ConnectionMode.Online;
            ws.GangwayServiceBaseAddress = "http://Localhost/";
            ws.ConfigurationServiceBaseAddress = "http://Localhost/";
            ws.AuthenticationServiceBaseAddress = "http://Localhost/";
            ws.AuthorizationServiceBaseAddress = "http://Localhost/";
            var intCollection = new Collection<int>();
            intCollection.Add(0);
            var brand = new Brand { BrandId = "3", Name = "Carnival Breeze", MediaItemAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23" };
            brand.AssignPortIds(intCollection);
            ws.Brand = brand;

            this.embarkationStatistics = new EmbarkationStatistics { CrewEmbarkation = new CrewEmbarkStats { Ashore = 100, SignIn = 50, DebarkingToday = 50, ExpectedToday = 150, Onboard = 100, TotalOccupancy = 500 }, GuestEmbarkation = new GuestEmbarkStats { Ashore = 100, CheckedIn = 400, DebarkingToday = 140, ExpectedToday = 400, NotCheckedIn = 200, Onboard = 100, TotalOccupancy = 300 }, VisitorEmbarkation = new VisitorEmbarkStats { ExpectedToday = 100, Onboard = 50 }, CurrentBoardingNumber = 8 };
            embarkationStatistics.AssignCountryEmbarkStats(intCollection);

            this.repository = new Mock<IRepository>();
            this.embarkationStatisticsRepositoryMock = new Mock<EmbarkationStatisticsRepository>();
            this.personServiceRepositoryMock = new Mock<PersonServiceRepository>();
            this.photoCaptureRepositoryMock = new Mock<PhotoCaptureRepository>();
            this.shipTimeRepositoryMock = new Mock<ShipTimeRepository>();
            this.referenceDataRepositoryMock = new Mock<ReferenceDataRepository>();
            this.gangwayEventRepositoryMock = new Mock<GangwayEventRepository>();
            this.embarkationStatisticsClient = new Mock<IEmbarkationStatisticsClient>();

            DIContainer.Instance.RegisterInstance<IEmbarkationStatisticsClient>(this.embarkationStatisticsClient.Object);

            DIContainer.Instance.RegisterInstance<IRepository>(this.repository.Object);
            DIContainer.Instance.RegisterInstance<ReferenceDataRepository>(this.referenceDataRepositoryMock.Object);
            DIContainer.Instance.RegisterInstance<EmbarkationStatisticsRepository>(this.embarkationStatisticsRepositoryMock.Object);
            DIContainer.Instance.RegisterInstance<GangwayEventRepository>(this.gangwayEventRepositoryMock.Object);
            DIContainer.Instance.RegisterInstance<PhotoCaptureRepository>(this.photoCaptureRepositoryMock.Object);
            DIContainer.Instance.RegisterInstance<PersonServiceRepository>(this.personServiceRepositoryMock.Object);
            DIContainer.Instance.RegisterInstance<ShipTimeRepository>(this.shipTimeRepositoryMock.Object);

            this.embarkationStatisticsRepositoryMock.Setup(data => data.RetrieveEmbarkationStatisticsAsync(It.IsNotNull<string>(), It.IsAny<string>(), It.IsAny<string>())).Returns(Task.FromResult(this.embarkationStatistics));
            ////this.embarkationStatisticsClient.Setup(data => data.RetrieveEmbarkationStatisticsAsync(It.IsNotNull<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())).Returns(Task.FromResult("{CurrentBoardingNumber:8}"));
        }
コード例 #2
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);
        }