public IActionResult Detalji(int id)
        {
            Uputnica u = db.Uputnica.Find(id);

            if (u != null)
            {
                //List<AjaxTestDetaljiVM> model = db.RezultatPretrage.Where(x => x.UputnicaId == id).Select(d => new AjaxTestDetaljiVM
                //{
                //    Pretraga = d.LabPretraga.Naziv,
                //    IzmjerenaVrijednost = d.LabPretraga.VrstaVr == VrstaVrijednosti.Modalitet ? d.Modalitet.Opis : d.NumerickaVrijednost.ToString(),
                //    JMJ = d.LabPretraga.MjernaJedinica,
                //    RezultatId = d.Id,
                //    IsZavrsen = d.Uputnica.IsGotovNalaz,
                //    ReferentnaVrijednostMax = db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().LabPretraga != null ?
                //    db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().LabPretraga.ReferentnaVrijednostMax : 0.0,
                //    ReferentnaVrijednostMin = db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().LabPretraga != null ?
                //    db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().LabPretraga.ReferentnaVrijednostMin : 0.0,
                //    Vrsta = db.RezultatPretrage.Where(w => w.UputnicaId == id && w.LabPretragaId == d.LabPretragaId).Include(w => w.LabPretraga).SingleOrDefault().LabPretraga.VrstaVr.ToString(),
                //    ReferentnaVrijednostMod = db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().Modalitet != null ?
                //    db.RezultatPretrage.Where(c => c.UputnicaId == id && c.LabPretragaId == d.LabPretragaId).Include(c => c.LabPretraga).SingleOrDefault().Modalitet.IsReferentnaVrijednost : false,
                //    Modaliteti=LoadViewBag(db.Modalitet.Where(x => x.LabPretragaId == d.LabPretragaId).ToList())
                //}).ToList();


                return(PartialView(GetModel(id)));
            }
            return(PartialView("Greska"));
        }
        public IActionResult Dodaj(int LjekarUputioId, int PacijentId, int VrstaPretrageId, DateTime Datum)
        {
            Uputnica u = new Uputnica();

            u.UputioLjekarId      = LjekarUputioId;
            u.PacijentId          = PacijentId;
            u.VrstaPretrageId     = VrstaPretrageId;
            u.LaboratorijLjekarId = null;
            u.IsGotovNalaz        = false;
            _myContext.Uputnica.Add(u);

            List <LabPretraga> lp = _myContext.LabPretraga.Where(x => x.VrstaPretrageId == VrstaPretrageId).ToList();

            foreach (var item in lp)
            {
                RezultatPretrage rp = new RezultatPretrage();
                rp.LabPretragaId       = item.Id;
                rp.UputnicaId          = u.Id;
                rp.ModalitetId         = null;
                rp.NumerickaVrijednost = null;
                _myContext.RezultatPretrage.Add(rp);
            }
            _myContext.SaveChanges();
            return(Redirect("/Uputnica/Index"));
        }
        public ActionResult DodavanjeUputnice(DodavanjeUputniceVM temp)
        {
            Uputnica uputnica = new Uputnica
            {
                DatumUputnice   = temp.datumUputnice,
                IsGotovNalaz    = false,
                PacijentId      = temp.pacijentID,
                UputioLjekarId  = temp.uputioLjekarID,
                VrstaPretrageId = temp.vrsstaPretrageID
            };

            db.Add(uputnica); db.SaveChanges();

            List <LabPretraga> labPretragas = db.LabPretraga.Where(l => l.VrstaPretrageId == temp.vrsstaPretrageID).ToList();

            foreach (var LAB in labPretragas)
            {
                RezultatPretrage rezultatPretrage = new RezultatPretrage
                {
                    LabPretragaId = LAB.Id,
                    UputnicaId    = uputnica.Id
                };
                db.Add(rezultatPretrage); db.SaveChanges();
            }
            return(Redirect("/Uputnica/Index"));
        }
        public IActionResult Snimi(Uputnica_DodajVM ulaz)
        {
            Uputnica nova = new Uputnica
            {
                UputioLjekarId  = ulaz.ljekarID,
                PacijentId      = ulaz.pacijentID,
                VrstaPretrageId = ulaz.vrstaID,
                DatumUputnice   = ulaz.datum,
                IsGotovNalaz    = false,
                DatumRezultata  = null
            };

            _context.Add(nova);
            _context.SaveChanges();

            List <LabPretraga> lista = _context.LabPretraga.Where(e => e.VrstaPretrageId == ulaz.vrstaID).ToList();

            foreach (var i in lista)
            {
                RezultatPretrage rp = new RezultatPretrage
                {
                    UputnicaId    = nova.Id,
                    LabPretragaId = i.Id,
                };
                _context.Add(rp);
                _context.SaveChanges();
            }
            return(Redirect("Index"));
        }
Exemple #5
0
        public IActionResult Snimi(UputnicaDodajVM model)
        {
            Uputnica uputnica = new Uputnica
            {
                DatumUputnice   = model.DatumUputnice,
                IsGotovNalaz    = false,
                PacijentId      = model.PacijentId,
                UputioLjekarId  = model.LjekarId,
                VrstaPretrageId = model.VrstaPretrageId,
            };

            db.Uputnica.Add(uputnica);
            foreach (var p in db.LabPretraga.Where(x => x.VrstaPretrageId == model.VrstaPretrageId))
            {
                RezultatPretrage rp = new RezultatPretrage
                {
                    LabPretragaId       = p.Id,
                    NumerickaVrijednost = 0,
                    Uputnica            = uputnica,
                };
                db.RezultatPretrage.Add(rp);
            }
            db.SaveChanges();
            return(Redirect("Index"));
        }
Exemple #6
0
        public IActionResult Spremi(DodajUputnicuVM model)
        {
            Uputnica uputnica = new Uputnica
            {
                DatumUputnice   = model.Datum,
                IsGotovNalaz    = false,
                UputioLjekarId  = model.LjekarUputioID,
                PacijentId      = model.PacijentID,
                VrstaPretrageId = model.VrstaPretrageID
            };

            _db.Add(uputnica);
            _db.SaveChanges();
            foreach (var x in _db.LabPretraga.Where(x => x.VrstaPretrageId == model.VrstaPretrageID))
            {
                RezultatPretrage rezultatPretrage = new RezultatPretrage
                {
                    LabPretragaId = x.Id,
                    UputnicaId    = uputnica.Id
                };
                _db.Add(rezultatPretrage);
            }
            _db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemple #7
0
        public async Task <IActionResult> Dodaj(UputnicaInputVM model)
        {
            if (ModelState.IsValid)
            {
                var novaUputnica = new Uputnica
                {
                    DatumUputnice       = model.DatumUputnice,
                    DatumRezultata      = null,
                    IsGotovNalaz        = false,
                    UputioLjekarId      = int.Parse(_protector.Unprotect(model.LjekarUputioId)),
                    PacijentId          = int.Parse(_protector.Unprotect(model.PacijentId)),
                    VrstaPretrageId     = model.VrstaPretrageId,
                    LaboratorijLjekarId = null
                };

                var rezultatKreiranja = await _uputnicaService.DodajAsync(novaUputnica);

                if (rezultatKreiranja.Success)
                {
                    return(ViewComponent("Uputnica"));
                }

                return(BadRequest(rezultatKreiranja.Message));
            }

            var errors = ModelState.Values.SelectMany(v => v.Errors);

            return(BadRequest(errors.Any()? errors.First().ToString() : "Greska"));
        }
Exemple #8
0
        public IActionResult Snimi(int ljekar, DateTime Datum, int pacijent, int pretraga)
        {
            Uputnica novaUputnica = new Uputnica();

            novaUputnica.UputioLjekarId  = ljekar;
            novaUputnica.DatumUputnice   = Datum;
            novaUputnica.PacijentId      = pacijent;
            novaUputnica.VrstaPretrageId = pretraga;
            novaUputnica.IsGotovNalaz    = false;
            _context.Uputnica.Add(novaUputnica);
            _context.SaveChanges();



            List <RezultatPretrage> rezultatiPretrage = _context.LabPretraga.Where(x => x.VrstaPretrageId == pretraga).Select(z => new RezultatPretrage
            {
                LabPretragaId       = z.Id,
                ModalitetId         = null,
                NumerickaVrijednost = null,
                UputnicaId          = novaUputnica.Id
            }).ToList();

            _context.RezultatPretrage.AddRange(rezultatiPretrage);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Edit(int id, [Bind("svrha,odrediste,ID,datumIzdavanja,KorisnikId")] Uputnica uputnica)
        {
            if (id != uputnica.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(uputnica);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UputnicaExists(uputnica.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["KorisnikId"] = new SelectList(_context.korisnici, "ID", "ID", uputnica.KorisnikId);

            return(View(uputnica));
        }
Exemple #10
0
        public IActionResult Dodaj(UputnicaDodajVM model)
        {
            if (ModelState.IsValid)
            {
                Uputnica nova = new Uputnica
                {
                    DatumUputnice   = model.DatumUputnice,
                    IsGotovNalaz    = false,
                    UputioLjekarId  = model.LjekarId,
                    PacijentId      = model.PacijentId,
                    VrstaPretrageId = model.VrstaPretrageId,
                };

                db.Add(nova);
                db.SaveChanges();

                List <LabPretraga> pretrage = db.LabPretraga.Where(x => x.VrstaPretrageId == model.VrstaPretrageId).ToList();
                foreach (var item in pretrage)
                {
                    db.Add(new RezultatPretrage
                    {
                        LabPretragaId = item.Id,
                        UputnicaId    = nova.Id
                    });
                    db.SaveChanges();
                }
                return(Redirect("Index"));
            }

            LoadViewBag();
            return(View(model));
        }
Exemple #11
0
        public IActionResult Zakljucaj(int id)
        {
            Uputnica uputnica = _db.Uputnica.Find(id);

            uputnica.IsGotovNalaz   = true;
            uputnica.DatumRezultata = DateTime.Now;
            _db.SaveChanges();
            return(RedirectToAction("Detalji", new { id = id }));
        }
Exemple #12
0
        public void ZakljucajUputnicu(int uputnicaId)
        {
            Uputnica uputnica = _context.Uputnica.Find(uputnicaId);

            uputnica.IsGotovNalaz = true;

            _context.Update(uputnica);
            _context.SaveChanges();
        }
        public IActionResult Zakljucaj(int uputnicaID)
        {
            Uputnica uputnica = _context.Uputnica.Where(e => e.Id == uputnicaID).FirstOrDefault();

            uputnica.IsGotovNalaz   = true;
            uputnica.DatumRezultata = DateTime.Now;
            _context.SaveChanges();

            return(Redirect("Index"));
        }
        public IActionResult Detalji(int UputnicaId)
        {
            UDetaljiVM uDetaljiVM = new UDetaljiVM();
            Uputnica   u          = _myContext.Uputnica.Include(x => x.Pacijent).Where(x => x.Id == UputnicaId).FirstOrDefault();

            uDetaljiVM.UputnicaId     = UputnicaId;
            uDetaljiVM.Datum          = u.DatumUputnice;
            uDetaljiVM.Pacijent       = u.Pacijent.Ime;
            uDetaljiVM.DatumRezultata = u.DatumRezultata;
            return(View(uDetaljiVM));
        }
Exemple #15
0
        public IActionResult Index(int UputnicaId)
        {
            RIndexVM rIndexVM = new RIndexVM();

            rIndexVM.UputnicaId = UputnicaId;
            rIndexVM.Rezultati  = new List <RIndexVM.Row>();

            Uputnica u = _myContext.Uputnica.Where(x => x.Id == UputnicaId).FirstOrDefault();

            List <RezultatPretrage> rp = _myContext.RezultatPretrage.Where(x => x.UputnicaId == UputnicaId).ToList();

            foreach (var item in rp)
            {
                RIndexVM.Row row = new RIndexVM.Row();
                row.RezultatId = item.Id;
                LabPretraga lp = _myContext.LabPretraga.Where(x => x.Id == item.LabPretragaId).FirstOrDefault();
                row.Pretrage = lp.Naziv;
                if (item.NumerickaVrijednost == null)
                {
                    row.IsNumericka = false;
                    List <Modalitet> m = _myContext.Modalitet.Where(x => x.LabPretragaId == lp.Id).ToList();
                    row.Modaliteti = new List <SelectListItem>();
                    Modalitet      m1        = _myContext.Modalitet.Where(x => x.Id == item.ModalitetId).FirstOrDefault();
                    SelectListItem modalitet = new SelectListItem();
                    modalitet.Value = m1.Id.ToString();
                    modalitet.Text  = m1.Opis;
                    row.Modaliteti.Add(modalitet);
                    foreach (var mod in m)
                    {
                        if (m1.Id != mod.Id)
                        {
                            SelectListItem newSLI = new SelectListItem();
                            newSLI.Value = mod.Id.ToString();
                            newSLI.Text  = mod.Opis;
                            row.Modaliteti.Add(newSLI);
                        }
                        row.ModalitetiNabrajanja += mod.Opis + ", ";
                    }
                    row.IzmjerenaVrijednost     = null;
                    row.ReferentnaVrijednostMax = null;
                    row.ReferentnaVrijednostMin = null;
                }
                else
                {
                    row.IsNumericka         = true;
                    row.IzmjerenaVrijednost = item.NumerickaVrijednost;
                    row.JMJ = lp.MjernaJedinica;
                    row.ReferentnaVrijednostMax = lp.ReferentnaVrijednostMax;
                    row.ReferentnaVrijednostMin = lp.ReferentnaVrijednostMin;
                }
                rIndexVM.Rezultati.Add(row);
            }
            return(PartialView(rIndexVM));
        }
        public IActionResult ZavrsiUnos(int uputnicaId)
        {
            Uputnica uputnica = db.Uputnica.Find(uputnicaId);

            uputnica.IsGotovNalaz   = true;
            uputnica.DatumRezultata = DateTime.Now;

            db.Uputnica.Update(uputnica);

            db.SaveChanges();
            return(RedirectToAction("Index", "Rezultati", new { uputnicaId }));
        }
        public async Task <IActionResult> Create([Bind("svrha,odrediste,ID,datumIzdavanja,KorisnikId,Odjel")] Uputnica uputnica)
        {
            if (ModelState.IsValid)
            {
                _context.Add(uputnica);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["KorisnikId"] = new SelectList(_context.pacijenti, "ID", "ID", uputnica.KorisnikId);

            return(View(uputnica));
        }
Exemple #18
0
        public IActionResult Detalji(int id)
        {
            Uputnica          uputnica = _db.Uputnica.Include(u => u.Pacijent).Where(u => u.Id == id).SingleOrDefault();
            DetaljiUputnicaVM model    = new DetaljiUputnicaVM
            {
                ID             = id,
                Pacijent       = uputnica.Pacijent.Ime.Substring(0, 1) + "." + uputnica.Pacijent.Ime.Substring(uputnica.Pacijent.Ime.IndexOf(" "), 2),
                DatumUputnice  = uputnica.DatumUputnice.ToString("dd.MM.yyyy"),
                DatumRezultata = uputnica.DatumRezultata.HasValue ? uputnica.DatumRezultata.ToString() : null
            };

            return(View(model));
        }
        public ActionResult DetaljiUputnice(int uputnicaID)
        {
            Uputnica uputnica = db.Uputnica.Find(uputnicaID);
            var      model    = new DetlajiUputniceVM_Prikaz
            {
                uputnicaID             = uputnicaID,
                datumRezultataUputnice = uputnica.DatumRezultata,
                datumUputnice          = uputnica.DatumUputnice.ToString("dd.MM.yyyy"),
                pacijentIme            = db.Pacijent.Where(p => p.Id == uputnica.PacijentId).Select(p => p.Ime).FirstOrDefault()
            };

            return(View(model));
        }
Exemple #20
0
        public IActionResult Zakljucaj(int id)
        {
            DateTime date = DateTime.Now;             //kako trenutno vrijeme
            // zasto kad koristim .Find(id) imam runtime
            Uputnica up = _context.Uputnica.Where(x => x.Id == id).FirstOrDefault();

            up.DatumRezultata = date;
            up.IsGotovNalaz   = true;
            _context.SaveChanges();

            string idd = id.ToString();

            return(Redirect("/Uputnica/Detalji?id=" + idd));
        }
        public IActionResult Detalji(int uputnicaID)
        {
            Uputnica uputnica = _context.Uputnica.Where(e => e.Id == uputnicaID).Include(e => e.Pacijent).FirstOrDefault();

            var model = new Uputnica_DetaljiVM
            {
                uputnicaID = uputnicaID,
                datum      = uputnica.DatumUputnice,
                datumr     = uputnica.DatumRezultata,
                pacijent   = uputnica.Pacijent.Ime
            };

            return(View(model));
        }
Exemple #22
0
        public IActionResult Zakljucaj(int id)
        {
            Uputnica u = db.Uputnica.Find(id);

            if (u != null && !u.IsGotovNalaz)
            {
                u.IsGotovNalaz   = true;
                u.DatumRezultata = DateTime.Now;
                db.Update(u);
                db.SaveChanges();
                return(Redirect("/Uputnica/Detalji/" + id));
            }
            return(Redirect("/Uputnica"));
        }
Exemple #23
0
        private async Task <DetaljiUputniceVM> BuildDetaljiUputniceViewModel(Uputnica uputnica)
        {
            var rezultatiPretragaVM = new List <RezultatPretrageVM>();

            if (uputnica == null)
            {
                return new DetaljiUputniceVM
                       {
                           RezultatiPretraga = rezultatiPretragaVM
                       }
            }
            ;

            var rezultatiPretraga = _context.RezultatPretrage
                                    .Include(x => x.LabPretraga)
                                    .Where(x => x.UputnicaId == uputnica.Id);

            if (!await rezultatiPretraga.AnyAsync())
            {
                return new DetaljiUputniceVM
                       {
                           RezultatiPretraga = rezultatiPretragaVM
                       }
            }
            ;

            var model = new DetaljiUputniceVM
            {
                Id                = _protector.Protect(uputnica.Id.ToString()),
                DatumUputnice     = uputnica.DatumUputnice,
                DatumRezultata    = uputnica.DatumRezultata,
                IsZavrsenUnos     = uputnica.IsGotovNalaz,
                Pacijent          = uputnica.Pacijent.Ime,
                RezultatiPretraga = new List <RezultatPretrageVM>()
            };

            foreach (var x in rezultatiPretraga)
            {
                if (x.ModalitetId.HasValue)
                {
                    x.Modalitet = await _context.Modalitet.FindAsync(x.ModalitetId);
                }
                model.RezultatiPretraga.Add(await BuildRezultatPretrageVM(x));
            }



            return(model);
        }
Exemple #24
0
        public IActionResult Detalji(int id)
        {
            Uputnica u = db.Uputnica.Where(x => x.Id == id).Include(x => x.Pacijent).SingleOrDefault();

            if (u != null)
            {
                UputnicaDetaljiVM model = new UputnicaDetaljiVM
                {
                    DatumRezultata = u.DatumRezultata ?? default(DateTime),
                    DatumUputnice  = u.DatumUputnice,
                    Pacijent       = u.Pacijent.Ime,
                    UputnicaId     = id
                };
                return(View(model));
            }
            return(Redirect("Index"));
        }
Exemple #25
0
        public IActionResult Snimi(UputnicaDodajVM model)
        {
            if (!ModelState.IsValid)
            {
                model.ljekari = _context.Ljekar.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = "Dr." + x.Ime
                }).ToList();
                model.pacijenti = _context.Pacijent.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Ime
                }).ToList();
                model.vrstePretrage = _context.VrstaPretrage.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).ToList();

                return(View("Dodaj", model));
            }

            Uputnica novaUputnica = new Uputnica()
            {
                PacijentId      = model.pacijentId,
                UputioLjekarId  = model.ljekarId,
                VrstaPretrageId = model.vrstaPretrageId,
                DatumUputnice   = (DateTime)model.DatumUputnie
            };

            _context.Uputnica.Add(novaUputnica);
            _context.SaveChanges();
            List <RezultatPretrage> listaPretraga = _context.LabPretraga.Where(x => x.VrstaPretrageId == model.vrstaPretrageId).Select(x => new RezultatPretrage
            {
                LabPretragaId       = x.Id,
                UputnicaId          = novaUputnica.Id,
                ModalitetId         = null,
                NumerickaVrijednost = null,
            }).ToList();

            _context.AddRange(listaPretraga);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult PrikazRezultata(int uputnicaID)
        {
            Uputnica uputnica = db.Uputnica.Find(uputnicaID);
            var      model    = new RezultatPretrageVM_PRikaz
            {
                podaciRezultatiPrikaz = db.RezultatPretrage.Where(l => l.UputnicaId == uputnica.Id).Select(l => new RezultatPretrageVM_PRikaz.Row()
                {
                    rezultatID                   = l.Id,
                    labPretragaNaziv             = db.LabPretraga.Where(p => p.Id == l.LabPretragaId).Select(p => p.Naziv).FirstOrDefault(),
                    izmjerenaNumerickaVrijednost = l.NumerickaVrijednost,
                    mjernaJednicica              = db.LabPretraga.Where(p => p.Id == l.LabPretragaId).Select(p => p.MjernaJedinica).FirstOrDefault(),
                    akoJeModalitetNaziv          = db.Modalitet.Where(m => m.LabPretragaId == l.LabPretragaId).Select(m => m.Opis).FirstOrDefault(),
                    vrstaVrijednosti             = db.LabPretraga.Where(p => p.Id == l.LabPretragaId).Select(p => p.VrstaVr).FirstOrDefault(),
                }).ToList()
            };

            return(PartialView(model));
        }
        public IActionResult Index(int uputnicaID)
        {
            Uputnica uputnica = _context.Uputnica.Find(uputnicaID);

            var model = new Stavke_IndexVM
            {
                uputnicaID = uputnicaID,

                _lista = _context.RezultatPretrage.Where(e => e.UputnicaId == uputnicaID).Select(e => new Stavke_IndexVM.rows
                {
                    stavkaID  = e.Id,
                    pretraga  = e.LabPretraga.Naziv,
                    izmjereno = e.NumerickaVrijednost,
                    JMJ       = e.LabPretraga.MjernaJedinica,

                    vrsta = e.LabPretraga.VrstaVr
                }).ToList()
            };

            return(View(model));
        }
        public IActionResult Dodaj(UputnicaDodajViewModel vm)
        {
            Uputnica uputnica = vm.Uputnica;

            db.Uputnica.Add(uputnica);

            List <LabPretraga> listLabPretraga = db.LabPretraga.Where(x => x.VrstaPretrageId == uputnica.VrstaPretrageId).ToList();

            foreach (var p in listLabPretraga)
            {
                RezultatPretrage rezultatPretrage = new RezultatPretrage()
                {
                    LabPretragaId = p.Id,
                    UputnicaId    = uputnica.Id
                };

                db.RezultatPretrage.Add(rezultatPretrage);
            }

            db.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
Exemple #29
0
        public IActionResult Index(int uputnicaId)
        {
            Uputnica uputnica          = db.Uputnica.Find(uputnicaId);
            RezultatiIndexViewModel vm = new RezultatiIndexViewModel()
            {
                UputnicaId   = uputnicaId,
                IsGotovNalaz = uputnica.IsGotovNalaz,
                Rows         = db.RezultatPretrage.Where(x => x.UputnicaId == uputnicaId).Select(x => new RezultatiIndexViewModel.Row()
                {
                    ModalitetId             = x.ModalitetId,
                    LabPretragaId           = x.LabPretragaId,
                    RezultatPretrageId      = x.Id,
                    IzmjerenaVrijednost     = x.NumerickaVrijednost,
                    MjernaJedinica          = x.LabPretraga.MjernaJedinica,
                    VrstaPretrage           = x.LabPretraga.Naziv,
                    VrstaVrijednosti        = x.LabPretraga.VrstaVr,
                    Modalitet               = x.Modalitet.Opis,
                    ReferentnaVrijednostMax = x.LabPretraga.ReferentnaVrijednostMax,
                    ReferentnaVrijednostMin = x.LabPretraga.ReferentnaVrijednostMin,
                    IsReferentnaNumericka   = x.LabPretraga.VrstaVr == VrstaVrijednosti.NumerickaVrijednost && x.NumerickaVrijednost >= x.LabPretraga.ReferentnaVrijednostMin &&
                                              x.NumerickaVrijednost <= x.LabPretraga.ReferentnaVrijednostMax
                                                      ? true
                                                      : false,
                    IsReferentnaModalitet = x.LabPretraga.VrstaVr == VrstaVrijednosti.Modalitet && x.Modalitet.IsReferentnaVrijednost
                                            ? true
                                            : false,
                    ReferentniModaliteti = string.Join(", ", db.Modalitet.Where(k => k.LabPretragaId == x.LabPretragaId && k.IsReferentnaVrijednost).Select(k => k.Opis).ToList())
                }).ToList()
            };

            // GenerateSelectListOfModalitets je funkcije koja sluzi za kreiranje padajuce liste za odgovarajucu lab pretragu,
            // funkcija je definisana u regionu Helpers
            foreach (var x in vm.Rows)
            {
                x.Modaliteti = GenerateSelectListOfModalitets(x.LabPretragaId);
            }

            return(PartialView(vm));
        }
Exemple #30
0
        public void DodajUputnica(NovaUputnicaViewModel uputnica)
        {
            Uputnica novaUputnica = new Uputnica()
            {
                UputioLjekarId  = uputnica.ljekarId,
                PacijentId      = uputnica.pacijentId,
                DatumUputnice   = DateTime.Parse(uputnica.datumUputnice),
                VrstaPretrageId = uputnica.vrstePretragaId
            };

            _context.Uputnica.Add(novaUputnica);
            _context.SaveChanges();

            //ZADATAK:
            //Prilikom spašavanja nove uputnice za vrstu pretrage x potrebno je:
            // -dodati zapise u tabelu RezultatiPretrage za svaku
            //  pretragu p koja pripada vrsti x.

            //KOMENTAR: kako vidim treba pokupiti listu pretraga koje se vrše za tu određenu vrstu,
            //i onda na osnovu toga kreirati rezultate za tu uputnicu i tu vrstu pretrage
            HashSet <LabPretraga> labPretrage = _context.LabPretraga
                                                .Where(lp => lp.VrstaPretrageId == uputnica.vrstePretragaId)
                                                .ToHashSet();

            HashSet <RezultatPretrage> rezultatiPretraga = new HashSet <RezultatPretrage>();

            foreach (var labPretraga in labPretrage)
            {
                rezultatiPretraga.Add(new RezultatPretrage()
                {
                    LabPretragaId = labPretraga.Id,
                    UputnicaId    = novaUputnica.Id,
                });
            }

            _context.RezultatPretrage.AddRange(rezultatiPretraga);
            _context.SaveChanges();
        }