private bool isValidUnos(Angazovanje angazovanje) { bool valid = true; if (angazovanje == null) { return(false); } if (angazovanje.Ocena != null || angazovanje.DatumUnosaOcene != null || angazovanje.Zadatak == null || angazovanje.Pas == null) { valid = false; } return(valid); }
public void Delete(Angazovanje angazovanje) { if (angazovanje == null) { throw new Exception(); } Angazovanje a = unitOfWork.AngazovanjeRepository.GetById(angazovanje.PasId, angazovanje.ZadatakId); if (a == null) { throw new Exception(); } unitOfWork.AngazovanjeRepository.Delete(angazovanje); unitOfWork.Save(); }
// ako se naziv i datum poklapaju ne bi trebalo da ubaci zadatak public JsonResult InsertZadatak([FromBody] Object zadatak) { try { string zadatakZaDeserijalizaciju = zadatak.ToString(); Zadatak z = Newtonsoft.Json.JsonConvert.DeserializeObject <Zadatak>(zadatakZaDeserijalizaciju); Zadatak zadatakZaUnos = new Zadatak() { NazivZadatka = z.NazivZadatka, Teren = z.Teren, Datum = z.Datum, Status = Enumerations.Status.Kreiran.ToString() }; List <Angazovanje> angazovanjaZaUnos = new List <Angazovanje>(); foreach (Angazovanje a in z.Angazovanja) { Pas pasIzBaze = servicePas.FindById(a.PasId); Angazovanje angazovanje = new Angazovanje() { PasId = a.PasId, ZadatakId = zadatakZaUnos.Id, Zadatak = zadatakZaUnos, DatumUnosaOcene = null, Ocena = null, Pas = pasIzBaze }; angazovanjaZaUnos.Add(angazovanje); } zadatakZaUnos.Angazovanja = angazovanjaZaUnos; service.Insert(zadatakZaUnos); return(Json("Uspešno uneto!")); } catch (Exception ex) { return(Json("Došlo je do greške prilikom unosa!" + ex)); } }
protected override object Execute(DomenskiObjekat domenskiObjekat) { Predmet predmet = (Predmet)domenskiObjekat; Predmet rezultat = (Predmet)broker.VratiJedanJoin(predmet); Angazovanje a = new Angazovanje(); a.Predmet = new Predmet { PredmetID = rezultat.PredmetID }; List <DomenskiObjekat> aa = broker.VratiSveJoinWhere(a); List <Angazovanje> angazovanja = new List <Angazovanje>(); foreach (Angazovanje ang in aa) { angazovanja.Add(ang); } rezultat.Angazovanja = angazovanja; return(rezultat); }
public void TestAngazovanjeServiceOceniAngazovanjeInvalid() { var service = new AngazovanjeService(unitOfWork.Object); //ocena je nevalidna -> -2 var angazovanje = new Angazovanje { ZadatakId = 1, Pas = unitOfWork.Object.PasRepository.FindById(1), PasId = 1, Zadatak = unitOfWork.Object.ZadatakRepository.FindById(1), DatumUnosaOcene = DateTime.Now, Ocena = -2 }; Assert.Throws <ArgumentOutOfRangeException>(() => service.Update(angazovanje)); unitOfWork.Verify(s => s.AngazovanjeRepository.Update(It.IsAny <Angazovanje>()), Times.Never); unitOfWork.Verify(s => s.Save(), Times.Never); }
public IActionResult Delete(string PasId, string ZadatakId) { try { if (PasId == null || ZadatakId == null) { throw new Exception("Angažovanje čije podatke zahtevate ne postoji!"); } Angazovanje angazovanjeIzBaze = service.GetById(int.Parse(PasId), int.Parse(ZadatakId)); if (angazovanjeIzBaze == null) { throw new Exception("Angažovanje čije podatke želite da izmenite ne postoji!"); } return(View(angazovanjeIzBaze)); } catch (Exception ex) { return(RedirectToAction("Error", "Home", new { message = ex.Message })); } }
public void TestAngazovanjeServiceOceniAngazovanje() { var service = new AngazovanjeService(unitOfWork.Object); var angazovanje = new Angazovanje { ZadatakId = 1, Pas = unitOfWork.Object.PasRepository.FindById(1), PasId = 1, Zadatak = unitOfWork.Object.ZadatakRepository.FindById(1), DatumUnosaOcene = DateTime.Now, Ocena = 10 }; service.Update(angazovanje); var angazovanjeOcenjeno = unitOfWork.Object.AngazovanjeRepository.GetById(1, 1); Assert.NotNull(angazovanjeOcenjeno.Ocena); Assert.NotNull(angazovanjeOcenjeno.DatumUnosaOcene); unitOfWork.Verify(s => s.AngazovanjeRepository.Update(It.IsAny <Angazovanje>()), Times.Once); unitOfWork.Verify(s => s.Save(), Times.Once); }
//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 void Insert(Angazovanje a) { angazovanja.Add(a); }
public void Delete(Angazovanje angazovanje) { angazovanja.Remove(angazovanje); }
public void Update(Angazovanje a) { angazovanja.Find(an => an.PasId == a.PasId && an.ZadatakId == a.ZadatakId).Ocena = a.Ocena; angazovanja.Find(an => an.PasId == a.PasId && an.ZadatakId == a.ZadatakId).DatumUnosaOcene = a.DatumUnosaOcene; }
public Angazovanje GetById(int PasId, int ZadatakId) { Angazovanje a = unitOfWork.AngazovanjeRepository.GetById(PasId, ZadatakId); return(a); }