protected void FillGrid() { string searchName = ""; if (Request.QueryString["name_search"] != null && Request.QueryString["name_search"].Length > 0) { searchName = Request.QueryString["name_search"]; txtSearchName.Text = Request.QueryString["name_search"]; } bool searchNameOnlyStartsWith = true; if (Request.QueryString["name_starts_with"] != null && Request.QueryString["name_starts_with"].Length > 0) { searchNameOnlyStartsWith = Request.QueryString["name_starts_with"] == "0" ? false : true; chkSearchOnlyStartWith.Checked = searchNameOnlyStartsWith; } else { chkSearchOnlyStartWith.Checked = searchNameOnlyStartsWith; } int referrerID = -1; if (Request.QueryString["referrer"] != null && Regex.IsMatch(Request.QueryString["referrer"], @"\d{1,10}") && ReferrerDB.Exists(Convert.ToInt32(Request.QueryString["referrer"]))) { referrerID = Convert.ToInt32(Request.QueryString["referrer"]); } // get the counts Hashtable countHash = new Hashtable(); Hashtable countDeletedHash = new Hashtable(); DataTable dt_reg_refs = RegisterReferrerDB.GetDataTable(0, referrerID, true, new int[] { 191 }, "", false, "", "", "", false); foreach (DataRow row in dt_reg_refs.Rows) { int referrer_id = Convert.ToInt32(row["referrer_id"]); if (!Convert.ToBoolean(row["is_deleted"])) { countHash[referrer_id] = (countHash[referrer_id] == null) ? 1 : ((int)countHash[referrer_id]) + 1; } else { countDeletedHash[referrer_id] = (countDeletedHash[referrer_id] == null) ? 1 : ((int)countDeletedHash[referrer_id]) + 1; } } DataTable dt = null; if (Request.QueryString["org"] == null) { dt = ReferrerDB.GetDataTable(referrerID, searchName, searchNameOnlyStartsWith, chkShowDeleted.Checked); dt.Columns.Add("count", typeof(Int32)); dt.Columns.Add("count_deleted", typeof(Int32)); for (int i = 0; i < dt.Rows.Count; i++) { int referrer_id = Convert.ToInt32(dt.Rows[i]["referrer_id"]); dt.Rows[i]["count"] = countHash[referrer_id] == null ? 0 : (int)countHash[referrer_id]; dt.Rows[i]["count_deleted"] = countDeletedHash[referrer_id] == null ? 0 : (int)countDeletedHash[referrer_id]; } } else { if (!Regex.IsMatch(Request.QueryString["org"], @"^\d+$")) { HideTableAndSetErrorMessage("Invalid url org"); return; } Organisation org = OrganisationDB.GetByID(Convert.ToInt32(Request.QueryString["org"])); if (org == null) { HideTableAndSetErrorMessage("Invalid url org"); return; } lblHeading.Text = "Referrers at " + org.Name; dt = RegisterReferrerDB.GetDataTable_ReferrersOf(org.OrganisationID, true, chkShowDeleted.Checked, searchName, searchNameOnlyStartsWith); dt.Columns.Add("count", typeof(Int32)); dt.Columns.Add("count_deleted", typeof(Int32)); dt.Columns.Add("is_deleted", typeof(Boolean)); for (int i = 0; i < dt.Rows.Count; i++) { int referrer_id = Convert.ToInt32(dt.Rows[i]["referrer_id"]); dt.Rows[i]["count"] = countHash[referrer_id] == null ? 0 : (int)countHash[referrer_id]; dt.Rows[i]["count_deleted"] = countDeletedHash[referrer_id] == null ? 0 : (int)countDeletedHash[referrer_id]; // update these so when delete/undelete - it removes the connection, not the referrer dt.Rows[i]["referrer_id"] = dt.Rows[i]["register_referrer_id"]; dt.Rows[i]["is_deleted"] = dt.Rows[i]["register_referrer_is_deleted"]; } } Session["referrerinfoperson_data"] = dt; if (dt.Rows.Count > 0) { if (IsPostBack && Session["referrerinfoperson_sortexpression"] != null && Session["referrerinfoperson_sortexpression"].ToString().Length > 0) { DataView dataView = new DataView(dt); dataView.Sort = Session["referrerinfoperson_sortexpression"].ToString(); GrdReferrer.DataSource = dataView; } else { GrdReferrer.DataSource = dt; } try { GrdReferrer.DataBind(); GrdReferrer.PagerSettings.FirstPageText = "1"; GrdReferrer.PagerSettings.LastPageText = GrdReferrer.PageCount.ToString(); GrdReferrer.DataBind(); } catch (Exception ex) { HideTableAndSetErrorMessage("", ex.ToString()); } } else { dt.Rows.Add(dt.NewRow()); GrdReferrer.DataSource = dt; GrdReferrer.DataBind(); int TotalColumns = GrdReferrer.Rows[0].Cells.Count; GrdReferrer.Rows[0].Cells.Clear(); GrdReferrer.Rows[0].Cells.Add(new TableCell()); GrdReferrer.Rows[0].Cells[0].ColumnSpan = TotalColumns; GrdReferrer.Rows[0].Cells[0].Text = "No Record Found"; } if (Request.QueryString["org"] != null) { GrdReferrer.FooterRow.Visible = false; GrdReferrer.Columns[GrdReferrer.Columns.Count - 2].Visible = false; } }
protected bool IsValidFormRegReferrer() { string referrer_id = Request.QueryString["referrer"]; return(referrer_id != null && Regex.IsMatch(referrer_id, @"^\d+$") && ReferrerDB.Exists(Convert.ToInt32(referrer_id))); }