protected void btnCancel_Click(object sender, EventArgs e) { Users u = UsersDB.getUserbyEmail(Session["email"].ToString()); List <LiveDonor> ldlist = LiveDonorDB.getLiveDonorbyuserID(u.userId); foreach (LiveDonor l in ldlist) { if (l.status == "not allotted") { id = l.ldonorID; break; } } if (id != null) { LiveDonor nowld = LiveDonorDB.getLiveDonorbyID(id); nowld.status = "cancelled"; int num = LiveDonorDB.updateLiveDonor(nowld); if (num != 1) { lblDOutput.Text = "Sorry cancel Failed!"; } else { lblDOutput.Text = "Your organ donation is now cancelled!"; string DonateOrganUrl = "DonateOrgan.aspx"; Page.Header.Controls.Add(new LiteralControl(string.Format(@" <META http-equiv='REFRESH' content=2;url={0}> ", DonateOrganUrl))); } } else { lblDOutput.Text = "Sorry cancel Failed!"; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["email"] == null) { Server.Transfer("CommonLogin.aspx"); } else { Users u = UsersDB.getUserbyEmail(Session["email"].ToString()); List <LiveDonor> ldLists = LiveDonorDB.getLiveDonorbyuserID(u.userId); List <LiveDonor> cancellist = new List <LiveDonor>(); foreach (LiveDonor l in ldLists) { if (l.status == "cancelled" || l.status == "allotted") { cancellist.Add(l); } } if (cancellist.Count == 0) { Label1.Text = "Sorry! You don't have any transcation yet!"; return; } else { Label1.Text = "We found " + cancellist.Count + " Donation History!"; cancellist.Reverse(); gvDHistory.DataSource = cancellist; gvDHistory.DataBind(); } } } }
protected void btnDSubmit_Click(object sender, EventArgs e) { if (Convert.ToInt32(tbxDPhone.Text) <= 0) { lblDOutput.Text = "Phone number is in incorrect format"; return; } else { string ogtype; string Dname = tbxDoctor.Text; int Dphone = Convert.ToInt32(tbxDPhone.Text); string Demail = TbxDEmail.Text; string Daddress = tbxDAddress.Text; if (ddlOrgan.SelectedIndex == 0) { lblOrgan.Visible = true; return; } else { ogtype = ddlOrgan.SelectedValue; } if (tbxComment.Text == "") { comment = "-"; } else { comment = tbxComment.Text; } Users u = UsersDB.getUserbyEmail(Session["email"].ToString()); //add code for finding match here LiveDonor ld = new LiveDonor(u, ogtype, comment, "not allotted", Dname, Dphone, Daddress, Demail); int num = LiveDonorDB.insertLiveDonor(ld); if (num != -1) { LiveDonor tLiveDonor; List <LiveDonor> tDonorList = LiveDonorDB.getLiveDonorbyuserID(u.userId); tLiveDonor = tDonorList[0]; foreach (LiveDonor tld in tDonorList) { if (tld.status == "not allotted") { tLiveDonor = tld; } } List <OrganRecipient> allRecievers = OrganRecipientDB.getAllRecipients(); bool f = false; foreach (OrganRecipient r in allRecievers) { int y = 0; String bt1 = u.bloodtype; String bt2 = r.Bloodgroup; if ((bt1 == "A+" || bt1 == "A-") && (bt2 == "A+" || bt2 == "A-" || bt2 == "AB+" || bt2 == "AB-")) { y = 1; } else if ((bt1 == "B+" || bt1 == "B-") && (bt2 == "B+" || bt2 == "B-" || bt2 == "AB+" || bt2 == "AB-")) { y = 1; } else if ((bt1 == "AB+" || bt1 == "AB-") && (bt2 == "AB+" || bt2 == "AB-")) { y = 1; } else if ((bt1 == "O+" || bt1 == "O-") && (bt2 == "A+" || bt2 == "A-" || bt2 == "AB+" || bt2 == "AB-" || bt2 == "B+" || bt2 == "B-" || bt2 == "O+" || bt2 == "O-")) { y = 1; } if (y == 1 && tLiveDonor.OrganType == r.Organrequired && r.Status == "waiting") { float d = getDistance(u.address, r.Establishment.Address); int score = 0; int d1 = Convert.ToInt32(d); d = d / 3600; int wTimeScore = 0, distanceScore = 0; if (d < 5) { distanceScore = 5; } else if (d < 15) { distanceScore = 4; } else if (d < 25) { distanceScore = 3; } else if (d < 35) { distanceScore = 2; } else if (d < 45) { distanceScore = 1; } else { distanceScore = 0; } double days = (DateTime.Today - r.Addedon).TotalDays; if (days < 180) { wTimeScore = 1; } else if (days < 365) { wTimeScore = 2; } else if (days < 1095) { wTimeScore = 3; } else if (days < 1825) { wTimeScore = 4; } else { wTimeScore = 5; } score = r.Urgency * 3 + distanceScore + wTimeScore; LiveOrganMatching match = new LiveOrganMatching(); match.LiveDonor = tLiveDonor; match.MatchScore = score; match.Recipient = r; match.Status = "pending"; match.Comments = "NIL"; match.Distance = d1; LiveOrganMatchingDB.insertMatch(match); f = true; } } if (f == true) { List <LiveOrganMatching> liveMatches = LiveOrganMatchingDB.getAllMatches(); List <LiveOrganMatching> liveMatchesCurr = new List <LiveOrganMatching>(); foreach (LiveOrganMatching LOM1 in liveMatches) { if (LOM1.LiveDonor.LdonorID == tLiveDonor.LdonorID) { liveMatchesCurr.Add(LOM1); } } LiveOrganMatching tempLOM = liveMatchesCurr[0]; foreach (LiveOrganMatching LOM in liveMatchesCurr) { if (LOM.MatchScore > tempLOM.MatchScore) { tempLOM = LOM; } } tempLOM.Status = "current match"; LiveOrganMatchingDB.updateMatch(tempLOM); tLiveDonor.status = "allotted"; LiveDonorDB.updateLiveDonor(tLiveDonor); tempLOM.Recipient.Status = "allotted"; OrganRecipientDB.updateOrganRecipient(tempLOM.Recipient); } PanelRegisterDonor.Visible = false; Server.Transfer("HistoryOrgan.aspx"); } else { PanelRegisterDonor.Visible = true; lblDOutput.Text = "Registration Fail! Please Try Again."; return; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["email"] == null) { Server.Transfer("CommonLogin.aspx"); } else { Users u = UsersDB.getUserbyEmail(Session["email"].ToString()); List <LiveDonor> ldlist = LiveDonorDB.getLiveDonorbyuserID(u.userId); if (ldlist.Count == 0) { Label1.Text = "Sorry! You doesn't have any current organ donation!"; PanelFinishRegister.Visible = false; } else { foreach (LiveDonor l in ldlist) { if (l.status == "not allotted" || l.status == "allotted") { tempid = l.ldonorID; PanelFinishRegister.Visible = true; break; } else { tempid = "0"; } } if (tempid == "0") { Label1.Text = "Sorry! You doesn't have any current organ donation!"; PanelFinishRegister.Visible = false; } else { LiveDonor ld = LiveDonorDB.getLiveDonorbyID(tempid); PanelFinishRegister.Visible = true; lblComment.Text = ld.comments; lblDAddress.Text = ld.doctorAddress; lblDEmail.Text = ld.doctorEmail; lblDoctor.Text = ld.doctorName; lblDPhone.Text = Convert.ToString(ld.doctorNumber); lblOrgan.Text = ld.organType; lblstatus.Text = ld.status; } } List <LiveOrganMatching> lom = LiveOrganMatchingDB.getAllMatches(); List <LiveOrganMatching> lomshow = new List <LiveOrganMatching>(); if (lom.Count == 0) { lblmatchingF.Text = "Sorry! We haven't found any matching for you right now."; gvMatch.Visible = false; } else { foreach (LiveOrganMatching l in lom) { if (l.LiveDonor.userid.UserId == u.UserId && l.Status == "current match") { l.Distance = l.Distance / 60; lomshow.Add(l); } } if (lomshow.Count == 0) { lblmatchingF.Text = "Sorry! We haven't found any matching for you right now."; panelmatching.Visible = false; } else { panelmatching.Visible = true; gvMatch.DataSource = lomshow; gvMatch.DataBind(); } } } } }