webforms-phonebook / Phonebook / ContactsForm.aspx.cs
ContactsForm.aspx.cs
Raw
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Phonebook
{
    public partial class ContactsForm : System.Web.UI.Page
    {
        public int _pageSize = 4;
        public Int32 pageCount;
        DataQuery dataquery = new DataQuery();

        public int CurrentPage
        {
            get
            {
                if (ViewState["CurrentPage"] == null)
                {
                    return 1;
                }
                return (int)ViewState["CurrentPage"];
            }
            set
            {
                ViewState["CurrentPage"] = value;
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            pageCount = dataquery.pageCount();

            if (!IsPostBack)
            {
                DropDownListNew.SelectedValue = _pageSize.ToString();
                GetDataFromDB();
                lbl1.Text = pageCount.ToString();
            }
        }

        public void GetDataFromDB()
        {
            string favClause = string.Empty;
            string genClause = string.Empty;

            pageCount = 1 + (pageCount / Convert.ToInt32(DropDownListNew.SelectedValue));

            if (favorsCheckBox.Checked)
            {
                favClause = "favourites=1 AND";
                pageCount = 1 + (pageCount / Convert.ToInt32(DropDownListNew.SelectedValue));
            }
            if (contactDropDown.SelectedValue == "0")
            {
                genClause = "gentype=0 AND";
                pageCount = 1 + (pageCount / Convert.ToInt32(DropDownListNew.SelectedValue));
            }
            else if (contactDropDown.SelectedValue == "1")
            {
                genClause = "gentype=1 AND";
                pageCount = 1 + (pageCount / Convert.ToInt32(DropDownListNew.SelectedValue));
            }
            else if (contactDropDown.SelectedValue == "2")
            {
                genClause = "gentype=2 AND";
                pageCount = 1 + (pageCount / Convert.ToInt32(DropDownListNew.SelectedValue));
            }

            DataTable dt = dataquery.getDataTableView(CurrentPage, _pageSize, txtSearchBox.Text, favClause, genClause, DropDownListNew.SelectedValue);
            repContactsNew.DataSource = dt;
            repContactsNew.DataBind();
            
            int rowCount = dt.Rows.Count;
            lblpage.Text = "Page " + CurrentPage.ToString() + "/" + pageCount;
            lblpage.Visible = false;
            errlabel.Visible = false;
            lbl1.Text = pageCount.ToString();

            // Previous page logic
            if (CurrentPage <= 1)
            { lbPrevious.Enabled = false; lblpage.Visible = true; lbNext.Enabled = true; }
            else if (CurrentPage > 1)
            { lbPrevious.Enabled = true; lblpage.Visible = false; errlabel.Visible = false; }

            // Next page logic
            if (_pageSize <= rowCount)
            { lbNext.Enabled = true; lblpage.Visible = true; }
            else if (_pageSize >= rowCount && CurrentPage > rowCount)
            { lbNext.Enabled = false; lblpage.Visible = false; errlabel.Visible = true; }

            // hide the unnecessary page
            if (rowCount == 0)
            { repPanel.Visible = false; }
            else repPanel.Visible = true;
        }

        protected void deleteBtn_Command(object sender, CommandEventArgs e)
        {
            int ID = Convert.ToInt32(e.CommandArgument);
            string err = dataquery.delete(ID.ToString());
            GetDataFromDB();
            delComLbl.Visible = true;
        }

        protected void lbPrevious_Click(object sender, EventArgs e)
        {
            CurrentPage -= 1;
            GetDataFromDB();
            delComLbl.Visible = false;
        }

        protected void lbNext_Click(object sender, EventArgs e)
        {
            CurrentPage += 1;
            GetDataFromDB();
            delComLbl.Visible = false;
        }

        protected void editBtn_Command(object sender, CommandEventArgs e)
        {
            int ID = Convert.ToInt32(e.CommandArgument);
            modalControl.show(ID);
            delComLbl.Visible = false;
        }

        protected void searchBtn_Click(object sender, EventArgs e)
        {
            CurrentPage = 1;
            GetDataFromDB();
            UpdatePanel2.Update();
            delComLbl.Visible = false;
        }

        protected void favBtn1_Command(object sender, CommandEventArgs e)
        {
            int ID = Convert.ToInt32(e.CommandArgument);
            string err = dataquery.MakeFavourite(ID, 1);
            GetDataFromDB();
            UpdatePanel2.Update();
        }

        protected void favBtn2_Command(object sender, CommandEventArgs e)
        {
            int ID = Convert.ToInt32(e.CommandArgument);
            string err = dataquery.MakeFavourite(ID, 0);
            GetDataFromDB();
            UpdatePanel2.Update();
        }

        protected void favorsCheckBox_CheckedChanged(object sender, EventArgs e)
        {
            GetDataFromDB();
            UpdatePanel2.Update();
        }

        protected void modalPop_Click1(object sender, EventArgs e)
        {
            modalControl.show(0);
            delComLbl.Visible = false;
        }

        protected void DropDownListNew_SelectedIndexChanged(object sender, EventArgs e)
        {
            GetDataFromDB();
            UpdatePanel2.Update();
        }

        protected void Testx(object sender, EventRefresh e)
        {
            string tst = e.Refresh;
            CurrentPage = 1;
            GetDataFromDB();
            UpdatePanel2.Update();
        }

        protected void contactDropDown_SelectedIndexChanged(object sender, EventArgs e)
        {
            GetDataFromDB();
            UpdatePanel2.Update();
        }
    }
}