Esempio n. 1
0
        private static void StoreRatings(RsdnDbContext db, JanusRatingInfo[] ratings)
        {
            if (ratings == null || ratings.Length == 0)
            {
                return;
            }

            var clearRatings = from rating in ratings
                               where rating.rate == (int)VoteValue.None
                               select rating;

            foreach (var clearCmd in clearRatings)
            {
                db.Ratings
                .Where(r => r.PostId == clearCmd.messageId && r.UserId == clearCmd.userId)
                .Delete();
            }

            var upvotes = from rating in ratings
                          where rating.rate > 0
                          select rating;

            db.Ratings.AddOrUpdateRange(mapper.Map <IEnumerable <DbRating> >(upvotes));

            var likes = from rating in ratings
                        where rating.rate <= 0 && rating.rate != (int)VoteValue.None
                        select rating;

            db.Ratings.AddOrUpdateRange(mapper.Map <IEnumerable <DbRating> >(likes));
        }
Esempio n. 2
0
        public IEnumerable <DbForum> GetForums(IEnumerable <int> forumIds)
        {
            using (var connection = new RsdnDbContext())
            {
                var forums = from forum in connection.Forums
                             where forumIds.Contains(forum.Id)
                             select forum;

                return(forums.ToArray());
            }
        }
Esempio n. 3
0
        static RsdnDbContext()
        {
#if DEBUG && TRACE
            loggerFactory = new LoggerFactory();
            loggerFactory.AddDebug();
#endif

            using (var ctx = new RsdnDbContext())
            {
                //todo: use migrations
                ctx.Database.EnsureCreated();
            }
        }