/* * protected bool IsValidFormOrg() * { * string orgID = Request.QueryString["org"]; * return orgID != null && Regex.IsMatch(orgID, @"^\d+$") && OrganisationDB.Exists(Convert.ToInt32(orgID)); * } * protected int GetFormOrg(bool checkIsValid = true) * { * if (checkIsValid && !IsValidFormOrg()) * throw new Exception("Invalid url org"); * return Convert.ToInt32(Request.QueryString["org"]); * } * * protected bool IsValidFormOrgs() * { * string orgIDs = Request.QueryString["orgs"]; * return orgIDs != null && Regex.IsMatch(orgIDs, @"^[\d,]+$") && OrganisationDB.Exists(orgIDs); * } * protected string GetFormOrgs(bool checkIsValid = true) * { * if (checkIsValid && !IsValidFormOrgs()) * throw new Exception("Invalid url orgs"); * return Request.QueryString["orgs"]; * } */ #endregion #region GrdReferrer protected void FillReferrerGrid() { //DataTable dt = RegisterReferrerDB.GetDataTable(false, new int[] { 191 }, txtSearchSurname.Text.Trim(), chkSurnameSearchOnlyStartWith.Checked); DataTable dt = ReferrerDB.GetDataTable(-1, txtSearchSurname.Text.Trim(), chkSurnameSearchOnlyStartWith.Checked); Session["referrerpersonlistpopup_data"] = dt; if (dt.Rows.Count > 0) { if (IsPostBack && Session["referrerpersonlistpopup_sortexpression"] != null && Session["referrerpersonlistpopup_sortexpression"].ToString().Length > 0) { DataView dataView = new DataView(dt); dataView.Sort = Session["referrerpersonlistpopup_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) { SetErrorMessage(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"; } }
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 void GrdReferrer_RowDataBound(object sender, GridViewRowEventArgs e) { DataTable dt = Session["referrerinfopersonofclinic_data"] as DataTable; bool tblEmpty = (dt.Rows.Count == 1 && dt.Rows[0][0] == DBNull.Value); if (!tblEmpty && e.Row.RowType == DataControlRowType.DataRow) { Label lblId = (Label)e.Row.FindControl("lblId"); DataRow[] foundRows = dt.Select("referrer_id=" + lblId.Text); DataRow thisRow = foundRows[0]; DropDownList ddlRefs = (DropDownList)e.Row.FindControl("ddlRefs"); if (ddlRefs != null) { DataTable dt_refs = dt = ReferrerDB.GetDataTable(-1, "", false, chkShowDeleted.Checked); // check for deleted REF DataRow[] foundRows_orgs = dt_refs.Select("referrer_id=" + thisRow["original_referrer_id"].ToString()); if (!chkShowDeleted.Checked && foundRows_orgs.Length == 0) { DataTable dt_deleted_orgs = ReferrerDB.GetDataTable(-1, "", false, true); foundRows_orgs = dt_deleted_orgs.Select("referrer_id=" + thisRow["original_referrer_id"].ToString()); if (foundRows_orgs.Length == 1) { dt_refs.Rows.Add(foundRows_orgs[0].ItemArray); } } ddlRefs.Items.Clear(); foreach (DataRow row in dt_refs.Rows) { ddlRefs.Items.Add(new ListItem(row["firstname"] + " " + row["surname"], row["referrer_id"].ToString())); } ddlRefs.SelectedValue = thisRow["original_referrer_id"].ToString(); } ImageButton btnDelete = (ImageButton)e.Row.FindControl("btnDelete"); if (btnDelete != null) { bool is_deleted = Convert.ToBoolean(thisRow["is_deleted"]); if (is_deleted) { btnDelete.CommandName = "_UnDelete"; btnDelete.ImageUrl = "~/images/tick-24.png"; btnDelete.AlternateText = "UnDelete"; btnDelete.ToolTip = "UnDelete"; } } Label lblFirstname = (Label)e.Row.FindControl("lblFirstname"); if (lblFirstname != null) { lblFirstname.Visible = (Request.QueryString["org"] != null); } HyperLink lnkFirstname = (HyperLink)e.Row.FindControl("lnkFirstname"); if (lnkFirstname != null) { lnkFirstname.Visible = (Request.QueryString["org"] == null); } Utilities.AddConfirmationBox(e); if ((e.Row.RowState & DataControlRowState.Edit) > 0) { Utilities.SetEditRowBackColour(e, System.Drawing.Color.LightGoldenrodYellow); } } if (e.Row.RowType == DataControlRowType.Footer) { DropDownList ddlNewRefs = (DropDownList)e.Row.FindControl("ddlNewRefs"); if (ddlNewRefs != null) { DataTable dt_refs = dt = ReferrerDB.GetDataTable(-1, "", false, chkShowDeleted.Checked); ddlNewRefs.Items.Clear(); foreach (DataRow row in dt_refs.Rows) { ddlNewRefs.Items.Add(new ListItem(row["firstname"] + " " + row["surname"], row["referrer_id"].ToString())); } } } }