//pri izmeni izlistati sta je do sada ocenjeno, razmisliti kako to moze da se uradi public async Task <IActionResult> Update(int id) { // koji psi su angazovani na angazovanju cije ocene unosimo ViewBag.Zadaci = serviceZadaci.GetAll().ToList(); ViewBag.Zadatak = serviceZadaci.FindById(id).NazivZadatka; ViewBag.Id = serviceZadaci.FindById(id).Id; List <Angazovanje> angazovanjaZaOcenu = service.GetAll().Where(a => a.ZadatakId == id).ToList(); List <Pas> angazovaniPsi = new List <Pas>(); List <Angazovanje> ocenjenaAngazovanja = new List <Angazovanje>(); Instruktor user = null; if (!User.IsInRole("Admin")) { user = await userManager.FindByIdAsync(userManager.GetUserId(User)) as Instruktor; foreach (Angazovanje angazovanje in angazovanjaZaOcenu) { if (angazovanje.Pas.ObukaId == user.ObukaId) { if (angazovanje.Ocena == null) { angazovaniPsi.Add(angazovanje.Pas); } else { ocenjenaAngazovanja.Add(angazovanje); } } } } else { if (User.IsInRole("Admin")) { foreach (Angazovanje angazovanje in angazovanjaZaOcenu) { if (angazovanje.Ocena == null) { angazovaniPsi.Add(angazovanje.Pas); } else { ocenjenaAngazovanja.Add(angazovanje); } } } } if (!User.IsInRole("Admin")) { if (angazovaniPsi.Count() == 0) { return(RedirectToAction("PageNotFound", "Home", new { message = "Nijedan pas sa vaše obuke nije angažovan na ovom zadatku!" })); } } if (ocenjenaAngazovanja != null) { ViewBag.Ocenjena = ocenjenaAngazovanja; } ViewBag.Psi = angazovaniPsi; ViewBag.BrojAngazovanja = angazovaniPsi.Count(); ZadatakDropDownList(); Angazovanje a = new Angazovanje() { ZadatakId = serviceZadaci.FindById(id).Id, Zadatak = serviceZadaci.FindById(id), DatumUnosaOcene = DateTime.Now, }; return(View(a)); }
public IActionResult Index(string message) { try { if (message == null) { message = string.Empty; } List <Zadatak> zadaci = service.GetAll().ToList(); foreach (Zadatak z in zadaci) { if (z.Datum <= DateTime.Now && z.Status == "Kreiran") { Zadatak zadatakIzBaze = service.FindById(z.Id); if (zadatakIzBaze == null) { return(RedirectToAction("PageNotFound", "Home", new { message = "Zadatak čije podatke zahtevate ne postoji!" })); } zadatakIzBaze.Angazovanja = z.Angazovanja; zadatakIzBaze.Datum = z.Datum; zadatakIzBaze.NazivZadatka = z.NazivZadatka; zadatakIzBaze.Teren = z.Teren; zadatakIzBaze.Status = Enumerations.Status.Završen.ToString(); service.Update(zadatakIzBaze); } int i = 0; foreach (Angazovanje a in z.Angazovanja) { if (a.Ocena != null) { i++; } } if (i == z.Angazovanja.Count() && z.Status != "Ocenjen") { Zadatak zadatakIzBaze = service.FindById(z.Id); if (zadatakIzBaze == null) { return(RedirectToAction("PageNotFound", "Home", new { message = "Zadatak čije podatke zahtevate ne postoji!" })); } zadatakIzBaze.Angazovanja = z.Angazovanja; zadatakIzBaze.Datum = z.Datum; zadatakIzBaze.NazivZadatka = z.NazivZadatka; zadatakIzBaze.Teren = z.Teren; zadatakIzBaze.Status = Enumerations.Status.Ocenjen.ToString(); service.Update(zadatakIzBaze); } } ViewBag.ListaZadataka = service.GetAll().ToList(); List <string> naziviZadataka = service.VratiListuNazivaZadataka(); List <int> ang = service.VratiBrojAngazovanjaPoZadatku(); List <int> poz = service.VratiBrojPozitivihOcenaPoZadatku(); ViewBag.Message = message; List <DataPoint> dataPoints1 = new List <DataPoint>(); List <DataPoint> dataPoints2 = new List <DataPoint>(); for (int i = 0; i < naziviZadataka.Count(); i++) { if (zadaci.ElementAt(i).Status == "Ocenjen") { dataPoints1.Add(new DataPoint(zadaci.ElementAt(i).NazivZadatka, poz.ElementAt(i))); } } for (int i = 0; i < naziviZadataka.Count(); i++) { if (zadaci.ElementAt(i).Status == "Ocenjen") { dataPoints2.Add(new DataPoint(zadaci.ElementAt(i).NazivZadatka, ang.ElementAt(i))); } } ViewBag.DataPoints1 = JsonConvert.SerializeObject(dataPoints1); ViewBag.DataPoints2 = JsonConvert.SerializeObject(dataPoints2); return(View()); } catch (Exception ex) { return(RedirectToAction("Error", "Home", new { message = ex.Message })); } }