public static List <ATTAnnualHoliday> GetAnnHoliday(string year)
        {
            List <ATTAnnualHoliday> LSTAnnHolidays = new List <ATTAnnualHoliday>();

            try
            {
                foreach (DataRow row in DLLAnnualHoliday.GetAnnHoliday(year).Rows)
                {
                    ATTAnnualHoliday obj = new ATTAnnualHoliday();
                    obj.OrgID    = int.Parse(row["ORG_ID"].ToString());
                    obj.FY       = int.Parse(row["FY"].ToString());
                    obj.FromDate = row["FROM_DATE"].ToString();
                    obj.ToDate   = row["TO_DATE"].ToString();
                    //obj.DateType = row["DATE_TYPE"].ToString();
                    obj.HolidayDescription = row["HOLIDAY_DESC"].ToString();
                    obj.Action             = "";
                    LSTAnnHolidays.Add(obj);
                }
                return(LSTAnnHolidays);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    protected void chk1_CheckedChanged(object sender, EventArgs e)
    {
        foreach (GridViewRow row in grdPrevData.Rows)
        {
            bool check = !((CheckBox)row.Cells[0].FindControl("chk1")).Checked;
        }
        List <ATTFixedHoliday>  LSTFx  = (List <ATTFixedHoliday>)Session["FxHoliday"];
        List <ATTAnnualHoliday> LSTAnl = (List <ATTAnnualHoliday>)Session["AnnPrevHoliday"];

        List <ATTAnnualHoliday> LSTAnnChkd = new List <ATTAnnualHoliday>();

        foreach (GridViewRow rw in this.grdPrevData.Rows)
        {
            ATTAnnualHoliday objPrevChkd = new ATTAnnualHoliday();
            if (((CheckBox)rw.FindControl("chk1")).Checked == true)
            {
                objPrevChkd.HolidayDescription = rw.Cells[4].Text;
                LSTAnnChkd.Add(objPrevChkd);
            }
        }

        foreach (ATTAnnualHoliday var in LSTAnnChkd)
        {
            int index = LSTFx.FindIndex(delegate(ATTFixedHoliday obj)
            {
                return(obj.HolidayDescription == var.HolidayDescription);
            }
                                        );
            if (index >= 0)
            {
                ((CheckBox)grdFixData.Rows[index].FindControl("chk")).Checked = false;
            }
        }
    }
        public static List <ATTAnnualHoliday> GetAnnHolidayPrev()
        {
            List <ATTAnnualHoliday> LSTAnnHolidayPrev = new List <ATTAnnualHoliday>();

            foreach (DataRow rw in DLLAnnualHoliday.GetAnnHolidayPrev().Rows)
            {
                ATTAnnualHoliday obj = new ATTAnnualHoliday();
                //obj.FY = int.Parse(rw["FY"].ToString());
                obj.FromDate = rw["FROM_DATE"].ToString();
                obj.ToDate   = rw["TO_DATE"].ToString();
                //obj.DateType = rw["DATE_TYPE"].ToString();
                obj.HolidayDescription = rw["HOLIDAY_DESC"].ToString();
                obj.Action             = "";
                LSTAnnHolidayPrev.Add(obj);
            }
            return(LSTAnnHolidayPrev);
        }
    protected void btnAppAdd_Click(object sender, EventArgs e)
    {
        string msg = EmptyMessageValidation("ann");
        List <ATTAnnualHoliday> LSTAnnual = (List <ATTAnnualHoliday>)Session["LoadedData"];

        if (msg == "")
        {
            ATTAnnualHoliday objAnnual = new ATTAnnualHoliday();
            objAnnual.OrgID    = int.Parse(Session["OrgID"].ToString());
            objAnnual.FY       = int.Parse(this.ddlYear2.SelectedValue.ToString().Substring(2, 2));
            objAnnual.FromDate = this.txtAnnFromDate.Text.Trim();
            objAnnual.ToDate   = this.txtAnnToDate.Text.Trim();
            //objAnnual.DateType = this.rdoAppDateType.SelectedValue.ToString();
            objAnnual.HolidayDescription = this.txtAnnDescription.Text.Trim();
            objAnnual.EntryBy            = Session["User"].ToString();
            if (this.rdoDateType.SelectedValue == "0")
            {
                objAnnual.DateType = "N";
            }
            else if (this.rdoDateType.SelectedValue == "1")
            {
                objAnnual.DateType = "E";
            }
            objAnnual.Action = "A";
            LSTAnnual.Add(objAnnual);
        }
        else
        {
            this.lblStatusMessage.Text = msg;
            this.programmaticModalPopup.Show();
            return;
        }
        this.grdAnnualData.DataSource = LSTAnnual;
        this.grdAnnualData.DataBind();
        ClearControls("Add");
    }
    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");
    }