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")); }
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(); }
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); }