public IActionResult DodajDogadjaj(int dogadjejId) { Dogadjaj dogadjaj = _context.Dogadjaj.Find(dogadjejId); if (dogadjaj.DatumOdrzavanja.CompareTo(DateTime.Now) == -1) { return(BadRequest("Nije moguće dodati događaj koji je već istekao.")); } OznacenDogadjaj oznacenDogadjajPostoji = _context.OznacenDogadjaj .Where(od => od.DogadjajID == dogadjejId && od.StudentID == 1) .FirstOrDefault(); if (oznacenDogadjajPostoji != null) { return(BadRequest("Oznaceni dogadjaj je već dodan.")); } OznacenDogadjaj oznacenDogadjaj = new OznacenDogadjaj(1, dogadjejId);//id studenta _context.OznacenDogadjaj.Add(oznacenDogadjaj); _context.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Index() { int logiraniKorisnik = HttpContext.GetLogiraniKorisnik().Id; List <OznaceniDogadajiPrikazVM> model = db.Dogadjaj.Select(x => new OznaceniDogadajiPrikazVM { DatumDogadjaja = x.DatumOdrzavanja, Nastavnik = x.Nastavnik.ImePrezime, BrojObaveza = db.Obaveza.Count(ob => ob.DogadjajID == x.ID), OpisDogadjaja = x.Opis, DogadjajId = x.ID, KorisnikId = logiraniKorisnik }).ToList(); foreach (var item in model) { OznacenDogadjaj od = db.OznacenDogadjaj.Where(x => x.DogadjajID == item.DogadjajId && x.StudentID == logiraniKorisnik).SingleOrDefault(); if (od != null) { item.OznacenDogadjaj = true; item.IzvrsenoProcentualno = db.StanjeObaveze.Where(d => d.OznacenDogadjajID == od.ID).Sum(s => s.IzvrsenoProcentualno) / item.BrojObaveza; } } GetNotifikacije(db.Student.Where(s => s.KorisnickiNalogId == logiraniKorisnik).Single().ID); return(View(model)); }
public IActionResult Dodaj(int id) { OznacenDogadjaj oznacenDogadjaj = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = id, StudentID = HttpContext.GetLogiraniKorisnik().Id }; _db.Add(oznacenDogadjaj); _db.SaveChanges(); foreach (Obaveza x in _db.Obaveza.Where(o => o.DogadjajID == id).ToList()) { StanjeObaveze stanje = new StanjeObaveze { IsZavrseno = false, IzvrsenoProcentualno = 0, ObavezaID = x.ID, OznacenDogadjajID = oznacenDogadjaj.ID, NotifikacijaDanaPrije = x.NotifikacijaDanaPrijeDefault, NotifikacijeRekurizivno = x.NotifikacijeRekurizivnoDefault }; _db.Add(stanje); } _db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Dodaj(int Id) { OznacenDogadjaj dogadjaj = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = Id, StudentID = HttpContext.GetLogiraniKorisnik().Id }; _db.Add(dogadjaj); _db.SaveChanges(); IEnumerable <Obaveza> obaveze = _db.Obaveza.Where(x => x.DogadjajID == Id); foreach (var i in obaveze) { StanjeObaveze stanje = new StanjeObaveze { DatumIzvrsenja = DateTime.Now, IsZavrseno = false, IzvrsenoProcentualno = 33, NotifikacijaDanaPrije = 4, ObavezaID = i.ID, OznacenDogadjajID = dogadjaj.ID, NotifikacijeRekurizivno = true, }; _db.Add(stanje); } _db.SaveChanges(); return(Redirect("/OznaceniDogadaji")); }
public IActionResult OznaciDogadjaj(int dogadjajId) { var korisnickiNalog = Autentifikacija.GetLogiraniKorisnik(HttpContext); var student = _context.Student .Where(s => s.KorisnickiNalogId == korisnickiNalog.Id) .FirstOrDefault(); var oznaceniDogadjaj = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = dogadjajId, StudentID = student.ID }; _context.Add(oznaceniDogadjaj); var obavezeDogadjaja = _context.Obaveza .Where(o => o.DogadjajID == dogadjajId) .ToList(); foreach (var o in obavezeDogadjaja) { var novoStanje = new StanjeObaveze { IsZavrseno = false, IzvrsenoProcentualno = 0, ObavezaID = o.ID, OznacenDogadjaj = oznaceniDogadjaj, NotifikacijaDanaPrije = o.NotifikacijaDanaPrijeDefault, NotifikacijeRekurizivno = o.NotifikacijeRekurizivnoDefault }; _context.Add(novoStanje); } _context.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public IActionResult Dodaj(int DogadjajID) { KorisnickiNalog logiraniKorisnik = HttpContext.GetLogiraniKorisnik(); Student logiraniStudent = db.Student.Where(x => x.KorisnickiNalogId == logiraniKorisnik.Id).FirstOrDefault(); OznacenDogadjaj noviOznaceniDogadjaj = new OznacenDogadjaj() { DogadjajID = DogadjajID, StudentID = logiraniStudent.ID, DatumDodavanja = DateTime.Now }; db.OznacenDogadjaj.Add(noviOznaceniDogadjaj); var obaveze = db.Obaveza.Where(x => x.DogadjajID == noviOznaceniDogadjaj.DogadjajID).ToList(); foreach (var ob in obaveze) { StanjeObaveze novoStanjeObaveze = new StanjeObaveze() { OznacenDogadjajID = noviOznaceniDogadjaj.ID, ObavezaID = ob.ID, DatumIzvrsenja = DateTime.Now, IsZavrseno = false, IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = 0, NotifikacijeRekurizivno = default }; db.StanjeObaveze.Add(novoStanjeObaveze); } db.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public IActionResult Detalji(int id) { OznacenDogadjaj dogadjaj = _db.OznacenDogadjaj.Include(x => x.Dogadjaj).Include(x => x.Dogadjaj.Nastavnik).Where(x => x.ID == id).SingleOrDefault(); DetaljiDogadaja model = new DetaljiDogadaja { ID = dogadjaj.ID, DatumDodavanja = dogadjaj.DatumDodavanja.ToString("dd.MM.yyyy"), DatumDogadaja = dogadjaj.Dogadjaj.DatumOdrzavanja.ToString("dd.MM.yyyy"), Nastavnik = dogadjaj.Dogadjaj.Nastavnik.ImePrezime.Substring(0, 1) + "." + dogadjaj.Dogadjaj.Nastavnik.ImePrezime.Substring(dogadjaj.Dogadjaj.Nastavnik.ImePrezime.IndexOf(" ")), Opis = dogadjaj.Dogadjaj.Opis }; return(View(model)); }
public ActionResult Detalji(int dogadjajId) { OznacenDogadjaj d = _context.OznacenDogadjaj.Where(od => od.DogadjajID == dogadjajId) .Include(od => od.Dogadjaj) .Include(od => od.Dogadjaj.Nastavnik) .Single(); var model = new OznaceniDogadajiDetaljiVM { OznaceniDogadjajId = d.ID, DatumDodavanja = d.DatumDodavanja, DatumDogadjaja = d.Dogadjaj.DatumOdrzavanja, Nastavnik = d.Dogadjaj.Nastavnik.ImePrezime, Opis = d.Dogadjaj.Opis }; return(View(model)); }
public IActionResult Oznaci(int id)//Oznaci dogadjaj za odredjenog studenta { var s = GetPrijavljenogKorisnika(); Dogadjaj d = _db.Dogadjaj.Find(id); OznacenDogadjaj o = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = id, StudentID = s.ID }; _db.Add(o); _db.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public IActionResult Detalji(int DogadjajID) { OznacenDogadjaj dogadjaj = db.OznacenDogadjaj.Include(x => x.Dogadjaj) .ThenInclude(x => x.Nastavnik) .Where(x => x.ID == DogadjajID) .FirstOrDefault(); DogadjajDetaljiVM model = new DogadjajDetaljiVM() { DogadjajID = DogadjajID, DatumDodavanja = dogadjaj.DatumDodavanja, DatumOdrzavanja = dogadjaj.Dogadjaj.DatumOdrzavanja, Opis = dogadjaj.Dogadjaj.Opis, Nastavnik = dogadjaj.Dogadjaj.Nastavnik.ImePrezime }; return(View(model)); }
public IActionResult StanjeObavezaIndex(int DogadjajID) { OznacenDogadjaj dogadjaj = db.OznacenDogadjaj.Include(x => x.Dogadjaj) .ThenInclude(x => x.Nastavnik) .Where(x => x.ID == DogadjajID) .FirstOrDefault(); StanjeObavezaIndexVM model = new StanjeObavezaIndexVM() { Rows = db.StanjeObaveze.Where(x => x.OznacenDogadjajID == DogadjajID).Select(x => new StanjeObavezaIndexVM.Row() { StanjeObavezaID = x.Id, Naziv = x.Obaveza.Naziv, ProcenatRealizacije = x.IzvrsenoProcentualno, BrojacNotifikacije = x.NotifikacijaDanaPrije, PonavljajNotifikaciju = x.NotifikacijeRekurizivno ? "DA":"NE" }).ToList() }; return(PartialView(model)); }
public IActionResult Detalji(int id) { OznacenDogadjaj d = db.OznacenDogadjaj.Where(x => x.DogadjajID == id).SingleOrDefault(); if (d != null) { List <AjaxTestDetaljiVM> model = db.StanjeObaveze .Where(p => p.OznacenDogadjajID == d.ID) .Select(c => new AjaxTestDetaljiVM { Naziv = c.Obaveza.Naziv, PonavljajNotifikacijuSvakiDanUnaprijed = c.NotifikacijeRekurizivno, SaljiNotifikacijuXDanaUnaprijed = c.NotifikacijaDanaPrije, ProcenatRealizacijeObaveze = c.IzvrsenoProcentualno, StanjeId = c.Id }).ToList(); return(PartialView(model)); } return(Redirect("Greska")); }
public IActionResult Dodaj(int DogadjajId) { var dogadjaj = db.Dogadjaj.Where(x => x.ID == DogadjajId).SingleOrDefault(); var logirani = db.Student.Where(x => x.KorisnickiNalogId == HttpContext.GetLogiraniKorisnik().Id).SingleOrDefault(); if (logirani == null) { return(Content("Niste logirani")); } if (dogadjaj == null) { return(Content("Dogadjaj ne postoji")); } OznacenDogadjaj oznacenDogadjaj = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = DogadjajId, StudentID = logirani.ID }; db.OznacenDogadjaj.Add(oznacenDogadjaj); var sveObaveze = db.Obaveza.Where(x => x.DogadjajID == DogadjajId); foreach (var o in sveObaveze) { StanjeObaveze novoStanje = new StanjeObaveze { DatumIzvrsenja = DateTime.MinValue, IsZavrseno = false, NotifikacijeRekurizivno = o.NotifikacijeRekurizivnoDefault, IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = o.NotifikacijaDanaPrijeDefault, OznacenDogadjaj = oznacenDogadjaj, ObavezaID = o.ID }; db.StanjeObaveze.Add(novoStanje); } db.SaveChanges(); return(Redirect(nameof(Index))); }
public IActionResult Dodaj(int DogadjajId, int KorisnikId) { Dogadjaj d = db.Dogadjaj.Find(DogadjajId); Student s = db.Student.Where(x => x.KorisnickiNalogId == KorisnikId).SingleOrDefault(); if (d != null && s != null) { OznacenDogadjaj novi = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = DogadjajId, StudentID = s.ID }; db.Add(novi); db.SaveChanges(); List <Obaveza> obaveze = db.Obaveza.Where(o => o.DogadjajID == d.ID).ToList(); foreach (var item in obaveze) { StanjeObaveze stanjeObaveze = new StanjeObaveze { DatumIzvrsenja = DateTime.Parse("1/1/2020"), IsZavrseno = false, IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = item.NotifikacijaDanaPrijeDefault, NotifikacijeRekurizivno = item.NotifikacijeRekurizivnoDefault, ObavezaID = item.ID, OznacenDogadjajID = novi.ID }; db.Add(stanjeObaveze); db.SaveChanges(); } } return(Redirect("Index")); }
public IActionResult Detalji(int id) { OznacenDogadjaj d = db.OznacenDogadjaj .Where(x => x.DogadjajID == id) .Include(p => p.Dogadjaj) .ThenInclude(n => n.Nastavnik) .SingleOrDefault(); if (d != null) { OznaceniDogadajiDetaljiVM model = new OznaceniDogadajiDetaljiVM { DatumDodavanja = d.DatumDodavanja, DatumDogadjaja = d.Dogadjaj.DatumOdrzavanja, Nastavnik = d.Dogadjaj.Nastavnik.ImePrezime, OpisDogadjaja = d.Dogadjaj.Opis, DogadjajId = id }; return(View(model)); } return(View("Greska")); }
public ActionResult Dodaj(int dogadjajId) { KorisnickiNalog korisnik = HttpContext.GetLogiraniKorisnik(); Dogadjaj d = _context.Dogadjaj.Find(dogadjajId); OznacenDogadjaj oD = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = d.ID, StudentID = korisnik.Id }; _context.OznacenDogadjaj.Add(oD); _context.SaveChanges(); List <Obaveza> listaObaveza = _context.Obaveza.Where(o => o.DogadjajID == dogadjajId).ToList(); foreach (var obaveza in listaObaveza) { _context.StanjeObaveze.Add(new StanjeObaveze { DatumIzvrsenja = new DateTime(2000, 1, 1), IsZavrseno = false, IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = 0, NotifikacijeRekurizivno = false, ObavezaID = obaveza.ID, OznacenDogadjajID = _context.OznacenDogadjaj.Where(od => od.DogadjajID == dogadjajId && od.StudentID == korisnik.Id).Single().ID }); _context.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult DodavanjeUOznaceneDogadjaje(int dogadjajID) { KorisnickiNalog logiraniKorisnik = HttpContext.GetLogiraniKorisnik(); Student logiraniStudent = db.Student.Where(s => s.KorisnickiNalogId == logiraniKorisnik.Id).FirstOrDefault(); OznacenDogadjaj oznacenDogadjaj = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = dogadjajID, StudentID = logiraniStudent.ID }; db.Add(oznacenDogadjaj); db.SaveChanges(); List <Obaveza> obavezeDogadjaja = db.Obaveza.Where(od => od.DogadjajID == oznacenDogadjaj.DogadjajID).ToList(); foreach (var obaveze in obavezeDogadjaja) { StanjeObaveze stanjeObaveze = new StanjeObaveze { DatumIzvrsenja = DateTime.Now, IsZavrseno = false, IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = 0, NotifikacijeRekurizivno = default,
public async Task <ServiceResult> OznaciDogadjaj(int dogadjajId, int studentId) { if (await VecOznacen(dogadjajId, studentId)) { return new ServiceResult { Failed = true, Message = "Dogadjaj vec oznacen." } } ; if (!await _context.Student.AnyAsync(x => x.ID == studentId)) { return new ServiceResult { Failed = true, Message = "Student ne postoji." } } ; var dogadjaj = await _context.Dogadjaj.FindAsync(dogadjajId); if (dogadjaj == null) { return new ServiceResult { Failed = true, Message = "Dogadjaj nije pronadjen." } } ; var noviOznaceni = new OznacenDogadjaj { DatumDodavanja = DateTime.Now, DogadjajID = dogadjajId, StudentID = studentId }; await _context.AddAsync(noviOznaceni); await _context.SaveChangesAsync(); await _context.Entry(dogadjaj).Collection(x => x.Obaveze).LoadAsync(); foreach (var x in dogadjaj.Obaveze) { var novoStanjeObaveze = new StanjeObaveze { IzvrsenoProcentualno = 0, NotifikacijaDanaPrije = 30, NotifikacijeRekurizivno = true, IsZavrseno = false, ObavezaID = x.ID, OznacenDogadjajID = noviOznaceni.ID }; await _context.AddAsync(novoStanjeObaveze); } await _context.SaveChangesAsync(); return(new ServiceResult { Success = true, Message = "Uspjesno oznacen." }); }