Ejemplo n.º 1
0
        public async Task <IActionResult> EvidencijaSnimi(RezultatPretrageInputVM model)
        {
            int decryptedId = int.Parse(_protector.Unprotect(model.Id));

            var rezultatPretrage = await _context.RezultatPretrage
                                   .Include(x => x.LabPretraga)
                                   .FirstOrDefaultAsync(x => x.Id == decryptedId);

            if (rezultatPretrage == null)
            {
                return(BadRequest("Rezultat pretrage nije pronadjen."));
            }

            if (model.ModalitetId != null)
            {
                rezultatPretrage.ModalitetId = model.ModalitetId;
            }
            else
            {
                rezultatPretrage.NumerickaVrijednost = model.IzmjerenaVrijednost;
            }

            _context.Update(rezultatPretrage);
            await _context.SaveChangesAsync();

            if (model.ModalitetId != null)
            {
                var modalitet = await _context.FindAsync <Modalitet>(model.ModalitetId);

                return(Ok(
                           new
                {
                    Vrijednost = modalitet?.Opis ?? "",
                    IsReferentna = modalitet?.IsReferentnaVrijednost ?? false
                }));
            }
            return(Ok(new
            {
                Vrijednost = rezultatPretrage.NumerickaVrijednost?.ToString() ?? "",
                IsReferentna = rezultatPretrage.NumerickaVrijednost <= rezultatPretrage.LabPretraga.ReferentnaVrijednostMax &&
                               rezultatPretrage.NumerickaVrijednost >= rezultatPretrage.LabPretraga.ReferentnaVrijednostMin
            }));
        }