public IActionResult ObrisiPost(int id)
        {
            ObjaveClanova o = _ctx.ObjaveClanova.Find(id);

            if (o != null)
            {
                List <KomentariObjavaClanova> k = _ctx.KomentariObjavaClanova.Where(x => x.ObjaveClanovaId == id).ToList();
                if (k.Count() > 0)
                {
                    foreach (var item in k)
                    {
                        _ctx.KomentariObjavaClanova.Remove(item);
                    }
                }

                List <Lajkovi> l = _ctx.Lajkovi.Where(x => x.ObjaveClanovaId == id).ToList();
                if (l.Count() > 0)
                {
                    foreach (var item in l)
                    {
                        _ctx.Lajkovi.Remove(item);
                    }
                }

                _ctx.ObjaveClanova.Remove(o);
                _ctx.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
        public IActionResult DodajObjavu(string sadrzaj)
        {
            k = HttpContext.GetLogiraniKorisnik();
            if (k.Clan == null)
            {
                return(RedirectToAction("Index", "Autentifikacija", new { area = "" }));
            }

            if (string.IsNullOrEmpty(sadrzaj))
            {
                return(RedirectToAction("Index"));
            }

            ObjaveClanova o = new ObjaveClanova();

            _ctx.ObjaveClanova.Add(o);

            o.ClanId      = k.Clan.ClanId;
            o.DatumObjave = DateTime.Now;
            o.Sadrzaj     = sadrzaj;

            sadrzaj = string.Empty;

            _ctx.SaveChanges();

            return(RedirectToAction("Index"));
        }
Example #3
0
        public void AddNotification(int userId, int postId)
        {
            ObjaveClanova o = _ctx.ObjaveClanova.Find(postId);
            Notifikacija  n = new Notifikacija();

            _ctx.Notifikacije.Add(n);

            n.Sadrzaj      = " je komentarisao vašu objavu ";
            n.SourceClanId = userId;
            n.DestClanId   = o.ClanId;
            n.ObjavaId     = postId;
            n.Seen         = false;
            n.Read         = false;

            _ctx.SaveChanges();
        }
Example #4
0
        public async Task Komentiraj(int userId, int postId, string sadrzaj)
        {
            KomentariObjavaClanova k = new KomentariObjavaClanova();

            _ctx.KomentariObjavaClanova.Add(k);
            k.ClanId               = userId;
            k.ObjaveClanovaId      = postId;
            k.DatumObjaveKomentara = DateTime.Now;
            k.SadrzajKomentara     = sadrzaj;

            ObjaveClanova o = _ctx.ObjaveClanova.Find(postId);

            _ctx.SaveChanges();

            AddNotification(userId, postId);

            int    brKomentara = _ctx.KomentariObjavaClanova.Where(x => x.ObjaveClanovaId == postId).Count();
            string username    = _ctx.Clanovi.Find(userId).Ime + " " + _ctx.Clanovi.Find(userId).Prezime;
            await Clients.All.SendAsync("ReceiveMessage", userId, postId, brKomentara, k);

            await Notify(o.ClanId);
        }