public async Task <IActionResult> TogglePretnjaRanjivost([FromBody] TogglePretnjaRanjivostViewModel togglePretnjaRanjivostViewModel) { if (!ModelState.IsValid) { return(Fail(ModelState)); } var vrstaVrednosti = await _unitOfWork.VrsteVrednosti.Get(togglePretnjaRanjivostViewModel.VrstaVrednostiId); if (vrstaVrednosti == null) { return(Fail("Ne postoji vrsta vrednosti")); } var pretnjaRanjivost = await _unitOfWork.PretnjeRanjivosti.Get(togglePretnjaRanjivostViewModel.PretnjaRanjivostId); if (pretnjaRanjivost == null) { return(Fail("Ne postoji pretnja / ranjivost")); } // Ako PretnjaRanjivost ucestvuje u VrstiVrednosti brisem je if (vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti.Exists(x => x.VrstaVrednostiId == togglePretnjaRanjivostViewModel.VrstaVrednostiId && x.PretnjaRanjivostId == togglePretnjaRanjivostViewModel.PretnjaRanjivostId)) { var i = 0; foreach (var _pretnjaRanjivost in vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti) { if (_pretnjaRanjivost.PretnjaRanjivostId == togglePretnjaRanjivostViewModel.PretnjaRanjivostId && _pretnjaRanjivost.VrstaVrednostiId == togglePretnjaRanjivostViewModel.VrstaVrednostiId) { vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti.RemoveAt(i); break; } i++; } } else // dodajem PretnjuRanjivost u VrstuVrednsti { var vrstaVrednostiPretnjaRanjivost = new VrsteVrednosti_PretnjeRanjivosti { VrstaVrednostiId = togglePretnjaRanjivostViewModel.VrstaVrednostiId, PretnjaRanjivostId = togglePretnjaRanjivostViewModel.PretnjaRanjivostId }; vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti.Add(vrstaVrednostiPretnjaRanjivost); } await _unitOfWork.Complete(); var pretnjeRanjivosti = await _unitOfWork.PretnjeRanjivosti.PretnjeRanjivostiZaVrstuVrednosti(togglePretnjaRanjivostViewModel.VrstaVrednostiId); return(Success(pretnjeRanjivosti)); }
public async Task <IActionResult> ProcenaRizikaDodaj([FromBody] ProcenaRizikaViewModel procenaRizika) { if (!ModelState.IsValid) { return(Fail(ModelState)); } //var vrstaVrednosti_PretnjaRanjivost = await _unitOfWork.VrsteVrednosti_PretnjeRanjivosti.Get(p); //if (vrstaVrednosti_PretnjaRanjivost == null) return Fail("Ne postoji kombinacija pretnja / ranjivost za vrstu vrednosti"); var vrstaVrednosti = await _unitOfWork.VrsteVrednosti.Get(procenaRizika.VrstaVrednostiId); if (vrstaVrednosti == null) { return(Fail("Ne postoji vrsta vrednosti")); } var vrstaVrednostiPretnjaRanjivost = new VrsteVrednosti_PretnjeRanjivosti { VrstaVrednostiId = procenaRizika.VrstaVrednostiId, PretnjaRanjivostId = procenaRizika.PretnjaRanjivostId, PretnjaPreId = procenaRizika.PretnjaPre, PretnjaPosleId = procenaRizika.PretnjaPosle, RanjivostPreId = procenaRizika.RanjivostPre, RanjivostPosleId = procenaRizika.RanjivostPosle }; var pretnjaRanjivost = await _unitOfWork.PretnjeRanjivosti.Get(procenaRizika.PretnjaRanjivostId); foreach (var primenjenaMera in pretnjaRanjivost.PretnjeRanjivosti_DefaultMere) { vrstaVrednostiPretnjaRanjivost.VrsteVrednosti_PretnjeRanjivosti_PrimenjeneMere.Add( new VrsteVrednosti_PretnjeRanjivosti_PrimenjeneMere { MeraId = primenjenaMera.MeraId } ); } vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti.Add(vrstaVrednostiPretnjaRanjivost); await _unitOfWork.Complete(); var pretnjeRanjivosti = await _unitOfWork.PretnjeRanjivosti.PretnjeRanjivostiZaVrstuVrednosti(vrstaVrednosti.Id); return(Success(pretnjeRanjivosti)); // return Success(vrstaVrednostiPretnjaRanjivost); }
public async Task <IActionResult> ProcenaRizikaAzuriraj([FromBody] ProcenaRizikaViewModel procenaRizika) { if (!ModelState.IsValid) { return(Fail(ModelState)); } //var vrstaVrednosti_PretnjaRanjivost = await _unitOfWork.VrsteVrednosti_PretnjeRanjivosti.Get(p); //if (vrstaVrednosti_PretnjaRanjivost == null) return Fail("Ne postoji kombinacija pretnja / ranjivost za vrstu vrednosti"); var vrstaVrednosti = await _unitOfWork.VrsteVrednosti.Get(procenaRizika.VrstaVrednostiId); if (vrstaVrednosti == null) { return(Fail("Ne postoji vrsta vrednosti")); } VrsteVrednosti_PretnjeRanjivosti vrsteVrednosti_PretnjeRanjivosti = null; foreach (var vrstaVrednostiPretnjaRanjivost in vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti) { if (vrstaVrednostiPretnjaRanjivost.PretnjaRanjivostId == procenaRizika.PretnjaRanjivostId) { vrsteVrednosti_PretnjeRanjivosti = vrstaVrednostiPretnjaRanjivost; break; } } if (vrsteVrednosti_PretnjeRanjivosti == null) { return(Fail("Ne postoji kombinacija pretnja / ranjivost za vrstu vrednosti")); } vrsteVrednosti_PretnjeRanjivosti.PretnjaPreId = procenaRizika.PretnjaPre; vrsteVrednosti_PretnjeRanjivosti.PretnjaPosleId = procenaRizika.PretnjaPosle; vrsteVrednosti_PretnjeRanjivosti.RanjivostPreId = procenaRizika.RanjivostPre; vrsteVrednosti_PretnjeRanjivosti.RanjivostPosleId = procenaRizika.RanjivostPosle; // vrstaVrednosti.VrsteVrednosti_PretnjeRanjivosti.Add(vrstaVrednostiPretnjaRanjivost); await _unitOfWork.Complete(); var pretnjeRanjivosti = await _unitOfWork.PretnjeRanjivosti.PretnjeRanjivostiZaVrstuVrednosti(vrstaVrednosti.Id); return(Success(pretnjeRanjivosti)); }