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(); } } }