예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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));
        }