public async Task <IActionResult> Edit(PrisustvoInputVM model) { if (!ModelState.IsValid) { return(BadRequest(new { Errors = ModelState.Values.SelectMany(x => x.Errors) })); } var prisustvo = await _context.OdrzaniCasDetalji.FindAsync(model.Id); if (prisustvo == null) { return(NotFound("Prisustvo nije pronadjeno.")); } if (prisustvo.Odsutan) { prisustvo.OpravdanoOdsutan = model.OpravdanoOdsutan; } else { if (model.Ocjena.HasValue) { prisustvo.Ocjena = model.Ocjena.Value; } } _context.Update(prisustvo); await _context.SaveChangesAsync(); return(ViewComponent("PrisustvoCasu", new { odrzaniCasDetaljiId = model.Id })); }
public async Task <IActionResult> SnimiPrisustvo(PrisustvoInputVM model) { if (!ModelState.IsValid) { return(BadRequest("Podaci nisu validni.")); } var currentUser = await HttpContext.GetLoggedInUser(); var nastavnik = await _dbContext.Nastavnik.FirstOrDefaultAsync(x => x.UserId == currentUser.Id); if (nastavnik == null) { return(NotFound()); } var prisustvo = await _dbContext.OdrzaniCasDetalji .Include(x => x.OdrzaniCas) .ThenInclude(x => x.Angazovan) .Include(x => x.SlusaPredmet) .ThenInclude(x => x.UpisGodine) .ThenInclude(x => x.Student) .FirstOrDefaultAsync(x => x.Id == model.Id); if (prisustvo == null) { return(NotFound()); } if (prisustvo.OdrzaniCas.Angazovan.NastavnikId != nastavnik.Id) { return(Unauthorized()); } prisustvo.BodoviNaCasu = model.Bodovi; _dbContext.Update(prisustvo); await _dbContext.SaveChangesAsync(); return(PartialView("_OdrzaniCasDetaljRow", await BuildOdrzaniCasDetaljVM(prisustvo))); }
public async Task <IActionResult> UrediPrisustvo(int odrzaniCasDetaljId) { var currentUser = await HttpContext.GetLoggedInUser(); var nastavnik = await _dbContext.Nastavnik.FirstOrDefaultAsync(x => x.UserId == currentUser.Id); if (nastavnik == null) { return(NotFound()); } var prisustvo = await _dbContext.OdrzaniCasDetalji .Include(x => x.OdrzaniCas) .ThenInclude(x => x.Angazovan) .Include(x => x.SlusaPredmet) .ThenInclude(x => x.UpisGodine) .ThenInclude(x => x.Student) .FirstOrDefaultAsync(x => x.Id == odrzaniCasDetaljId); if (prisustvo == null) { return(NotFound()); } if (prisustvo.OdrzaniCas.Angazovan.NastavnikId != nastavnik.Id) { return(Unauthorized()); } var vModel = new PrisustvoInputVM { Id = prisustvo.Id, Student = prisustvo.SlusaPredmet?.UpisGodine?.Student?.ImePrezime() ?? NOT_FOUND }; return(PartialView("_PrisustvoEdit", vModel)); }