protected void Page_Load(object sender, EventArgs e) { // displays a full list of all disputes from the database to be reviewed // checks if user is logged on if (Session["admin"] == null) // if user is not logged, redirect to login page { Response.Redirect("Login.aspx"); return; } // allows user to filter list by dispute status List <Dispute> disputeList = DisputeDB.getAllDisputeforRentals(null); List <Dispute> disputeListPending = DisputeDB.getAllDisputeforRentals("PendingDispute"); List <Dispute> disputeListResolved = DisputeDB.getAllDisputeforRentals("ResolvedDispute"); rptDisputeList.DataSource = disputeList; rptDisputeList.DataBind(); rptDisputeListPending.DataSource = disputeListPending; rptDisputeListPending.DataBind(); rptDisputeListResolved.DataSource = disputeListResolved; rptDisputeListResolved.DataBind(); }
// admin posts message with regards to a dispute protected void btnSend_Click(object sender, EventArgs e) { // check if the length of the message if (txtMsg.InnerText.Length > 255) // if the length of the message is more than 255, display alert { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your message cannot exceed 255 characters!')", true); return; } // gets the dispute being selected Dispute dis = DisputeDB.getDisputeybyID(Request.QueryString["disputeID"].ToString()); // checks the status of the dispute if (dis.Status == "Resolved") // if status of dispute is resolved, display alert, deny posting of message { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your page has expired since your disputer has closed the case')", true); rptMessages.DataBind(); setChatControls(false); txtMsg.InnerText = ""; return; } // checks if there is message typed if (txtMsg.InnerText != "") // if there is message, post message { submitMessage(txtMsg.InnerText, dis); txtMsg.InnerText = ""; Response.Redirect(Request.RawUrl); } Response.Redirect(Request.RawUrl); }
protected void btnSubmit_Click(object sender, EventArgs e) { if (tbxMessage.Text.Length > 255) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your message cannot exceed 255 characters!')", true); return; } Dispute dis = DisputeDB.getDisputeforRental(Request["rentid"].ToString()); if (dis.Status == "Resolved") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your page has expired since your disputer has closed the case')", true); rptMessages.DataBind(); setChatControls(false); tbxMessage.Text = ""; return; } if (tbxMessage.Text != "") { if (dis.DisputeID == null) { if (ddlReason.SelectedValue != "") { dis = new Dispute(); dis.Reason = ddlReason.SelectedItem.Value; dis.Date = DateTime.Now; dis.Rental = RentalDB.getRentalbyID(Request["rentid"].ToString()); dis.Status = "Pending"; dis.SubmittedBy = MemberDB.getMemberbyEmail(Session["user"].ToString()); DisputeDB.addDispute(dis); ddlReason.Enabled = false; } else { return; } } dis = DisputeDB.getDisputeforRental(Request["rentid"].ToString()); MessageDispute msgDis = new MessageDispute(); msgDis.Date = DateTime.Now; msgDis.Dispute = dis; msgDis.Member = MemberDB.getMemberbyEmail(Session["user"].ToString()); msgDis.Staff = new Staff(null, null, null, null, 0, null, new DateTime()); msgDis.Reply = tbxMessage.Text; MessageDisputeDB.addMsgDispute(msgDis); tbxMessage.Text = ""; rptMessages.DataSource = MessageDisputeDB.getMsgforDispute(dis.DisputeID); rptMessages.DataBind(); } }
protected void btnResolve_Click(object sender, EventArgs e) { Dispute dis = DisputeDB.getDisputeforRental(Request["rentid"].ToString()); if (dis.Status == "Resolved") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your page has expired since your disputer has closed the case')", true); rptMessages.DataBind(); setChatControls(false); tbxMessage.Text = ""; return; } //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "confirmMessage", "confirm('You are about to close the dispute case. As the action is irreversible, are you sure?')", true); DisputeDB.resolveDispute(dis.DisputeID); MessageDispute msgDis = new MessageDispute(); msgDis.Date = DateTime.Now; msgDis.Dispute = dis; msgDis.Member = MemberDB.getMemberbyEmail(Session["user"].ToString()); msgDis.Staff = new Staff(null, null, null, null, 0, null, new DateTime()); msgDis.Reply = "==============The Dispute has been closed================"; MessageDisputeDB.addMsgDispute(msgDis); setChatControls(false); }
protected void Page_Load(object sender, EventArgs e) { // user has selected a dispute to be viewed. this page displays messages pertaining the dispute selected // checks if user is logged in if (Session["admin"] == null) // if not logged in, redirect to login page { Response.Redirect("Login.aspx"); return; } // check if a dispute is selected if (Request.QueryString["disputeID"] == null) // if nothing is selected, redirect back to DisputeList page { Response.Redirect("~/DisputeList.aspx"); } else // if a dispute is selected, display the correct messages for the dispute selected { List <MessageDispute> disputeMsg = MessageDisputeDB.getMsgforDispute(Request.QueryString["disputeID"].ToString()); rptMessages.DataSource = disputeMsg; rptMessages.DataBind(); List <Dispute> disputeMembers = new List <Dispute>(); Dispute dis = DisputeDB.getDisputeybyID(Request.QueryString["disputeID"].ToString()); if (dis.Status == "Resolved") { setChatControls(false); } else { setChatControls(true); } disputeMembers.Add(dis); Member targetMember = new Member(); if (dis.SubmittedBy.MemberID != dis.Rental.Rentee.MemberID) { targetMember = dis.Rental.Rentee; } else { targetMember = dis.Rental.Item.Renter; } btnBanDisputer.Text = "Ban " + dis.SubmittedBy.Name.Substring(0, dis.SubmittedBy.Name.IndexOf(" ")); btnBanDisputed.Text = "Ban " + targetMember.Name.Substring(0, targetMember.Name.IndexOf(" ")); rptMemberInfoRedirect.DataSource = disputeMembers; rptMemberInfoRedirect.DataBind(); } }
public static List <MessageDispute> getMsgforDispute(string disputeID) { List <MessageDispute> msgDisList = new List <MessageDispute>(); try { SqlCommand command = new SqlCommand("SELECT * FROM MessageDispute WHERE disputeID = @disputeID"); command.Parameters.AddWithValue("@disputeID", disputeID); command.Connection = connection; connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { MessageDispute msgDis = new MessageDispute(); msgDis.Date = Convert.ToDateTime(reader["date"]); msgDis.Reply = reader["reply"].ToString(); if (reader["memberID"] != DBNull.Value) { msgDis.Member = MemberDB.getMemberbyID(reader["memberID"].ToString()); } else { msgDis.Member = new Member(null, null, null, 0, null, null, 0, null, null, new DateTime(), new DateTime(), null, new DateTime(), null, null); } if (reader["staffID"] != DBNull.Value) { msgDis.Staff = StaffDB.getStaffbyID(reader["staffID"].ToString()); } else { msgDis.Staff = new Staff(null, null, null, null, 0, null, new DateTime()); } msgDis.Dispute = DisputeDB.getDisputeybyID(reader["disputeID"].ToString()); msgDisList.Add(msgDis); } reader.Close(); } finally { connection.Close(); } return(msgDisList); }
// check if rental is being disputed, display different messages for different state public string isDisputeorDisputed(string rentalID) { Dispute dis = DisputeDB.getDisputeforRental(rentalID); if (dis.DisputeID == null) { return("Dispute Partner"); } else if (dis.Status == "Resolved") { return("Dispute Case Resolved"); } else if (MemberDB.getMemberbyID(dis.SubmittedBy.MemberID).Email == Session["user"].ToString()) { return("Continue Dispute Case"); } else { return("Rental's been Disputed"); } }
protected void btnBanDisputed_Click(object sender, EventArgs e) { Dispute dis = DisputeDB.getDisputeybyID(Request.QueryString["disputeID"].ToString()); if (dis.Status == "Resolved") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Your page has expired since the disputer has closed the case')", true); rptMessages.DataBind(); setChatControls(false); txtMsg.Value = ""; return; } Member targetMember = new Member(); if (dis.SubmittedBy.MemberID != dis.Rental.Rentee.MemberID) { targetMember = dis.Rental.Rentee; } else { targetMember = dis.Rental.Item.Renter; } if (targetMember.Status == "Banned") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Form resubmission is not allowed')", true); rptMessages.DataBind(); return; } MemberDB.updateMemberStatus(targetMember.MemberID, "Banned"); submitMessage("=======" + targetMember.Name + " has been banned, dispute resolved=======", dis); DisputeDB.resolveDispute(dis.DisputeID); setChatControls(false); Response.Redirect(Request.RawUrl); }
protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null) { Session["pageRedirectAfterLogin"] = Request.RawUrl; Response.Redirect("Login.aspx"); return; } if (Request["rentid"].ToString() == null) { Response.Redirect("Default.aspx"); return; } List <Rental> rentalInfoDetails = new List <Rental>(); Rental rentalInfo = RentalDB.getRentalbyID(Request["rentid"].ToString()); rentalInfoDetails.Add(rentalInfo); rptInfo.DataSource = rentalInfoDetails; rptInfo.DataBind(); Session["user"] = Session["user"]; Dispute dis = DisputeDB.getDisputeforRental(Request["rentid"].ToString()); if (dis.DisputeID != null) { ddlReason.SelectedValue = dis.Reason; ddlReason.Enabled = false; if (MemberDB.getMemberbyID(dis.SubmittedBy.MemberID).Email == Session["user"].ToString()) { btnResolve.Visible = true; } if (dis.Status == "Resolved") { btnResolve.Enabled = false; tbxMessage.Enabled = false; btnSubmit.Enabled = false; } rptMessages.DataSource = MessageDisputeDB.getMsgforDispute(dis.DisputeID); rptMessages.DataBind(); } else { if (RentalDB.getRentalbyID(Request["rentid"].ToString()).Rentee.Email == Session["user"].ToString()) { for (int x = 1; x < 5; x++) { ddlReason.Items[x].Enabled = false; } } else if (RentalDB.getRentalbyID(Request["rentid"].ToString()).Item.Renter.Email == Session["user"].ToString()) { for (int x = 1; x < ddlReason.Items.Count; x++) { ddlReason.Items[x].Enabled = false; } } } }
protected void Page_Load(object sender, EventArgs e) { // checks if user is logged in if (Session["user"] == null) // user is not logged in, redirect to login page { Session["pageRedirectAfterLogin"] = Request.RawUrl; Response.Redirect("Login.aspx"); return; } if (Request["rentid"] == null) { Response.Redirect("Default.aspx"); return; } //display dispute by rentalID if rentalID belongs to appropriate logged on user if (RentalDB.isRentalOfMemberPresent(Request["rentid"].ToString(), MemberDB.getMemberbyEmail(Session["user"].ToString()).MemberID)) { List <Rental> rentalInfoDetails = new List <Rental>(); Rental rentalInfo = RentalDB.getRentalbyID(Request["rentid"].ToString()); rentalInfoDetails.Add(rentalInfo); rptInfo.DataSource = rentalInfoDetails; rptInfo.DataBind(); Dispute dis = DisputeDB.getDisputeforRental(Request["rentid"].ToString()); if (dis.DisputeID != null) { ddlReason.SelectedValue = dis.Reason; ddlReason.Enabled = false; if (MemberDB.getMemberbyID(dis.SubmittedBy.MemberID).Email == Session["user"].ToString()) { btnResolve.Visible = true; } if (dis.Status == "Resolved") { setChatControls(false); } rptMessages.DataSource = MessageDisputeDB.getMsgforDispute(dis.DisputeID); rptMessages.DataBind(); } else { if (RentalDB.getRentalbyID(Request["rentid"].ToString()).Rentee.Email == Session["user"].ToString()) { for (int x = 1; x < 5; x++) { ddlReason.Items[x].Enabled = false; } } else if (RentalDB.getRentalbyID(Request["rentid"].ToString()).Item.Renter.Email == Session["user"].ToString()) { for (int x = 1; x < ddlReason.Items.Count; x++) { ddlReason.Items[x].Enabled = false; } } } } else { ddlReason.Enabled = false; setChatControls(false); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Inaccessible Page!')", true); } }