protected void btnRemove_Click(object sender, EventArgs e)
    {
        try
        {
            int    id  = -1;
            string _id = Request.QueryString["id"].ToString();
            int.TryParse(_id, out id);
            int userId = CurrentEnvironment.LoggedUser.Id;

            int i = NonvaccinationReason.Remove(id);

            if (i > 0)
            {
                lblSuccess.Visible = true;
                lblWarning.Visible = false;
                lblError.Visible   = false;
                gvNonvaccinationReason.DataBind();
                ClearControls(this);
            }
            else
            {
                lblSuccess.Visible = false;
                lblWarning.Visible = false;
                lblError.Visible   = true;
            }
        }
        catch (Exception ex)
        {
            lblSuccess.Visible = false;
            lblWarning.Visible = false;
            lblError.Visible   = true;
        }
    }
 protected bool nameExists(string name)
 {
     if (NonvaccinationReason.GetNonvaccinationReasonByName(name) != null)
     {
         lblSuccess.Visible = false;
         lblWarning.Visible = true;
         lblError.Visible   = false;
         return(true);
     }
     return(false);
 }
    protected void btnEdit_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                int    id  = -1;
                string _id = Request.QueryString["id"].ToString();
                int.TryParse(_id, out id);
                int userId = CurrentEnvironment.LoggedUser.Id;

                NonvaccinationReason o = NonvaccinationReason.GetNonvaccinationReasonById(id);
                if (nameExists(txtName.Text.Replace("'", @"''")) && (o.Name != txtName.Text.Trim()))
                {
                    return;
                }
                o.Name         = txtName.Text.Replace("'", @"''");
                o.Code         = txtCode.Text.Replace("'", @"''");
                o.KeepChildDue = bool.Parse(rblKeepChildDue.SelectedValue);
                o.IsActive     = bool.Parse(rblIsActive.SelectedValue);
                o.ModifiedOn   = DateTime.Now;
                o.ModifiedBy   = userId;
                o.Notes        = txtNotes.Text.Replace("'", @"''");

                int i = NonvaccinationReason.Update(o);

                if (i > 0)
                {
                    lblSuccess.Visible = true;
                    lblWarning.Visible = false;
                    lblError.Visible   = false;
                    gvNonvaccinationReason.DataBind();
                    //ClearControls(this);
                }
                else
                {
                    lblSuccess.Visible = false;
                    lblWarning.Visible = false;
                    lblError.Visible   = true;
                }
            }
        }
        catch (Exception ex)
        {
            lblSuccess.Visible = false;
            lblWarning.Visible = false;
            lblError.Visible   = true;
        }
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                int userId = CurrentEnvironment.LoggedUser.Id;
                if (nameExists(txtName.Text.Replace("'", @"''")))
                {
                    return;
                }
                NonvaccinationReason o = new NonvaccinationReason();

                o.Name         = txtName.Text.Replace("'", @"''");
                o.Code         = txtCode.Text.Replace("'", @"''");
                o.IsActive     = bool.Parse(rblIsActive.SelectedValue);
                o.KeepChildDue = bool.Parse(rblKeepChildDue.SelectedValue);
                o.ModifiedOn   = DateTime.Now;
                o.ModifiedBy   = userId;
                o.Notes        = txtNotes.Text.Replace("'", @"''");

                int i = NonvaccinationReason.Insert(o);

                if (i > 0)
                {
                    lblSuccess.Visible = true;
                    lblWarning.Visible = false;
                    lblError.Visible   = false;
                    gvNonvaccinationReason.DataBind();
                    ClearControls(this);
                }
                else
                {
                    lblSuccess.Visible = false;
                    lblWarning.Visible = false;
                    lblError.Visible   = true;
                }
            }
        }
        catch (Exception ex)
        {
            lblSuccess.Visible = false;
            lblWarning.Visible = false;
            lblError.Visible   = true;
        }
    }
    private DataTable CreateDataTable(DataTable dt)
    {
        DataTable table = new DataTable();


        DataColumn col0 = new DataColumn("View Not Vaccinated Children");
        DataColumn vId  = new DataColumn("VaccineId");
        DataColumn col1 = new DataColumn("Vaccine");
        DataColumn col2 = new DataColumn("Cohort");
        DataColumn col3 = new DataColumn("Immunized");
        DataColumn col4 = new DataColumn("Vaccination Coverage");

        col0.DataType = System.Type.GetType("System.String");
        vId.DataType  = System.Type.GetType("System.String");
        col1.DataType = System.Type.GetType("System.String");
        col2.DataType = System.Type.GetType("System.String");
        col3.DataType = System.Type.GetType("System.String");
        col4.DataType = System.Type.GetType("System.String");

        table.Columns.Add(vId);
        table.Columns.Add(col0);
        table.Columns.Add(col1);
        table.Columns.Add(col2);
        table.Columns.Add(col3);
        table.Columns.Add(col4);


        List <NonvaccinationReason> nvrList = NonvaccinationReason.GetNonvaccinationReasonList();

        foreach (NonvaccinationReason nvr in nvrList)
        {
            DataColumn col = new DataColumn(nvr.Name);
            col.DataType = System.Type.GetType("System.String");
            table.Columns.Add(col);
        }


        return(table);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            List <string> actionList        = null;
            string        sessionNameAction = "";
            if (CurrentEnvironment.LoggedUser != null)
            {
                sessionNameAction = "__GIS_actionList_" + CurrentEnvironment.LoggedUser.Id;
                actionList        = (List <string>)Session[sessionNameAction];
            }

            if ((actionList != null) && actionList.Contains("ViewNonvaccinationReason") && (CurrentEnvironment.LoggedUser != null))
            {
                int    userId     = CurrentEnvironment.LoggedUser.Id;
                string language   = CurrentEnvironment.Language;
                int    languageId = int.Parse(language);
                Dictionary <string, string> wtList = (Dictionary <string, string>)HttpContext.Current.Cache["NonvaccinationReason-dictionary" + language];
                if (wtList == null)
                {
                    List <WordTranslate> wordTranslateList = WordTranslate.GetWordByLanguage(languageId, "NonvaccinationReason");
                    wtList = new Dictionary <string, string>();
                    foreach (WordTranslate vwt in wordTranslateList)
                    {
                        wtList.Add(vwt.Code, vwt.Name);
                    }
                    HttpContext.Current.Cache.Insert("NonvaccinationReason-dictionary" + language, wtList);
                }

                //controls
                this.lblName.Text     = wtList["NonvaccinationReasonName"];
                this.lblCode.Text     = wtList["NonvaccinationReasonCode"];
                this.lblIsActive.Text = wtList["NonvaccinationReasonIsActive"];
                this.lblNotes.Text    = wtList["NonvaccinationReasonNotes"];
                // this.lblKeepChildDue.Text = wtList["NonvaccinationReasonKeepChildDue"];

                //grid header text
                gvNonvaccinationReason.Columns[1].HeaderText = wtList["NonvaccinationReasonName"];
                gvNonvaccinationReason.Columns[2].HeaderText = wtList["NonvaccinationReasonCode"];
                // gvNonvaccinationReason.Columns[3].HeaderText = wtList["NonvaccinationReasonKeepChildDue"];
                gvNonvaccinationReason.Columns[5].HeaderText = wtList["NonvaccinationReasonIsActive"];
                gvNonvaccinationReason.Columns[4].HeaderText = wtList["NonvaccinationReasonNotes"];

                //actions
                this.btnAdd.Visible    = actionList.Contains("AddNonvaccinationReason");
                this.btnEdit.Visible   = actionList.Contains("EditNonvaccinationReason");
                this.btnRemove.Visible = actionList.Contains("RemoveNonvaccinationReason");

                //buttons
                this.btnAdd.Text    = wtList["NonvaccinationReasonAddButton"];
                this.btnEdit.Text   = wtList["NonvaccinationReasonEditButton"];
                this.btnRemove.Text = wtList["NonvaccinationReasonRemoveButton"];
                this.btnExcel.Text  = wtList["NonvaccinationReasonExcelButton"];

                //message
                this.lblSuccess.Text = wtList["NonvaccinationReasonSuccessText"];
                this.lblWarning.Text = wtList["NonvaccinationReasonWarningText"];
                this.lblError.Text   = wtList["NonvaccinationReasonErrorText"];

                //Page Title
                this.lblTitle.Text = wtList["NonvaccinationReasonPageTitle"];

                //selected object
                int    id  = -1;
                string _id = Request.QueryString["id"];
                if (!String.IsNullOrEmpty(_id))
                {
                    int.TryParse(_id, out id);
                    NonvaccinationReason o = NonvaccinationReason.GetNonvaccinationReasonById(id);
                    txtName.Text = o.Name;
                    rblKeepChildDue.SelectedValue = o.KeepChildDue.ToString();
                    txtCode.Text  = o.Code;
                    txtNotes.Text = o.Notes;
                    rblIsActive.Items[0].Selected = o.IsActive;
                    rblIsActive.Items[1].Selected = !o.IsActive;
                    btnAdd.Visible = false;
                }
                else
                {
                    btnEdit.Visible   = false;
                    btnRemove.Visible = false;
                }
            }
            else
            {
                Response.Redirect("Default.aspx");
            }
        }
    }