Esempio n. 1
0
        public void UpdateUser_Likes_Rates(User_Likes user_likes, int RateBefore)
        {
            User_Likes ul = context.User_Likes.Where(x => x.id == user_likes.id && x.UserId == user_likes.UserId && x.PostId == user_likes.PostId).FirstOrDefault();

            ul.isLiked = user_likes.isLiked;
            ul.PostId  = user_likes.PostId.Value;
            ul.UserId  = user_likes.UserId.Value;

            if (user_likes.Rate == null)
            {
                ul.Rate = 0;
            }
            else
            {
                ul.Rate = user_likes.Rate.Value;
            }

            ul.DatumLajkanja = user_likes.DatumLajkanja.Value;
            ul.DaumRated     = user_likes.DaumRated.Value;
            context.SaveChanges();

            Post post = context.Post.First(p => p.id == user_likes.PostId.Value);

            post.BrojOmiljenih = post.BrojOmiljenih.Value - RateBefore + user_likes.Rate.Value;
            ul = context.User_Likes.Where(x => x.id == user_likes.id && x.UserId == user_likes.UserId && x.PostId == user_likes.PostId).FirstOrDefault();
            if (RateBefore == 0)
            {
                post.BrojRangiranja++;
            }
            UpdatePost(post);
        }
Esempio n. 2
0
        public void SaveUser_Likes_Rates(User_Likes user_likes)
        {
            context.User_Likes.Add(user_likes);
            context.SaveChanges();

            Post post = context.Post.First(p => p.id == user_likes.PostId.Value);

            post.BrojOmiljenih = post.BrojOmiljenih.Value + user_likes.Rate.Value;
            post.BrojRangiranja++;
            UpdatePost(post);
        }
Esempio n. 3
0
        public void SaveUser_Unlikes(User_Likes user_likes)
        {
            context.User_Likes.Add(user_likes);
            Post     post     = context.Post.First(p => p.id == user_likes.PostId.Value);
            Korisnik korisnik = context.Korisnik.First(p => p.id == post.VlasnikID);

            if (user_likes.isLiked == 2)
            {
                post.Unlikes++;
                post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                UpdatePost(post);

                korisnik.Unlikes++;
                korisnik.Reputacija = korisnik.Likes.Value - korisnik.Unlikes.Value;
                UpdateKorisnik(korisnik);
            }
            KalkulirajMedaljePostaKorisnikaDOWN(korisnik, post);
            context.SaveChanges();
        }
        public bool QuestionLike(int questionId, string userId)
        {
            var likeInfo = new User_Likes();

            likeInfo.QuestionId = questionId;
            likeInfo.UserId     = userId;
            db.User_Likes.Add(likeInfo);
            var question = db.Questions.FirstOrDefault(q => q.Id.Equals(questionId));

            question.Points += 1;
            try
            {
                db.SaveChanges();
                return(true);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    string err = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                               eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        string errr = string.Format("- Property: \"{0}\", Error: \"{1}\"",
                                                    ve.PropertyName, ve.ErrorMessage);
                        throw new Exception(errr);
                    }
                }
                return(false);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException e)
            {
                string err = e.Message;
                return(false);
            }
        }
Esempio n. 5
0
        public void UpdateUser_Likes(User_Likes user_likes, int LikesBefore)
        {
            User_Likes uli = context.User_Likes.Where(x => x.id == user_likes.id && x.UserId == user_likes.UserId && x.PostId == user_likes.PostId).FirstOrDefault();

            uli.isLiked = user_likes.isLiked;
            uli.PostId  = user_likes.PostId.Value;
            uli.UserId  = user_likes.UserId.Value;

            if (user_likes.Rate == null)
            {
                uli.Rate = 0;
            }
            else
            {
                uli.Rate = user_likes.Rate.Value;
            }

            uli.DatumLajkanja = user_likes.DatumLajkanja.Value;
            uli.DaumRated     = user_likes.DaumRated.Value;
            context.SaveChanges();

            Post     post     = context.Post.First(p => p.id == user_likes.PostId.Value);
            Korisnik korisnik = context.Korisnik.First(p => p.id == post.VlasnikID);

            User_Likes ul = context.User_Likes.Where(x => x.id == user_likes.id && x.UserId == user_likes.UserId && x.PostId == user_likes.PostId).FirstOrDefault();

            if (LikesBefore == 0)
            {
                if (ul.isLiked == 1)
                {
                    post.Likes++;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);

                    korisnik.Likes++;
                    korisnik.Reputacija = korisnik.Likes.Value - korisnik.Unlikes.Value;
                    UpdateKorisnik(korisnik);
                    KalkulirajMedaljePostaKorisnikaUP(korisnik, post);
                }
                if (ul.isLiked == 2)
                {
                    post.Unlikes++;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);

                    korisnik.Unlikes++;
                    korisnik.Reputacija = korisnik.Likes.Value - korisnik.Unlikes.Value;
                    UpdateKorisnik(korisnik);
                    KalkulirajMedaljePostaKorisnikaDOWN(korisnik, post);
                }
            }
            else
            {
                if (ul.isLiked == 1)
                {
                    post.Likes++;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);
                    KalkulirajMedaljePostaKorisnikaUP(korisnik, post);

                    post.Unlikes--;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);
                    KalkulirajMedaljePostaKorisnikaUP(korisnik, post);

                    korisnik.Likes++;
                    korisnik.Unlikes--;
                    korisnik.Reputacija = korisnik.Likes.Value - korisnik.Unlikes.Value;
                    UpdateKorisnik(korisnik);
                }
                if (ul.isLiked == 2)
                {
                    post.Likes--;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);
                    KalkulirajMedaljePostaKorisnikaDOWN(korisnik, post);

                    post.Unlikes++;
                    post.BrojPoena = post.Likes.Value - post.Unlikes.Value;
                    UpdatePost(post);
                    KalkulirajMedaljePostaKorisnikaDOWN(korisnik, post);

                    korisnik.Likes--;
                    korisnik.Unlikes++;
                    korisnik.Reputacija = korisnik.Likes.Value - korisnik.Unlikes.Value;
                    UpdateKorisnik(korisnik);
                }
            }
            context.SaveChanges();
        }
Esempio n. 6
0
        public int getRateUserLikes(int UID, int PID)
        {
            User_Likes ul = context.User_Likes.Where(x => x.UserId == UID && x.PostId == PID).FirstOrDefault();

            return(ul.Rate.Value);
        }