protected override void Before_all_specs()
        {
            SetupDatabase(ShopGunSpecBase.Database.ShopGun, typeof(Base).Assembly);
            _productBuilder = new ProductBuilder();

            _productAdviceRepository = new Repository<ProductAdvice>(GetNewDataContext());
            _productAdviceDomainService =
                new ProductAdviceDomainService(new ProductRepository(GetNewDataContext()),
                                                   _productAdviceRepository, GetNewDataContext());

            _productRepository = new ProductRepository(GetNewDataContext());
            _semaphoreRepository = new Repository<Semaphore>(GetNewDataContext());
            _mentorRepository = new Repository<Mentor>(GetNewDataContext());     

            _mentor = new Mentor
                          {
                MentorName = "Consumentor"
            };
            _mentorRepository.Add(_mentor);
            _mentorRepository.Persist();

            _redSemaphore = new Semaphore
                             {
                ColorName = "Red",
                Value = -1
            };
            _semaphoreRepository.Add(_redSemaphore);
            _greenSemaphore = new Semaphore
                                  {
                                      ColorName = "Green",
                                      Value = 1
                                  };
            _semaphoreRepository.Add(_greenSemaphore);
            _semaphoreRepository.Persist();

            _product = ProductBuilder.BuildProduct();
            _productRepository.Add(_product);
            _productRepository.Persist();

            base.Before_each_spec();
        }
        protected override void Before_all_specs()
        {
            SetupDatabase(ShopGunSpecBase.Database.ShopGun, typeof(Base).Assembly);
            _statisticsDomainService = new StatisticsDomainService(new Repository<Brand>(GetNewDataContext()),
                                                                   new Repository<Company>(GetNewDataContext()),
                                                                   new Repository<Country>(GetNewDataContext()),
                                                                   new Repository<Product>(GetNewDataContext()),
                                                                   new Repository<Ingredient>(GetNewDataContext()),
                                                                   new Repository<Concept>(GetNewDataContext()),
                                                                   new Repository<AdviceBase>(GetNewDataContext()));

            _productBuilder = new ProductBuilder();
            _product = ProductBuilder.BuildProduct();
            _user = UserBuilder.BuildUser();
            using (var dataContext = GetNewDataContext())
            {
                dataContext.GetTable<Product>().InsertOnSubmit(_product);
                dataContext.GetTable<User>().InsertOnSubmit(_user);
                dataContext.SubmitChanges();
            }
            _searchResultMessageEntity = new SearchResultMessageEntity {Products = new List<Product> {_product}};
            base.Before_all_specs();
        }