Example #1
0
        public void GivenCountryWhenValidatingThenRequiredRelationsMustExist()
        {
            var builder = new CountryBuilder(this.DatabaseSession);
            builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            builder.WithIsoCode("XX").Build();
            builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithName("X Country");

            builder.Build();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder = new CountryBuilder(this.DatabaseSession);
            builder.WithName("X Country");

            builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);
        }
        public void GivenCountryWhenValidatingThenRequiredRelationsMustExist()
        {
            var builder = new CountryBuilder(this.Session);

            builder.Build();

            Assert.IsTrue(this.Session.Derive().HasErrors);

            builder.WithIsoCode("XX").Build();
            builder.Build();

            Assert.IsTrue(this.Session.Derive().HasErrors);

            this.Session.Rollback();

            builder.WithName("X Country");

            builder.Build();

            Assert.IsFalse(this.Session.Derive().HasErrors);

            this.Session.Rollback();

            builder = new CountryBuilder(this.Session);
            builder.WithName("X Country");

            builder.Build();

            Assert.IsTrue(this.Session.Derive().HasErrors);
        }
        protected override void Given()
        {
            base.Given();

            var model = CountryBuilder.Typical().Build();

            _model = SUT.AddAsync(AdminUserId, model).Result;
            Assert.IsNotNull(SUT.GetAsync(AdminUserId, _model.Id).Result);
        }
        protected override void Given()
        {
            base.Given();

            _models = new List<Country>
            {
                CountryBuilder.Typical().Build(),
                CountryBuilder.Typical().Build()
            };

            _originalCount = SUT.CountAsync().Result;
        }
Example #5
0
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            foreach (var property in builder.Model.GetEntityTypes().SelectMany(t => t.GetProperties()).Where(p => p.ClrType == typeof(decimal)))
            {
                property.Relational().ColumnType = "decimal(18, 2)";
            }
            var brandBuilder            = new BrandBuilder(builder.Entity <Brand>());
            var colorBuilder            = new ColorBuilder(builder.Entity <Color>());
            var fileBuilder             = new FileBuilder(builder.Entity <File>());
            var languageBuilder         = new LanguageBuilder(builder.Entity <Language>());
            var pageBuilder             = new PageBuilder(builder.Entity <Page>());
            var postBuilder             = new PostBuilder(builder.Entity <Post>());
            var postCategoryBuilder     = new PostCategoryBuilder(builder.Entity <PostCategory>());
            var postPostCategoryBuilder = new PostPostCategoryBuilder(builder.Entity <PostPostCategory>());
            var productBuilder          = new ProductBuilder(builder.Entity <Product>());
            var productCategoryBuilder  = new ProductCategoryBuilder(builder.Entity <ProductCategory>());
            var productColorBuilder     = new ProductColorBuilder(builder.Entity <ProductColor>());
            var productPhotoBuilder     = new ProductPhotoBuilder(builder.Entity <ProductPhoto>());
            var reviewBuilder           = new ReviewBuilder(builder.Entity <Review>());
            var slideBuilder            = new SlideBuilder(builder.Entity <Slide>());
            var sliderBuilder           = new SliderBuilder(builder.Entity <Slider>());
            var advertisementBuilder    = new AdvertisementBuilder(builder.Entity <Advertisement>());
            var storeBuilder            = new StoreBuilder(builder.Entity <Store>());
            var storeBrandBuilder       = new StoreBrandBuilder(builder.Entity <StoreBrand>());
            var wishlistBuilder         = new WishlistBuilder(builder.Entity <Wishlist>());
            var orderBuilder            = new OrderBuilder(builder.Entity <Order>());
            var orderItemBuilder        = new OrderItemBuilder(builder.Entity <OrderItem>());
            var addressBuilder          = new AddressBuilder(builder.Entity <Address>());
            var cityBuilder             = new CityBuilder(builder.Entity <City>());
            var countryBuilder          = new CountryBuilder(builder.Entity <Country>());
            var couponBuilder           = new CouponBuilder(builder.Entity <Coupon>());
            var districtBuilder         = new DistrictBuilder(builder.Entity <District>());
            var productQuestionBuilder  = new ProductQuestionBuilder(builder.Entity <ProductQuestion>());
            var questionCategoryBuilder = new QuestionCategoryBuilder(builder.Entity <QuestionCategory>());
            var shipperBuilder          = new ShipperBuilder(builder.Entity <Shipper>());
            var cartBuilder             = new CartBuilder(builder.Entity <Cart>());
            var cartItemBuilder         = new CartItemBuilder(builder.Entity <CartItem>());

            // data seeding
            ApplicationDbContextSeed.Seed(builder);
        }
Example #6
0
        public void Context()
        {
            var country = new CountryBuilder().Build();

            UnitOfWork.Save(country);

            var cinema = new CinemaBuilder().Build();

            UnitOfWork.Save(cinema);

            _film = new FilmBuilder().Build();
            UnitOfWork.Save(_film);

            var location = new LocationBuilder()
                           .WithCountry(country)
                           .WithLocationFilms(new LocationFilmArgs
            {
                Film    = _film,
                Cinemas = new[]
                {
                    new LocationFilmCinemaArgs {
                        Cinema = cinema
                    }
                }
            })
                           .Build();

            UnitOfWork.Save(location);

            UnitOfWork.Clear();

            var locationFilmId = location.Films.Single().Id;

            _filmRatingDto = UnitOfWork.Session.QueryOver <LocationFilmDto>()
                             .Where(x => x.Id == locationFilmId)
                             .List().Single()
                             .Ratings.SingleOrDefault();
        }
        protected override void Before_all_specs()
        {
            SetupDatabase(ShopGunSpecBase.Database.ShopGun, typeof(Base).Assembly);

            _productRepository         = new ProductRepository(GetNewDataContext());
            _productApplicationService = new ProductApplicationService(null, null, null, null, null);

            _brand = BrandBuilder.BuildBrand();
            using (var brandRepository = new Repository <Brand>(GetNewDataContext()))
            {
                brandRepository.Add(_brand);
                brandRepository.Persist();
            }

            _country = CountryBuilder.BuildCountry();
            using (var countryRepository = new Repository <Country>(GetNewDataContext()))
            {
                countryRepository.Add(_country);
                countryRepository.Persist();
            }

            _mentor            = MentorBuilder.BuildMentor();
            _certificationMark = CertificationMarkBuilder.BuildCertificationMark(_mentor);
            using (var certificationMarkRepository = new Repository <CertificationMark>(GetNewDataContext()))
            {
                certificationMarkRepository.Add(_certificationMark);
                certificationMarkRepository.Persist();
            }

            _ingredient = IngredientBuilder.BuildIngredient();
            using (var ingredientRepository = new Repository <Ingredient>(GetNewDataContext()))
            {
                ingredientRepository.Add(_ingredient);
                ingredientRepository.Persist();
            }
        }
 public void SetUp()
 {
     _builder = new CountryBuilder();
 }
Example #9
0
        public void Sync()
        {
            var englishNameByCountry = new Dictionary<Country, string>();
            var englishNameByCurrency = new Dictionary<Currency, string>();
            var englishNameByLanguage = new Dictionary<Language, string>();

            var countryByIsoCode = new Dictionary<string, Country>();
            foreach (Country country in new Countries(this.Session).Extent())
            {
                countryByIsoCode.Add(country.IsoCode, country);
            }

            var languageByIsoCode = new Dictionary<string, Language>();
            foreach (Language language in new Languages(this.Session).Extent())
            {
                languageByIsoCode.Add(language.IsoCode, language);
            }

            var currencyByIsoCode = new Dictionary<string, Currency>();
            foreach (Currency currency in new Currencies(this.Session).Extent())
            {
                currencyByIsoCode.Add(currency.IsoCode, currency);
            }

            var localeByName = new Dictionary<string, Locale>();
            foreach (Locale locale in new Locales(this.Session).Extent())
            {
                localeByName.Add(locale.Name, locale);
            }

            foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                if (cultureInfo.LCID != 127)
                {
                    var languageIsoCode = cultureInfo.TwoLetterISOLanguageName.ToLower();
                    Language language;
                    if (!languageByIsoCode.TryGetValue(languageIsoCode, out language))
                    {
                        language = new LanguageBuilder(this.Session)
                            .WithIsoCode(languageIsoCode)
                            .Build();

                        languageByIsoCode.Add(languageIsoCode, language);
                        englishNameByLanguage.Add(language, cultureInfo.Parent.EnglishName);
                    }

                    Country country = null;
                    var regionInfo = new RegionInfo(cultureInfo.LCID);

                    // Should be upper, but just in case ...
                    var countryIsoCode = regionInfo.TwoLetterISORegionName.ToUpper();

                    // sometimes a 2 letter code is a 3 digit code ...
                    if (countryIsoCode.Length == 2)
                    {
                        if (!countryByIsoCode.TryGetValue(countryIsoCode, out country))
                        {
                            country = new CountryBuilder(this.Session).WithIsoCode(countryIsoCode).Build();

                            englishNameByCountry.Add(country, regionInfo.EnglishName);
                            countryByIsoCode.Add(countryIsoCode, country);
                        }

                        var currencyIsoCode = regionInfo.ISOCurrencySymbol.ToUpper();
                        Currency currency;
                        if (!currencyByIsoCode.TryGetValue(currencyIsoCode, out currency))
                        {
                            currency = new CurrencyBuilder(this.Session).WithIsoCode(currencyIsoCode).WithSymbol(regionInfo.CurrencySymbol).Build();

                            currencyByIsoCode.Add(currencyIsoCode, currency);
                            englishNameByCurrency.Add(currency, regionInfo.CurrencyEnglishName);
                        }

                        if (country != null)
                        {
                            country.Currency = currency;
                        }
                    }

                    var localeIdentifier = cultureInfo.Name;

                    Locale locale;
                    if (!localeByName.TryGetValue(localeIdentifier, out locale))
                    {
                        if (country != null && language != null)
                        {
                            locale = new LocaleBuilder(this.Session)
                                .WithName(cultureInfo.Name)
                                .WithCountry(country)
                                .WithLanguage(language)
                                .Build();

                            localeByName.Add(localeIdentifier, locale);
                        }
                    }
                    else
                    {
                        locale.Name = cultureInfo.Name;
                        locale.Language = language;
                        locale.Country = country;
                    }
                }
            }

            var englishLocale = localeByName[EnglishGreatBritainName];

            foreach (var country in countryByIsoCode.Values)
            {
                if (englishNameByCountry.ContainsKey(country))
                {
                    var enlgishName = englishNameByCountry[country];

                    var englishCountryName = new LocalisedTextBuilder(this.Session)
                        .WithText(enlgishName)
                        .WithLocale(englishLocale)
                        .Build();

                    country.Name = enlgishName;
                    country.AddLocalisedName(englishCountryName);
                }
            }

            foreach (var currency in currencyByIsoCode.Values)
            {
                if (englishNameByCurrency.ContainsKey(currency))
                {
                    var englishName = englishNameByCurrency[currency];

                    var englishCurrencyName = new LocalisedTextBuilder(this.Session)
                        .WithText(englishName)
                        .WithLocale(englishLocale)
                        .Build();

                    currency.Name = englishName;
                    currency.AddLocalisedName(englishCurrencyName);
                }
            }

            foreach (var language in languageByIsoCode.Values)
            {
                if (englishNameByLanguage.ContainsKey(language))
                {
                    var englishName = englishNameByLanguage[language];

                    var englishLanguageName = new LocalisedTextBuilder(this.Session)
                        .WithText(englishName)
                        .WithLocale(englishLocale)
                        .Build();

                    language.Name = englishName;
                    language.AddLocalisedName(englishLanguageName);
                }
            }
        }
Example #10
0
        public void Sync()
        {
            var englishNameByCountry  = new Dictionary <Country, string>();
            var englishNameByCurrency = new Dictionary <Currency, string>();
            var englishNameByLanguage = new Dictionary <Language, string>();

            var countryByIsoCode = new Dictionary <string, Country>();

            foreach (Country country in new Countries(this.Session).Extent())
            {
                countryByIsoCode.Add(country.IsoCode, country);
            }

            var languageByIsoCode = new Dictionary <string, Language>();

            foreach (Language language in new Languages(this.Session).Extent())
            {
                languageByIsoCode.Add(language.IsoCode, language);
            }

            var currencyByIsoCode = new Dictionary <string, Currency>();

            foreach (Currency currency in new Currencies(this.Session).Extent())
            {
                currencyByIsoCode.Add(currency.IsoCode, currency);
            }

            var localeByName = new Dictionary <string, Locale>();

            foreach (Locale locale in new Locales(this.Session).Extent())
            {
                localeByName.Add(locale.Name, locale);
            }

            foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                if (cultureInfo.LCID != 127)
                {
                    var      languageIsoCode = cultureInfo.TwoLetterISOLanguageName.ToLower();
                    Language language;
                    if (!languageByIsoCode.TryGetValue(languageIsoCode, out language))
                    {
                        language = new LanguageBuilder(this.Session)
                                   .WithIsoCode(languageIsoCode)
                                   .Build();

                        languageByIsoCode.Add(languageIsoCode, language);
                        englishNameByLanguage.Add(language, cultureInfo.Parent.EnglishName);
                    }

                    Country country    = null;
                    var     regionInfo = new RegionInfo(cultureInfo.LCID);

                    // Should be upper, but just in case ...
                    var countryIsoCode = regionInfo.TwoLetterISORegionName.ToUpper();

                    // sometimes a 2 letter code is a 3 digit code ...
                    if (countryIsoCode.Length == 2)
                    {
                        if (!countryByIsoCode.TryGetValue(countryIsoCode, out country))
                        {
                            country = new CountryBuilder(this.Session).WithIsoCode(countryIsoCode).Build();

                            englishNameByCountry.Add(country, regionInfo.EnglishName);
                            countryByIsoCode.Add(countryIsoCode, country);
                        }

                        var      currencyIsoCode = regionInfo.ISOCurrencySymbol.ToUpper();
                        Currency currency;
                        if (!currencyByIsoCode.TryGetValue(currencyIsoCode, out currency))
                        {
                            currency = new CurrencyBuilder(this.Session).WithIsoCode(currencyIsoCode).WithSymbol(regionInfo.CurrencySymbol).Build();

                            currencyByIsoCode.Add(currencyIsoCode, currency);
                            englishNameByCurrency.Add(currency, regionInfo.CurrencyEnglishName);
                        }

                        if (country != null)
                        {
                            country.Currency = currency;
                        }
                    }

                    var localeIdentifier = cultureInfo.Name;

                    Locale locale;
                    if (!localeByName.TryGetValue(localeIdentifier, out locale))
                    {
                        if (country != null && language != null)
                        {
                            locale = new LocaleBuilder(this.Session)
                                     .WithName(cultureInfo.Name)
                                     .WithCountry(country)
                                     .WithLanguage(language)
                                     .Build();

                            localeByName.Add(localeIdentifier, locale);
                        }
                    }
                    else
                    {
                        locale.Name     = cultureInfo.Name;
                        locale.Language = language;
                        locale.Country  = country;
                    }
                }
            }

            var englishLocale = localeByName[EnglishGreatBritainName];

            foreach (var country in countryByIsoCode.Values)
            {
                if (englishNameByCountry.ContainsKey(country))
                {
                    var enlgishName = englishNameByCountry[country];

                    var englishCountryName = new LocalisedTextBuilder(this.Session)
                                             .WithText(enlgishName)
                                             .WithLocale(englishLocale)
                                             .Build();

                    country.Name = enlgishName;
                    country.AddLocalisedName(englishCountryName);
                }
            }

            foreach (var currency in currencyByIsoCode.Values)
            {
                if (englishNameByCurrency.ContainsKey(currency))
                {
                    var englishName = englishNameByCurrency[currency];

                    var englishCurrencyName = new LocalisedTextBuilder(this.Session)
                                              .WithText(englishName)
                                              .WithLocale(englishLocale)
                                              .Build();

                    currency.Name = englishName;
                    currency.AddLocalisedName(englishCurrencyName);
                }
            }

            foreach (var language in languageByIsoCode.Values)
            {
                if (englishNameByLanguage.ContainsKey(language))
                {
                    var englishName = englishNameByLanguage[language];

                    var englishLanguageName = new LocalisedTextBuilder(this.Session)
                                              .WithText(englishName)
                                              .WithLocale(englishLocale)
                                              .Build();

                    language.Name = englishName;
                    language.AddLocalisedName(englishLanguageName);
                }
            }
        }
        protected override void Given()
        {
            base.Given();

            _model = CountryBuilder.Simple().Build();
        }