Ejemplo n.º 1
0
        public JsonResult Begeni(int id, int tiklananId)
        {
            var allList     = new List <AnasayfaYazilari>();
            var begeniList  = db.YaziBegenisis.ToList();
            var TakipEdilen = db.Takipcis.Where(x => x.ProfilNo == id).ToList().OrderByDescending(x => x.Id);

            foreach (var item in TakipEdilen)
            {
                var PageList = db.AnasayfaYazilari.Where(x => x.ProfilNo == item.ArkadasProfilNo).ToList().OrderByDescending(x => x.Id);
                allList.AddRange(PageList);
            }

            foreach (var item in allList)
            {
                if (item.Id == tiklananId)
                {
                    YaziBegenisi yaziBegenisi = new YaziBegenisi();

                    int degisken;
                    if (db.YaziBegenisis.Where(x => x.YaziNo == tiklananId && x.BegenenProfilNo == id).ToList().Count == 0)
                    {
                        degisken                     = item.BeğeniSayisi + 1;
                        item.BeğeniSayisi            = degisken;
                        yaziBegenisi.YaziNo          = tiklananId;
                        yaziBegenisi.BegenenProfilNo = id;
                        db.YaziBegenisis.Add(yaziBegenisi);
                    }
                    else
                    {
                        degisken          = item.BeğeniSayisi - 1;
                        item.BeğeniSayisi = degisken;
                        foreach (var begeni in begeniList)
                        {
                            if (begeni.BegenenProfilNo == id && begeni.YaziNo == tiklananId)
                            {
                                YaziBegenisi deptDelete = db.YaziBegenisis.Find(begeni.Id);
                                db.YaziBegenisis.Remove(deptDelete);
                            }
                        }
                    }
                    db.SaveChanges();
                }
            }

            int i = 0;
            List <AnasayfaYazilari> Listem           = db.AnasayfaYazilari.ToList();
            AnasayfaYazilari        anasayfaYazilari = Listem.FirstOrDefault(x => x.Id == tiklananId);
            string buton_adi = "";
            int    flagg     = 0;

            //item id aslında tıklananın idsi


            foreach (var begeni in begeniList)
            {
                //giriş yapılan
                if (tiklananId == begeni.YaziNo && begeni.BegenenProfilNo == id)
                {
                    i     = 1;
                    flagg = 1;
                }
                else
                {
                    if (flagg == 0)
                    {
                        i = 0;
                    }
                }
            }


            if (i == 0)
            {
                buton_adi = "Geri Al";
            }
            else
            {
                buton_adi = "Beğen";
            }
            anasayfaYazilari.ProfilYazilari = buton_adi;//profil yazıları yerine yeni bi sütun açılacak.

            return(Json(anasayfaYazilari, JsonRequestBehavior.AllowGet));
        }