void GetMonthlyHolidays()
    {
        string str      = Session["Month"].ToString();
        string year     = str.Substring(0, 4);
        string month    = int.Parse(str.Substring(5, 1)).ToString();
        string actMonth = 00 + month;
        string dysFrom  = str.Substring(7, 1);
        string dysTo    = str.Substring((str.LastIndexOf('/') + 1), (str.Length - (str.LastIndexOf('/') + 1)));
        string fromDate = year + "/" + actMonth + "/" + dysFrom;
        string toDate   = year + "/" + actMonth + "/" + dysTo;

        Session["FromDate"] = fromDate;
        Session["ToDate"]   = toDate;

        string monthlyHolidays = BLLAnnualHoliday.GetMonthlyHoliday(fromDate, toDate);
        int    holidays        = 0;

        if (monthlyHolidays != "null")
        {
            string[] mhcount = monthlyHolidays.Split(',');
            holidays = mhcount.Length;
        }
        else
        {
            holidays = 0;
        }
        Session["MonthlyHolidays"]      = monthlyHolidays;
        Session["MonthlyHolidaysCount"] = holidays;
        LoadGridHeader();
    }
    protected void ddlYear2_SelectedIndexChanged(object sender, EventArgs e)
    {
        string year = "";

        if (this.ddlYear2.SelectedIndex > 0)
        {
            year = this.ddlYear2.SelectedValue.ToString().Substring(2, 2);
        }
        else
        {
            return;
        }
        List <ATTAnnualHoliday> LSTAnnHoliday = BLLAnnualHoliday.GetAnnHoliday(year);

        grdAnnualData.SelectedIndex = -1;
        grdAnnualData.DataSource    = LSTAnnHoliday;
        grdAnnualData.DataBind();

        if (this.ddlYear2.SelectedIndex > 0 && grdAnnualData.Rows.Count == 0)
        {
            this.lblStatus.Text = "No Record Found";
        }
        else
        {
            this.lblStatus.Text = "Records Found:" + grdAnnualData.Rows.Count.ToString();
        }
        Session["LoadedData"] = LSTAnnHoliday;
    }
    private void LoadAnnualHoliday()
    {
        string year = this.ddlYear.SelectedValue.ToString().Substring(2, 2);
        List <ATTAnnualHoliday> LSTAnnHoliday = BLLAnnualHoliday.GetAnnHoliday(year);

        Session["AnnHoliday"] = LSTAnnHoliday;
    }
 protected void btnPrevYear_Click(object sender, EventArgs e)
 {
     if (this.ddlYear2.SelectedIndex == 0)
     {
         this.lblStatusMessage.Text = "**र्कपया वर्ष छान्नुहोस्";
         this.programmaticModalPopup.Show();
         this.ddlYear2.Focus();
         return;
     }
     else
     {
         List <ATTAnnualHoliday> LSTAnnHolidayPrev = BLLAnnualHoliday.GetAnnHolidayPrev();
         grdPrevData.SelectedIndex = -1;
         grdPrevData.DataSource    = LSTAnnHolidayPrev;
         grdPrevData.DataBind();
         Session["AnnPrevHoliday"] = LSTAnnHolidayPrev;
     }
 }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        List <ATTAnnualHoliday> LSTSave = new List <ATTAnnualHoliday>();
        List <ATTAnnualHoliday> lstData = (List <ATTAnnualHoliday>)Session["LoadedData"];

        List <ATTFixedHoliday> LSTFix = (List <ATTFixedHoliday>)Session["FxHoliday"];

        int index = 0;

        foreach (GridViewRow rw in this.grdFixData.Rows)
        {
            if (((CheckBox)rw.FindControl("chk")).Checked == true)
            {
                bool exits = lstData.Exists(delegate(ATTAnnualHoliday obj)
                {
                    return(obj.HolidayDescription == LSTFix[index].HolidayDescription);
                }
                                            );
                if (!exits)
                {
                    ATTAnnualHoliday obAnn = new ATTAnnualHoliday();

                    obAnn.OrgID              = int.Parse(Session["OrgID"].ToString());
                    obAnn.FY                 = int.Parse(this.ddlYear2.SelectedValue.ToString().Substring(2, 2));
                    obAnn.FromDate           = this.ddlYear2.SelectedValue.ToString() + "/" + rw.Cells[1].Text + "/" + rw.Cells[3].Text;
                    obAnn.ToDate             = this.ddlYear2.SelectedValue.ToString() + "/" + rw.Cells[2].Text + "/" + rw.Cells[4].Text;
                    obAnn.DateType           = rw.Cells[5].Text;
                    obAnn.HolidayDescription = rw.Cells[6].Text;
                    obAnn.EntryBy            = Session["User"].ToString();
                    obAnn.Action             = "A";
                    LSTSave.Add(obAnn);
                }
                else
                {
                    this.lblStatusMessage.Text = "**बिदा पहिले नै छ";
                    this.programmaticModalPopup.Show();
                    foreach (GridViewRow row in this.grdFixData.Rows)
                    {
                        ((CheckBox)row.FindControl("chk")).Checked = false;
                    }
                    return;
                }
            }
            index++;
        }

        //Second Grid
        List <ATTAnnualHoliday> lstPrev = (List <ATTAnnualHoliday>)Session["AnnPrevHoliday"];


        int index1 = 0;

        foreach (GridViewRow row in this.grdPrevData.Rows)
        {
            if (((CheckBox)row.FindControl("chk1")).Checked == true)
            {
                bool exits = lstData.Exists(delegate(ATTAnnualHoliday obj)
                {
                    return(obj.HolidayDescription == lstPrev[index1].HolidayDescription);
                }
                                            );
                if (!exits)
                {
                    ATTAnnualHoliday obAnn1 = new ATTAnnualHoliday();

                    obAnn1.OrgID              = int.Parse(Session["OrgID"].ToString());
                    obAnn1.FY                 = int.Parse(this.ddlYear2.SelectedValue.ToString().Substring(2, 2));
                    obAnn1.FromDate           = row.Cells[2].Text;
                    obAnn1.ToDate             = row.Cells[3].Text;
                    obAnn1.DateType           = "N";
                    obAnn1.HolidayDescription = row.Cells[4].Text;
                    obAnn1.EntryBy            = Session["User"].ToString();
                    obAnn1.Action             = "A";
                    LSTSave.Add(obAnn1);
                }
                else
                {
                    this.lblStatusMessage.Text = "**बिदा पहिले नै छ";
                    this.programmaticModalPopup.Show();
                    foreach (GridViewRow r in this.grdPrevData.Rows)
                    {
                        ((CheckBox)r.FindControl("chk1")).Checked = false;
                    }
                    return;
                }
            }
            index1++;
        }

        //new data and data from database

        LSTSave.AddRange(lstData);


        if (grdAnnualData.Rows.Count == 0)
        {
            this.lblStatusMessage.Text = "**Sorry! No Data To Save**";
            this.programmaticModalPopup.Show();
            return;
        }
        if (LSTSave.Count > 0)
        {
            if (BLLAnnualHoliday.SaveAnnualHoliday(LSTSave))
            {
                this.lblStatusMessage.Text = "Annual Holiday Saved Successfully";
                this.programmaticModalPopup.Show();
            }
            else
            {
                this.lblStatusMessage.Text = "Annual Holiday could not be Saved ";
                this.programmaticModalPopup.Show();
            }
        }
        ClearControls("submit");
    }