public async Task <ActionResult <Donacija> > PostDonacija(Donacija donacija)
        {
            _context.Donacija.Add(donacija);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetDonacija", new { id = donacija.DonacijaId }, donacija));
        }
        private string GenerisiSifru(Donacija donacija)
        {
            string sifra = "";

            sifra = sifra + donacija.KrvnaGrupa.ToUpper();

            if (donacija.RhFaktor.Equals("+"))
            {
                sifra = sifra + "POZ";
            }
            else
            {
                sifra = sifra + "NEG";
            }

            sifra = sifra + donacija.DatumDonacije.Date.ToString("ddMMyy");

            Random randomNumber = new Random();
            String dodatak      = "";

            do
            {
                dodatak = randomNumber.Next(1000, 9999).ToString();
            } while (ProvjeriSifru(sifra, dodatak));

            sifra = sifra + dodatak;

            return(sifra);
        }
        public ActionResult DonacijaJeStigla(int donacijaId)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            d.StatusId = 5;
            db.SaveChanges();

            PrimalacDonacijaJeStiglaVM model = new PrimalacDonacijaJeStiglaVM
            {
                ListaDojmova = db.Dojam.Select(d => new SelectListItem
                {
                    Value = d.Id.ToString(),
                    Text  = d.VrstaDojma
                }).ToList(),
                DonacijaId = donacijaId,
                KorisnikId = (int)d.DonorId
            };


            PostaviViewBag(k.Id, "ZatrazeneDonacije");
            return(View(model));
        }
        public ActionResult Uredi(int donacijaId)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija donacija = db.Donacija.Find(donacijaId);

            DodajDonacijuPotrebuViewModel viewModel = new DodajDonacijuPotrebuViewModel
            {
                TipDonacije = db.TipDonacije.Select(t => new SelectListItem {
                    Value = t.TipDonacijeId.ToString(), Text = t.Tip
                }).ToList(),
                DonacijaId    = donacija.DonacijaId,
                JedinicaMjere = (JedinicaMjere)donacija.JedinicaMjere,
                Kolicina      = (int)donacija.Kolicina,
                Opis          = donacija.Opis,
                TipDonacijeId = donacija.TipDonacijeId
            };

            PostaviViewBag(k.Id, "MojePotrebe");
            return(View("DodajPotrebu", viewModel));
        }
Пример #5
0
        public DonationInfoPage(Donacija donacija)
        {
            InitializeComponent();
            this.donacija     = donacija;
            ljekarskiPregledi = JsonConvert.DeserializeObject <List <LjekarskiPregled> >(REST.JoinDonacijaLjekarski(donacija.DonacijaId));
            ljekarski         = ljekarskiPregledi[0];

            doze = JsonConvert.DeserializeObject <List <DozaKrvi> >(REST.JoinDonacijaDoza(donacija.DonacijaId));

            txtBloodPressure.Text    = ljekarski.KrvniPritisak;
            txtHemoglobineLevel.Text = ljekarski.NivoHemoglobina.ToString();
            txtPulse.Text            = ljekarski.Puls;
            txtTemperature.Text      = ljekarski.Temperatura.ToString();
            txtWeight.Text           = ljekarski.TezinaKg.ToString();
            txtNote.Document.Blocks.Clear();
            txtNote.Document.Blocks.Add(new Paragraph(new Run(ljekarski.Napomena)));

            donor             = JsonConvert.DeserializeObject <Donor>(REST.Get_ID("donor", donacija.DonorId.Value));
            txtId.Text        = donor.RegistarskiBroj;
            txtName.Text      = donor.Ime;
            txtLastName.Text  = donor.Prezime;
            txtBloodType.Text = donor.KrvnaGrupaDonor;

            if (doze.Count > 1)
            {
                txtPlazmaId.Text    = doze[0].DozaKrviId.ToString();
                txtRedCellsId.Text  = doze[1].DozaKrviId.ToString();
                txtPlateletsId.Text = doze[2].DozaKrviId.ToString();
            }
            else
            {
                txtBloodId.Text = doze[0].DozaKrviId.ToString();
            }
            txtDate.Text = donacija.DatumDoniranja.ToString();
        }
        public ActionResult PonistiZahtjev(int donacijaId, int?page)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            d.StatusId   = 1;
            d.PrimalacId = null;

            db.SaveChanges();

            IEnumerable <Donacija> donacija = db.Donacija.Where(s => s.StatusId == 6 || s.StatusId == 4 || s.StatusId == 3)
                                              .Where(s => s.VrstaDonacijeId == 1).Include(s => s.Status).Include(s => s.TipDonacije)
                                              .Include(s => s.Donor.LicniPodaci).ToList();

            ViewBag.Prikazi = "Ponisteno";

            PostaviViewBag(k.Id, "ZatrazeneDonacije");
            return(View("ZatrazeneDonacije", donacija.ToPagedList(page ?? 1, 5)));
        }
        public ActionResult IzbrisiPotrebu(int donacijaId, int?page2)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            db.Donacija.Remove(d);
            db.SaveChanges();

            IEnumerable <Donacija> donacija = db.Donacija.Where(s => s.DonorId == null)
                                              .Where(s => s.PrimalacId == k.Id)
                                              .Where(s => s.VrstaDonacijeId == 2)
                                              .Include(s => s.Status)
                                              .Include(s => s.TipDonacije)
                                              .ToList();

            ViewBag.Prikazi = "prikazi";
            PostaviViewBag(k.Id, "MojePotrebe");
            return(View("MojePotrebe", donacija.ToPagedList(page2 ?? 1, 5)));
        }
        public async Task <IActionResult> Edit(int id, [Bind("DonacijaId,SifraDonacije,KrvnaGrupa,DatumDonacije,RhFaktor,ImeDoktora")] Donacija donacija)
        {
            if (id != donacija.DonacijaId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(donacija);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DonacijaExists(donacija.DonacijaId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(donacija));
        }
        public async Task <IActionResult> PutDonacija(int id, Donacija donacija)
        {
            if (id != donacija.DonacijaId)
            {
                return(BadRequest());
            }

            _context.Entry(donacija).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DonacijaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #10
0
        public ActionResult Doniraj(int donacijaId)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 1)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            d.StatusId = 3;
            d.DonorId  = k.Id;

            Obavijest o = new Obavijest
            {
                DonacijaId      = donacijaId,
                OdKorisnikId    = k.Id,
                TipKorisnikaId  = 2,
                TipObavijestiId = 8,
                Vrijeme         = DateTime.Now,
                ZaKorisnikId    = (int)d.PrimalacId
            };

            db.Obavijest.Add(o);
            db.SaveChanges();

            _hubContext.Clients.All.SendAsync("ReceiveNotification", o.ZaKorisnikId);

            PostaviViewBag(k.Id, "PregledPotreba");
            ViewBag.donacijaId = donacijaId;
            return(View("PrihvatiZahtjev"));
        }
Пример #11
0
        public ActionResult ObezbjediTransport(int donacijaId)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 1)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            d.TransportId = k.Id;
            d.StatusId    = 4;

            Obavijest o = new Obavijest
            {
                DonacijaId      = donacijaId,
                OdKorisnikId    = k.Id,
                TipKorisnikaId  = 2,
                TipObavijestiId = 6,
                Vrijeme         = DateTime.Now,
                ZaKorisnikId    = (int)d.PrimalacId
            };

            db.Obavijest.Add(o);
            db.SaveChanges();

            _hubContext.Clients.All.SendAsync("ReceiveNotification", o.ZaKorisnikId);

            return(RedirectToAction("MojeAktivneDonacije"));
        }
Пример #12
0
 public IActionResult Create([Bind("SerijskiBroj,Vrsta,OpisSadrzaja,Protuvrijednost,PosebnaPrigoda,Javna,Posiljalac,Primalac")] Donacija donacija)
 {
     if (ModelState.IsValid)
     {
         donacije.Add(donacija);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(donacija));
 }
        public async Task <IActionResult> Create([Bind("DonacijaId,SifraDonacije,KrvnaGrupa,DatumDonacije,RhFaktor,ImeDoktora")] Donacija donacija)
        {
            donacija.SifraDonacije = GenerisiSifru(donacija);
            _context.Add(donacija);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Pretraga", "Donacija"));

            // return View(donacija);
        }
Пример #14
0
        public async Task <IActionResult> Create([Bind("DonacijaId,DatumDonacije,DoniranaKolicinaKrvi")] Donacija donacija)
        {
            if (ModelState.IsValid)
            {
                _context.Add(donacija);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(donacija));
        }
Пример #15
0
        public ActionResult DetaljiDonacije(int donacijaId, int akcija)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 1)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija donacija = db.Donacija.Where(d => d.DonacijaId == donacijaId)
                                .Include(d => d.Status)
                                .Include(d => d.Primalac)
                                .Include(d => d.Primalac.LicniPodaci)
                                .Include(d => d.Primalac.Grad)
                                .Include(d => d.TipDonacije)
                                .FirstOrDefault();

            DonorDetaljiDonacijeVM model = new DonorDetaljiDonacijeVM
            {
                DonacijaId    = donacijaId,
                JedinicaMjere = (JedinicaMjere)donacija.JedinicaMjere,
                Kolicina      = donacija.Kolicina,
                Opis          = donacija.Opis,
                StatusOpis    = donacija.Status.Opis,
                TipDonacije   = donacija.TipDonacije.Tip
            };

            if (donacija.Primalac != null)
            {
                model.PrimalacAdresa           = donacija.Primalac.LicniPodaci.Adresa;
                model.PrimalacGrad             = donacija.Primalac.Grad.Naziv;
                model.PrimalacLicniPodaciNaziv = donacija.Primalac.LicniPodaci.Naziv;
            }
            else
            {
                model.PrimalacAdresa           = "Donacija je bez primaoca";
                model.PrimalacGrad             = "";
                model.PrimalacLicniPodaciNaziv = "Donacija je bez primaoca";
            }

            if (akcija == 1)
            {
                PostaviViewBag(k.Id, "MojeAktivneDonacije");
            }
            else
            {
                PostaviViewBag(k.Id, "PregledPotreba");
            }

            ViewBag.Akcija = akcija;
            return(View(model));
        }
        public ActionResult ObezbjediTransport(int donacijaId, int?page)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = db.Donacija.Find(donacijaId);

            d.TransportId = k.Id;
            d.StatusId    = 4;

            Obavijest o = new Obavijest
            {
                DonacijaId      = donacijaId,
                OdKorisnikId    = k.Id,
                TipKorisnikaId  = 1,
                TipObavijestiId = 4,
                Vrijeme         = DateTime.Now,
                ZaKorisnikId    = (int)d.DonorId
            };

            db.Obavijest.Add(o);
            db.SaveChanges();

            _hubContext.Clients.All.SendAsync("ReceiveNotification", o.ZaKorisnikId);

            IEnumerable <Donacija> donacija = db.Donacija.Where(s => s.StatusId == 6 || s.StatusId == 4 || s.StatusId == 3)
                                              .Where(s => s.VrstaDonacijeId == 1).Include(s => s.Status).Include(s => s.TipDonacije)
                                              .Include(s => s.Donor.LicniPodaci).ToList();

            ViewBag.Prikazi = "Transport";

            PostaviViewBag(k.Id, "ZatrazeneDonacije");
            return(View("ZatrazeneDonacije", donacija.ToPagedList(page ?? 1, 5)));
        }
        public ActionResult SpasiPotrebu(DodajDonacijuPotrebuViewModel viewModel)
        {
            Korisnik k = HttpContext.GetLogiraniKorisnik();

            if (k == null || k.TipKorisnikaId != 2)
            {
                ViewData["error_poruka"] = "Nemate pravo pristupa.";
                return(View("../Home/Index"));
            }

            Donacija d = new Donacija
            {
                JedinicaMjere   = (JedinicaMjere)viewModel.JedinicaMjere,
                Kolicina        = (int)viewModel.Kolicina,
                Opis            = viewModel.Opis,
                PrimalacId      = k.Id,
                StatusId        = 2,
                TipDonacijeId   = viewModel.TipDonacijeId,
                VrstaDonacijeId = 2
            };

            if (viewModel.DonacijaId == 0)
            {
                db.Donacija.Add(d);
            }
            else
            {
                var objectDb = db.Donacija.Find(viewModel.DonacijaId);
                objectDb.JedinicaMjere = (JedinicaMjere)viewModel.JedinicaMjere;
                objectDb.Kolicina      = (int)viewModel.Kolicina;
                objectDb.Opis          = viewModel.Opis;
                objectDb.TipDonacijeId = viewModel.TipDonacijeId;
            }

            db.SaveChanges();

            ViewBag.Prikazi = "prikazi";
            return(RedirectToAction("MojePotrebe"));
        }
Пример #18
0
        private void datagridDonations_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangeEventArgs e)
        {
            txtBloodId.Text     = "";
            txtPlazmaId.Text    = "";
            txtRedCellsId.Text  = "";
            txtPlateletsId.Text = "";

            donacija = this.datagridDonations.SelectedItem as Donacija;

            ljekarskiPregledi = JsonConvert.DeserializeObject <List <LjekarskiPregled> >(REST.JoinDonacijaLjekarski(donacija.DonacijaId));
            ljekarski         = ljekarskiPregledi[0];

            doze = JsonConvert.DeserializeObject <List <DozaKrvi> >(REST.JoinDonacijaDoza(donacija.DonacijaId));

            txtBloodPressure.Text    = ljekarski.KrvniPritisak;
            txtHemoglobineLevel.Text = ljekarski.NivoHemoglobina.ToString();
            txtPulse.Text            = ljekarski.Puls;
            txtTemperature.Text      = ljekarski.Temperatura.ToString();
            txtWeight.Text           = ljekarski.TezinaKg.ToString();
            txtNote.Document.Blocks.Clear();
            txtNote.Document.Blocks.Add(new Paragraph(new Run(ljekarski.Napomena)));

            donor             = JsonConvert.DeserializeObject <Donor>(REST.Get_ID("donor", donacija.DonorId.Value));
            txtId.Text        = donor.RegistarskiBroj;
            txtName.Text      = donor.Ime;
            txtLastName.Text  = donor.Prezime;
            txtBloodType.Text = donor.KrvnaGrupaDonor;

            if (doze.Count > 1)
            {
                txtPlazmaId.Text    = doze[0].DozaKrviId.ToString();
                txtRedCellsId.Text  = doze[1].DozaKrviId.ToString();
                txtPlateletsId.Text = doze[2].DozaKrviId.ToString();
            }
            else
            {
                txtBloodId.Text = doze[0].DozaKrviId.ToString();
            }
        }