Example #1
0
    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();
        }
    }
Example #6
0
    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);
    }
Example #7
0
    // 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);
        }
    }