public ActionResult CreateBloodResource(bloodResource bloodresource)
 {
     if (ModelState.IsValid)
     {
         bloodresource.idCenter = Int32.Parse(User.Identity.Name.ToString().Substring(0, 1));
         BloodResourceComparer cmp = new BloodResourceComparer();
         int ok = 1;
         if (db.bloodResources.Count() > 0)
         {
             foreach (var d in db.bloodResources)
             {
                 if (cmp.Equals(d, bloodresource))
                 {
                     ok = 0;
                 }
             }
         }
         if (ok == 1)
         {
             TempData["Success"] = "Blood resource successfully added!";
             db.bloodResources.Add(bloodresource);
             db.SaveChanges();
             return(RedirectToAction("BloodResourceIndex"));
         }
         else
         {
             TempData["Warning"] = "Blood resource already exists! Try add another one!";
             return(RedirectToAction("CreateBloodResource"));
         }
     }
     return(View());
 }
        public ActionResult RequestBloodCreate(RequestBlood req)
        {
            if (ModelState.IsValid)
            {
                Transaction t = new Transaction();
                t.idBlood = req.idBlood;
                bloodResource br = db.bloodResources.Find(req.idCenter, req.idBlood);
                if (br.quantity >= req.quantity)
                {
                    t.status           = "Pregatire";
                    br.quantity        = br.quantity - t.quantity;
                    db.Entry(br).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    t.status = "Prelevare";
                }

                t.idCenter   = req.idCenter;
                t.idHospital = req.idHospital;
                t.quantity   = req.quantity;
                t.severity   = req.severity;

                db.Transactions.Add(t);
                db.SaveChanges();
                TempData["Success"] = "Request blood submitted!";
                return(RedirectToAction("Index", "Home"));
            }
            return(View());
        }
 public ActionResult EditBloodResource(int CenterID, int BloodID, bloodResource br)
 {
     try
     {
         db.Entry(br).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         TempData["Success"] = "Blood resource successfully updated!";
         return(RedirectToAction("BloodResourceIndex"));
     }
     catch
     {
         return(View());
     }
 }
 public ActionResult DeleteBloodResource(int CenterID, int BloodID, bloodResource br)
 {
     try
     {
         db.bloodResources.Remove(db.bloodResources.Find(CenterID, BloodID));
         db.SaveChanges();
         TempData["Success"] = "Blood resource successfully deleted!";
         return(RedirectToAction("BloodResourceIndex"));
     }
     catch
     {
         return(View());
     }
 }
        public ActionResult EditBloodResource(int CenterID, int BloodID)
        {
            bloodResource a = db.bloodResources.Find(CenterID, BloodID);

            return(View(a));
        }
Esempio n. 6
0
        public ActionResult DonorTransactionEdit(int id, donorTransaction transaction)
        {
            try
            {
                if (transaction.status == "Acceptat")
                {
                    transaction.analysisStatus = "Pozitive";
                }
                else
                {
                    if (transaction.status == "Rebutat")
                    {
                        transaction.analysisStatus = "Negative";
                    }
                }

                if (transaction.status == "Acceptat")
                {
                    Donor d = db.Donors.Find(transaction.cnpDonor);
                    if (d.idBlood != null)
                    {
                        int           idBlood  = (int)d.idBlood;
                        int           idCenter = (int)transaction.idCenter;
                        bloodResource tt       = new bloodResource();
                        foreach (bloodResource t in db.bloodResources.ToList())
                        {
                            if (t.idBlood == idBlood && t.idCenter == idCenter)
                            {
                                tt = t;
                            }
                        }

                        tt.quantity        = tt.quantity + 500;
                        db.Entry(tt).State = System.Data.Entity.EntityState.Modified;

                        List <Transaction> transactionsListHigh   = new List <Transaction>();
                        List <Transaction> transactionsListMedium = new List <Transaction>();
                        List <Transaction> transactionsListLow    = new List <Transaction>();
                        foreach (Transaction t in db.Transactions.ToList())
                        {
                            if (t.idBlood == idBlood && t.idCenter == idCenter)
                            {
                                if (t.severity == "High")
                                {
                                    transactionsListHigh.Add(t);
                                }
                                if (t.severity == "Medium")
                                {
                                    transactionsListMedium.Add(t);
                                }
                                if (t.severity == "Low")
                                {
                                    transactionsListLow.Add(t);
                                }
                            }
                        }

                        foreach (Transaction t in transactionsListHigh)
                        {
                            if (t.status == "Prelevare")
                            {
                                if (t.quantity <= tt.quantity)
                                {
                                    t.status           = "Pregatire";
                                    db.Entry(t).State  = System.Data.Entity.EntityState.Modified;
                                    tt.quantity        = tt.quantity - t.quantity;
                                    db.Entry(tt).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                        }

                        foreach (Transaction t in transactionsListMedium)
                        {
                            if (t.status == "Prelevare")
                            {
                                if (t.quantity <= tt.quantity)
                                {
                                    t.status           = "Pregatire";
                                    db.Entry(t).State  = System.Data.Entity.EntityState.Modified;
                                    tt.quantity        = tt.quantity - t.quantity;
                                    db.Entry(tt).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                        }

                        foreach (Transaction t in transactionsListLow)
                        {
                            if (t.status == "Prelevare")
                            {
                                if (t.quantity <= tt.quantity)
                                {
                                    t.status           = "Pregatire";
                                    db.Entry(t).State  = System.Data.Entity.EntityState.Modified;
                                    tt.quantity        = tt.quantity - t.quantity;
                                    db.Entry(tt).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                        }
                    }
                }
                db.Entry(transaction).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                TempData["Success"] = "Donor transaction successfully updated!";
                return(RedirectToAction("DonorTransactionIndex"));
            }
            catch
            {
                return(View());
            }
        }