Esempio n. 1
0
    /*
     * 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;
        }
    }
Esempio n. 3
0
    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()));
                }
            }
        }
    }