protected void bindgrid()
    {
        try
        {
            DataTable Dt = new DataTable();
            if (string.IsNullOrEmpty(Strsearch) == false)
            {
                Dt        = objFocalPoints.GetFocalPoints(Strsearch);
                Strsearch = "";
                if (Dt == null || Dt.Rows.Count == 0)
                {
                    no_data.Visible = true;
                    NoDatalbl.Text  = "No data found";
                    d.Columns.Clear();
                    d.Rows.Clear();
                    EntGridView.DataSource = d;
                    EntGridView.DataBind();
                    return;
                }
            }
            else
            {
                Dt = objFocalPoints.GetFocalPoints(" order by SectorInterestName, AreaInterestName, UserOrganization, UserFullName");
            }

            l = Dt.Rows.Count;
            EntGridView.DataSource = Dt;
            EntGridView.DataBind();
            EntGridView.Visible = true;
            no_data.Visible     = false;
            upCrudGrid.Update();
        }
        catch (Exception ex)
        {
            if (this.global_success.Visible)
            {
                this.global_success.Visible = false;
            }
            this.global_error.Visible  = true;
            this.global_error_msg.Text = Mains.Constant.GENERAL_ERR;
        }
    }
    protected void BtnSubscribe_Click(object sender, EventArgs e)
    {
        try
        {
            if (string.IsNullOrEmpty(txtSubEmail.Text.Trim()) == false)
            {
                if (IsValid(txtSubEmail.Text.Trim()))
                {
                    string strmsg = "";
                    objSubscriber.SubscriberID           = 0;
                    objSubscriber.SubscriberFullName     = txtSubFullName.Text;
                    objSubscriber.SubscriberEmail        = txtSubEmail.Text.Trim();
                    objSubscriber.SubscriberTitle        = txtSubTitle.Text;
                    objSubscriber.SubscriberOrganization = txtSubOrganization.Value;
                    objSubscriber.SubscriberContact      = txtSubContact.Text;
                    objSubscriber.SubscriberInterest     = 0;
                    objSubscriber.LastModifiedBy         = txtSubEmail.Text.Trim();
                    objSubscriber.LastModifiedDate       = DateTime.Now;
                    objSubscriber.SubscriberAddedDate    = DateTime.Now;
                    objSubscriber.SubscriberCode         = GetUniqueKey(6);

                    //this datatable and GetSubscriberRaw will list all the email in the raw Subscriver table
                    if (BtnSubscribe.Text.ToUpper().Trim() == "Subscribe".ToUpper().Trim())
                    {
                        DataTable dtSubscriber = objSubscriber.GetSubscriberRaw(" where SubscriberEmail='" + txtSubEmail.Text.Trim() + "'");
                        if (dtSubscriber.Rows.Count > 0)
                        {
                            objSubscriber.CustomUpdateSubscriber(" SubscriberCode='" + objSubscriber.SubscriberCode + "' WHERE SubscriberEmail='" + txtSubEmail.Text.Trim() + "'");
                        }
                        else
                        {
                            Session[RunningCache.SubscriberID] = objSubscriber.SaveSubscriber(objSubscriber, out strmsg);
                        }

                        string strURL = "use your hosting web folder/subscription.aspx?from=fu&vid=" + txtSubEmail.Text.Trim() + "&strflags=" + objSubscriber.SubscriberCode;
                        SendEmail(txtSubEmail.Text.Trim(), "ContactHub Subscription", txtSubFullName.Text.Trim(), strURL);

                        if (this.subscription_error.Visible)
                        {
                            this.subscription_error.Visible = false;
                        }
                        this.subcription_success.Visible  = true;
                        this.subcription_success_msg.Text = "An email has been sent to " + txtSubEmail.Text.Trim() + ". Please browse the link to continue.";
                    }

                    else if (BtnSubscribe.Text.ToUpper() == "Confirm".ToUpper())
                    {
                        objSubscriber.SubscriberID = int.Parse(Session[RunningCache.SubscriberID].ToString());
                        objSubscriber.UpdateSubscriberConfirm(objSubscriber, out strmsg);
                        if (this.global_success.Visible)
                        {
                            this.global_success.Visible = false;
                        }
                        this.subcription_success.Visible  = true;
                        this.subcription_success_msg.Text = "Information successfully updated for " + txtSubFullName.Text;
                        UpdAdd.Update();
                        DivGrid.Visible = true;

                        foreach (GridViewRow gvrow in EntGridView.Rows)
                        {
                            try
                            {
                                Label       InterestSector = (Label)gvrow.FindControl("SectorInterestName");
                                Label       InterestArea   = (Label)gvrow.FindControl("AreaInterestName");
                                HiddenField InterestID     = (HiddenField)gvrow.FindControl("InterestID");
                                HiddenField SectorID       = (HiddenField)gvrow.FindControl("InterestSector");
                                HiddenField AreaID         = (HiddenField)gvrow.FindControl("InterestArea");

                                Session[RunningCache.InterestID] = Convert.ToInt32(InterestID.Value);
                                objInterest.CustomUpdateInterest(" InterestStatus=1 WHERE InterestID=" + Session[RunningCache.InterestID].ToString());

                                DataTable dtInterestCode = objInterest.GetInterest(" where InterestID=" + Convert.ToInt32(InterestID.Value));
                                string    InterestCode   = dtInterestCode.Rows[0]["InterestCode"].ToString();

                                //Getting all the focal point list
                                DataTable dtFocalPoint = objFocalPoints.GetFocalPoints(" where FocalPointsSector=" + Convert.ToInt32(SectorID.Value) + " and FocalPointsArea=" + Convert.ToInt32(AreaID.Value));
                                for (int i = 0; i < dtFocalPoint.Rows.Count; i++)
                                {
                                    if (dtFocalPoint.Rows[i]["FocalPointsNotification"].ToString() == "True")
                                    {
                                        //Send email to distinct Focal Points
                                        DataTable dtUser = objUsers.GetUsers(" where UserID=" + dtFocalPoint.Rows[i]["FocalPointsUser"].ToString());
                                        string    subscriber;
                                        if (string.IsNullOrEmpty(txtSubFullName.Text.Trim()))
                                        {
                                            subscriber = txtSubEmail.Text.Trim();
                                        }
                                        else
                                        {
                                            subscriber = txtSubEmail.Text.Trim() + " (" + txtSubFullName.Text.Trim() + ")";
                                        }

                                        string strURL = "use your hosting web folder/unsubscription.aspx?from=fu&vid=" + InterestCode;
                                        SendNotification(dtUser.Rows[0]["UserMail"].ToString().Trim(), "ContactHub Notification Email", dtFocalPoint.Rows[i]["UserFullName"].ToString(), subscriber, strURL, dtFocalPoint.Rows[i]["SectorInterestName"].ToString(), dtFocalPoint.Rows[i]["AreaInterestName"].ToString());
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                if (this.subscription_error.Visible)
                                {
                                    this.subscription_error.Visible = true;
                                }
                                this.subcription_success.Visible = false;
                                this.subscription_error_msg.Text = Mains.Constant.INVALID_EMAIL;
                                UpdAdd.Update();
                            }
                        }
                    }
                }
                else
                {
                    if (this.subcription_success.Visible)
                    {
                        this.subcription_success.Visible = false;
                    }
                    this.subscription_error.Visible  = true;
                    this.subscription_error_msg.Text = "Please enter a valid email address.";
                }
            }
            else
            {
                if (this.subcription_success.Visible)
                {
                    this.subcription_success.Visible = false;
                }
                this.subscription_error.Visible  = true;
                this.subscription_error_msg.Text = "Please enter an email address.";
            }
        }

        catch (Exception ex)
        {
        }
    }