public static void TestClassSetup(TestContext context)
        {
            // Setup
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddEntityFrameworkNpgsql()
            .AddDbContext <RestaurantReviewsContext>()
            .BuildServiceProvider();
            var builder = new DbContextOptionsBuilder <RestaurantReviewsContext>();

            // ToDo: factor this to somewhere less visible
            builder.UseNpgsql("Server=127.0.0.1;Port=5432;Database=RestaurantReviews;User Id=postgres;Password=password;");
            var dbContextOptions = builder.Options;

            RestaurantReviewsContext = new RestaurantReviewsContext();
            RestaurantReviewsContext.Database.Migrate();

            // Test Assertions
            Assert.IsTrue(RestaurantReviewsContext.Users.Count() >= DataSeeder.Users.Count()
                          , string.Format("Database has {0} Users and Seeder has {1}", RestaurantReviewsContext.Users.Count(), DataSeeder.Users.Count()));
            Assert.IsTrue(RestaurantReviewsContext.Restaurants.Count() >= DataSeeder.Restaurants.Count()
                          , string.Format("Database has {0} Restaurants and Seeder has {1}", RestaurantReviewsContext.Restaurants.Count(), DataSeeder.Restaurants.Count()));
            Assert.IsTrue(RestaurantReviewsContext.Reviews.Count() >= DataSeeder.Reviews.Count()
                          , string.Format("Database has {0} Reviews and Seeder has {1}", RestaurantReviewsContext.Reviews.Count(), DataSeeder.Reviews.Count()));
        }
        public bool CheckRestaurantExists(RestaurantModelDTO restaurant)
        {
            using (var db = new RestaurantReviewsContext())
            {
                var restaurantTable = db.TblRestaurant.Find(restaurant.Name, restaurant.City);

                if (restaurant != null)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #3
0
        public void SetupTestData()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();

            var options = new DbContextOptionsBuilder <RestaurantReviewsContext>()
                          .UseSqlite(connection)
                          .Options;

            RestaurantReviewsContext context = new RestaurantReviewsContext(options);

            repository           = new SystemRepository(context);
            validationRepository = new SystemRepository(context);
        }
예제 #4
0
        public bool CheckReviewerExists(ReviewerModelDTO reviewer)
        {
            using (var db = new RestaurantReviewsContext())
            {
                var reviewerRet = db.TblReviewer.Where(b => b.Name.CompareTo(reviewer.Name) == 0).FirstOrDefault();

                if (reviewerRet != null)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #5
0
        public ReviewerModelDTO AddReviewer(ReviewerModelDTO newReviewer)
        {
            ReviewerModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                TblReviewer reviewer = ModelFactory.Create(newReviewer);
                db.TblReviewer.Add(reviewer);
                db.SaveChanges();
                ret = ModelFactory.Create(reviewer);
            }

            return(ret);
        }
예제 #6
0
        public ReviewerModelDTO GetReviewerById(int id)
        {
            ReviewerModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                var reviewer = db.TblReviewer.Find(id);

                if (reviewer != null)
                {
                    ret = ModelFactory.Create(reviewer);
                }
            }
            return(ret);
        }
예제 #7
0
        public ReviewModelDTO DeleteReview(int id)
        {
            ReviewModelDTO ret = null;

            using (var db = new RestaurantReviewsContext())
            {
                TblReview review = db.TblReview.Find(id);
                if (review != null)
                {
                    db.TblReview.Remove(review);
                    db.SaveChanges();
                    ret = ModelFactory.Create(review);
                }
            }

            return(ret);
        }
        public RestaurantModelList GetRestaurants(string city)
        {
            RestaurantModelList ret = new RestaurantModelList();

            ret.RestaurantList = new List <RestaurantModelDTO>();

            using (var db = new RestaurantReviewsContext())
            {
                var restaurants = from r in db.TblRestaurant
                                  where r.City == city
                                  select r;

                foreach (TblRestaurant restaurant in restaurants)
                {
                    ret.RestaurantList.Add(ModelFactory.Create(restaurant));
                }
            }

            return(ret);
        }
예제 #9
0
        public ReviewModelList GetReviewsByReviewer(int reviewer_id)
        {
            ReviewModelList ret = new ReviewModelList();

            ret.ReviewList = new List <ReviewModelDTO>();

            using (var db = new RestaurantReviewsContext())
            {
                var reviews = from r in db.TblReview
                              where r.ReviewerId == reviewer_id
                              select r;

                foreach (TblReview review in reviews)
                {
                    ret.ReviewList.Add(ModelFactory.Create(review));
                }
            }

            return(ret);
        }
예제 #10
0
 public Service()
 {
     db       = new RestaurantReviewsContext();
     restrepo = new RestaurantRepository(db);
     revrepo  = new ReviewRepository(db);
 }
예제 #11
0
 public ReviewRepo(RestaurantReviewsContext context)
 {
     _context = context;
 }
예제 #12
0
 public RepositoryWrapper(RestaurantReviewsContext repositoryContext)
 {
     _repoContext = repositoryContext;
 }
 public RestaurantRepository(RestaurantReviewsContext context)
 {
     this._context = context;
     logger        = NLog.LogManager.GetCurrentClassLogger();
 }
 public UserRepository(RestaurantReviewsContext dbContext)
     : base(dbContext)
 {
 }
예제 #15
0
 public UnitOfWork(RestaurantReviewsContext context)
 {
     _context = context;
 }
 public static void TestClassCleanup()
 {
     RestaurantReviewsContext = null;
 }
예제 #17
0
 public ReviewRepository(RestaurantReviewsContext context)
 {
     this._context = context;
 }
예제 #18
0
 public RepositoryBase(RestaurantReviewsContext repositoryContext)
 {
     this.RepositoryContext = repositoryContext;
 }