public ActionResult Addrequest()
        {
            ViewBag.Message = "Add Request.";

            string bloodGroup = Request["bloodGroup"];
            string city       = Request["city"];
            int    id         = (int)Session["id"];

            bloodrequest br = new bloodrequest();

            br.userid          = id;
            br.bloodgroup      = bloodGroup;
            br.presentlocation = city;
            br.datetime        = System.DateTime.Now;

            // Add this request to blood request table
            db.bloodrequests.Add(br);
            db.SaveChanges();

            user requester = db.users.Find(id);

            List <user>   users  = db.users.Where(u => u.bloodgroup == bloodGroup && u.city == city).ToList();
            List <String> emails = new List <String>();

            foreach (user u in users)
            {
                if (u.donations.Count == 0)
                {
                    emails.Add(u.email);
                }
                else if ((DateTime.Now - u.donations.OrderByDescending(u1 => u1.datetime).First().datetime).TotalDays > 60)
                {
                    emails.Add(u.email);
                }
            }


            sendEmail(emails, "Pakistan Blood Bank", bloodGroup + " Blood is urgently required in " + city + " " + "Kindly contact :" + requester.phoneNo);

            //////
            ViewBag.Message = "bloodrequest page.";
            string bloodGroup1 = (string)Session["bloodGroup"];
            string city1       = (string)Session["city"];

            List <bloodrequest> reqs = db.bloodrequests.Where(r => r.bloodgroup == bloodGroup1 && r.presentlocation == city1 && r.ishandle == false).ToList();

            ViewBag.size = reqs.Count;
            return(RedirectToAction("bloodrequests", reqs));
        }
        public ActionResult AddDonation()
        {
            ViewBag.Message = "Add Donation.";
            int userid    = (int)Session["id"];
            int requestid = int.Parse(Request["reqID"]);

            // check 2 months.
            try
            {
                donation don  = db.donations.Where(d => d.userid == userid).OrderByDescending(m => m.datetime).First();
                double   days = (DateTime.Now - don.datetime).TotalDays;
                if (days > 60)
                {
                    bloodrequest req = db.bloodrequests.Find(requestid);
                    req.ishandle = true;
                    db.SaveChanges();
                    donation d = new donation();
                    d.bloodrequestid = requestid;
                    d.userid         = userid;
                    d.datetime       = DateTime.Now;
                    db.donations.Add(d);
                    db.SaveChanges();
                }
            }
            catch (Exception e) {
                bloodrequest req = db.bloodrequests.Find(requestid);
                req.ishandle = true;
                // db.SaveChanges();
                donation d = new donation();
                d.bloodrequestid = requestid;
                d.userid         = userid;
                d.datetime       = DateTime.Now;
                db.donations.Add(d);
                db.SaveChanges();
            }

            // Add donation here

            return(RedirectToAction("bloodrequests"));
        }