/// <summary>
        /// Setups the manager.
        /// </summary>
        private void SetupData()
        {
            var countries = new Country { CountryId = "1", Name = "USA", SourceCode = "USA", CountryFlagAddress = "http://localhost" };

            var states = new State { StateId = "2", CountryId = "1", Name = "Florida" };

            var ports = new Port { PortId = "1", City = "Florida", Name = "Miami", State = "Florida", StateId = "2", CountryId = "1" };

            var brands = new Brand { BrandId = "5", Name = "Carnival", MediaItemAddress = "http://localhost" };

            var personTypes = new PersonTypeEntity { PersonTypeId = "1001", Name = "Daniel" };

            var loyaltyLevelTypes = new LoyaltyLevelType { LoyaltyLevelTypeId = "1001", Name = "abc", BrandId = "1", NoOfCruiseNights = 3, LogoImageAddress = "ABC" };

            var documentType = new DocumentType { CountryId = "231", Code = "USA", DocumentTypeId = "1", Name = "Passport" };

            var brand = new ListResult<Brand>();
            brand.Items.Add(brands);

            var country = new ListResult<Country>();
            country.Items.Add(countries);

            var state = new ListResult<State>();
            state.Items.Add(states);

            var port = new ListResult<Port>();
            port.Items.Add(ports);

            var personTypeEntity = new ListResult<PersonTypeEntity>();
            personTypeEntity.Items.Add(personTypes);

            var loyaltyLevelType = new ListResult<LoyaltyLevelType>();
            loyaltyLevelType.Items.Add(loyaltyLevelTypes);

            var documentTypes = new ListResult<DocumentType>();
            documentTypes.Items.Add(documentType);

            this.referenceDataRepository.Setup(data => data.RetrieveBrandListAsync()).Returns(Task.FromResult(brand));
            this.referenceDataRepository.Setup(data => data.RetrieveCountryListAsync(It.IsAny<string>(), It.IsAny<string>())).Returns(Task.FromResult(country));
            this.referenceDataRepository.Setup(data => data.RetrieveLoyaltyLevelTypeListAsync()).Returns(Task.FromResult(loyaltyLevelType));
            this.referenceDataRepository.Setup(data => data.RetrievePersonTypeListAsync()).Returns(Task.FromResult(personTypeEntity));
            this.referenceDataRepository.Setup(data => data.RetrievePortListAsync()).Returns(Task.FromResult(port));
            this.referenceDataRepository.Setup(data => data.RetrieveStateListAsync()).Returns(Task.FromResult(state));
            this.referenceDataRepository.Setup(data => data.RetrieveDocumentTypeListAsync()).Returns(Task.FromResult(documentTypes));
        }
        private void SetupReferenceData()
        {
            var countries = new Country { CountryId = "1", Name = "USA", Code = "USA" };

            var states = new State { StateId = "2", CountryId = "1", Name = "Florida" };

            var ports = new Port { PortId = "1", City = "Florida", Name = "Miami", State = "Florida", StateId = "2", CountryId = "1" };

            var brands = new Brand { BrandId = "1", Name = "Carnival" };

            var personTypes = new PersonTypeEntity { PersonTypeId = "1001", Name = "Daniel" };

            var loyaltyLevelTypes = new LoyaltyLevelType { LoyaltyLevelTypeId = "1001", Name = "abc", BrandId = "1", NoOfCruiseNights = 3, LogoImageAddress = "abc" };

            var documentType = new DocumentType { CountryId = "232", Code = "USA", DocumentTypeId = "1", Name = "Passport" };

            var brand = new BrandCollection();

            var country = new CountryCollection();
            country.Add(countries);

            var state = new StateCollection();
            state.Add(states);

            var documentTypes = new DocumentTypeCollection();
            documentTypes.Add(documentType);

            var port = new PortCollection();
            port.Add(ports);

            var personTypeEntity = new PersonTypeEntityCollection();
            personTypeEntity.Add(personTypes);

            var loyaltyLevelType = new LoyaltyLevelTypeCollection();
            loyaltyLevelType.Add(loyaltyLevelTypes);

            this.referenceData.AssignBrands(brand);
            this.referenceData.AssignCountries(country);
            this.referenceData.AssignStates(state);
            this.referenceData.AssignDocumentTypes(documentTypes);
            this.referenceData.AssignLoyaltyLevelTypes(loyaltyLevelType);
            this.referenceData.AssignPersonTypes(personTypeEntity);
            this.referenceData.AssignPorts(port);
        }
        /// <summary>
        /// Maps the loyalty level types.
        /// </summary>
        /// <param name="dataReader">The data reader.</param>
        /// <returns>Loyalty level types</returns>
        private static async Task<LoyaltyLevelTypeCollection> MapLoyaltyLevelTypes(SqlDataReader dataReader)
        {
            var loyaltyLevelTypeCollection = new LoyaltyLevelTypeCollection();
            if (dataReader != null)
            {
                while (await dataReader.ReadAsync())
                {
                    var loyaltyLevelType = new LoyaltyLevelType
                    {
                        LoyaltyLevelTypeId = dataReader.Int32Field(LoyaltyLevelTypeId).ToString(),
                        NoOfCruiseNights = dataReader.Int32Field(NoOfCruiseNights),
                        Name = dataReader.StringField(Name),
                        LogoImageAddress = dataReader.StringField(LogoImageAddress),
                        BrandId = dataReader.Int16Field(BrandId).ToString()
                    };

                    byte[] bytes = await loyaltyLevelType.LogoImageAddress.ImageAddressToByteArray();
                    loyaltyLevelType.LoyaltyIcon = bytes.ToBitmapSource();
                    loyaltyLevelTypeCollection.Add(loyaltyLevelType);
                }
            }

            return loyaltyLevelTypeCollection;
        }