protected void lnk_Add_Command(object sender, CommandEventArgs e)
 {
     try
     {
         radFinPeriod.Enabled = radQuarters.Enabled = true;
         radQuarters.ClearSelection();
         btn_Save.Visible    = false;
         Rg_Quarters.Visible = false;
         clearControls();
         BindFinancialPeriod();
         SMHR_PENSION_QUARTERS _obj_Smhr_PensionQrtrs = new SMHR_PENSION_QUARTERS();
         _obj_Smhr_PensionQrtrs.OPERATION       = operation.Select;
         _obj_Smhr_PensionQrtrs.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
         DataTable DT = BLL.get_PensionQuarters(_obj_Smhr_PensionQrtrs);
         if (DT.Rows.Count > 0)
         {
             foreach (DataRow dr in DT.Rows)
             {
                 radFinPeriod.Items.Remove(radFinPeriod.FindItemIndexByValue(dr["QRTR_PERIODID"].ToString()));
             }
         }
         //ControlsEnableorDisable(true);
         btn_Save.Visible         = true;
         Rm_CY_page.SelectedIndex = 1;
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_AddQuarters", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
    public void LoadGrid()
    {
        try
        {
            SMHR_PENSION_QUARTERS _obj_Smhr_PensionQrtrs = new SMHR_PENSION_QUARTERS();
            _obj_Smhr_PensionQrtrs.OPERATION       = operation.Select;
            _obj_Smhr_PensionQrtrs.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            DataTable DT = BLL.get_PensionQuarters(_obj_Smhr_PensionQrtrs);
            Rg_InteretsQuarters.DataSource = DT;

            clearControls();
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_AddQuarters", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
    protected void btn_Save_Click(object sender, EventArgs e)
    {
        try
        {
            _obj_Smhr_PensionQrtrs = new SMHR_PENSION_QUARTERS();
            _obj_Smhr_PensionQrtrs.QRTR_PERIODID  = Convert.ToInt32(radFinPeriod.SelectedItem.Value);
            _obj_Smhr_PensionQrtrs.QRTR_NOOFQRTRS = Convert.ToInt32(radQuarters.SelectedItem.Value);
            RadDatePicker rd1, rd2;
            foreach (GridDataItem g in Rg_Quarters.Items)
            {
                rd1 = rd2 = new RadDatePicker();
                rd1 = g.FindControl("rdpStartDate") as RadDatePicker;
                rd2 = g.FindControl("rdpEndDate") as RadDatePicker;
                switch (g.Cells[2].Text)
                {
                case "1":
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR1SDATE = (DateTime)rd1.SelectedDate;
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR1EDATE = (DateTime)rd2.SelectedDate;
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR1EDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR1SDATE)
                    {
                        BLL.ShowMessage(this, "Quarter1 End Date Should be Greater than Quarter1 Start Date");
                        return;
                    }
                    break;

                case "2":

                    _obj_Smhr_PensionQrtrs.QRTR_QRTR2SDATE = (DateTime)rd1.SelectedDate;
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR2EDATE = (DateTime)rd2.SelectedDate;
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR2EDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR2SDATE)
                    {
                        BLL.ShowMessage(this, "Quarter2 End Date Should be Greater than Quarter2 Start Date");
                        return;
                    }
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR2SDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR1EDATE)
                    {
                        BLL.ShowMessage(this, "Quarter2 Start Date Should be Greater than Quarter1 end Date");
                        return;
                    }
                    break;

                case "3":
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR3SDATE = (DateTime)rd1.SelectedDate;
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR3EDATE = (DateTime)rd2.SelectedDate;
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR3EDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR3SDATE)
                    {
                        BLL.ShowMessage(this, "Quarter3 End Date Should be Greater than Quarter3 Start Date");
                        return;
                    }
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR3SDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR2EDATE)
                    {
                        BLL.ShowMessage(this, "Quarter3 Start Date Should be Greater than Quarter2 end Date");
                        return;
                    }
                    break;

                case "4":
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR4SDATE = (DateTime)rd1.SelectedDate;
                    _obj_Smhr_PensionQrtrs.QRTR_QRTR4EDATE = (DateTime)rd2.SelectedDate;
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR4EDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR4SDATE)
                    {
                        BLL.ShowMessage(this, "Quarter4 End Date Should be Greater than Quarter4 Start Date");
                        return;
                    }
                    if (_obj_Smhr_PensionQrtrs.QRTR_QRTR4SDATE < _obj_Smhr_PensionQrtrs.QRTR_QRTR3EDATE)
                    {
                        BLL.ShowMessage(this, "Quarter4 Start Date Should be Greater than Quarter3 end Date");
                        return;
                    }
                    break;
                }
            }
            switch (radQuarters.SelectedItem.Value)
            {
            case "1":
                if (Convert.ToDateTime(hdnEndDate.Value) != _obj_Smhr_PensionQrtrs.QRTR_QRTR1EDATE)
                {
                    BLL.ShowMessage(this, "Quarter1 End Date Should be equal to  Financial period end Date");
                    return;
                }
                break;

            case "2":
                if (Convert.ToDateTime(hdnEndDate.Value) != _obj_Smhr_PensionQrtrs.QRTR_QRTR2EDATE)
                {
                    BLL.ShowMessage(this, "Quarter2 End Date Should be equal to  Financial period end Date");
                    return;
                }
                break;

            case "3":
                if (Convert.ToDateTime(hdnEndDate.Value) != _obj_Smhr_PensionQrtrs.QRTR_QRTR3EDATE)
                {
                    BLL.ShowMessage(this, "Quarter3 End Date Should be equal to  Financial period end Date");
                    return;
                }
                break;

            case "4":
                if (Convert.ToDateTime(hdnEndDate.Value) != _obj_Smhr_PensionQrtrs.QRTR_QRTR4EDATE)
                {
                    BLL.ShowMessage(this, "Quarter4 End Date Should be equal to  Financial period end Date");
                    return;
                }
                break;
            }


            _obj_Smhr_PensionQrtrs.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            _obj_Smhr_PensionQrtrs.CREATEDBY       = Convert.ToInt32(Session["USER_ID"]);
            _obj_Smhr_PensionQrtrs.CREATEDDATE     = DateTime.Now;
            _obj_Smhr_PensionQrtrs.LASTMDFDATE     = DateTime.Now;
            _obj_Smhr_PensionQrtrs.LASTMDFBY       = Convert.ToInt32(Session["USER_ID"]);


            switch (((Button)sender).ID.ToUpper())
            {
            case "BTN_UPDATE":
                _obj_Smhr_PensionQrtrs.QRTR_ID   = Convert.ToInt32(lblID.Text);
                _obj_Smhr_PensionQrtrs.OPERATION = operation.Update;
                if (BLL.set_PensionQuarters(_obj_Smhr_PensionQrtrs))
                {
                    BLL.ShowMessage(this, "Information Updated Successfully");
                }
                else
                {
                    BLL.ShowMessage(this, "Information Not Updated");
                }

                break;

            case "BTN_SAVE":

                _obj_Smhr_PensionQrtrs.OPERATION = operation.Insert;
                if (BLL.set_PensionQuarters(_obj_Smhr_PensionQrtrs))
                {
                    BLL.ShowMessage(this, "Information Saved Successfully");
                }
                else
                {
                    BLL.ShowMessage(this, "Information Not Saved");
                }
                break;

            default:
                break;
            }
            Rm_CY_page.SelectedIndex = 0;
            LoadGrid();
            Rg_InteretsQuarters.DataBind();
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_AddQuarters", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
    protected void lnk_Edit_Command(object sender, CommandEventArgs e)
    {
        try
        {
            clearControls();

            _obj_Smhr_PensionQrtrs           = new SMHR_PENSION_QUARTERS();
            _obj_Smhr_PensionQrtrs.OPERATION = operation.Get;
            _obj_Smhr_PensionQrtrs.QRTR_ID   = Convert.ToInt32(e.CommandArgument);
            lblID.Text = _obj_Smhr_PensionQrtrs.QRTR_ID.ToString();
            _obj_Smhr_PensionQrtrs.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            DataTable dt = BLL.get_PensionQuarters(_obj_Smhr_PensionQrtrs);
            BindFinancialPeriod();
            radFinPeriod.SelectedIndex = radFinPeriod.FindItemIndexByValue(dt.Rows[0]["QRTR_PERIODID"].ToString());
            radQuarters.SelectedIndex  = radQuarters.FindItemIndexByValue(dt.Rows[0]["QRTR_NOOFQRTRS"].ToString());
            radFinPeriod.Enabled       = radQuarters.Enabled = false;
            DataTable dtGridData = GetDataTable();
            for (int i = 1; i <= Convert.ToInt32(dt.Rows[0]["QRTR_NOOFQRTRS"]); i++)
            {
                switch (i.ToString())
                {
                case "1":
                    dtGridData.Rows.Add(i, "Quarter " + i.ToString(), Convert.ToDateTime(dt.Rows[0]["PERIOD_STARTDATE"]), Convert.ToDateTime(dt.Rows[0]["PERIOD_ENDDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR1SDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR1EDATE"]));
                    break;

                case "2":
                    dtGridData.Rows.Add(i, "Quarter " + i.ToString(), Convert.ToDateTime(dt.Rows[0]["PERIOD_STARTDATE"]), Convert.ToDateTime(dt.Rows[0]["PERIOD_ENDDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR2SDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR2EDATE"]));
                    break;

                case "3":
                    dtGridData.Rows.Add(i, "Quarter " + i.ToString(), Convert.ToDateTime(dt.Rows[0]["PERIOD_STARTDATE"]), Convert.ToDateTime(dt.Rows[0]["PERIOD_ENDDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR3SDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR3EDATE"]));
                    break;

                case "4":
                    dtGridData.Rows.Add(i, "Quarter " + i.ToString(), Convert.ToDateTime(dt.Rows[0]["PERIOD_STARTDATE"]), Convert.ToDateTime(dt.Rows[0]["PERIOD_ENDDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR4SDATE"]), Convert.ToDateTime(dt.Rows[0]["QRTR_QRTR4EDATE"]));
                    break;
                }
            }
            Rg_Quarters.DataSource = dtGridData;
            Rg_Quarters.DataBind();
            Rg_Quarters.Visible = true;
            SMHR_PERIOD osmhr_period = new SMHR_PERIOD();
            osmhr_period.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            osmhr_period.PERIOD_ID       = Convert.ToInt32(radFinPeriod.SelectedValue);
            DataTable dtCurrentFinPeriod = BLL.IscurrentFinPeriod(osmhr_period);
            if (string.Compare(dtCurrentFinPeriod.Rows[0]["ISEXISTS"].ToString(), "0", true) == 0)
            {
                Rg_Quarters.Enabled = false;
                btn_Update.Visible  = false;
            }
            else
            {
                Rg_Quarters.Enabled = Convert.ToBoolean(dt.Rows[0]["ISEnable"]);
                btn_Update.Visible  = Convert.ToBoolean(dt.Rows[0]["ISEnable"]);
            }

            Rm_CY_page.SelectedIndex = 1;
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_AddQuarters", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
    protected void rcmb_FinancialYear_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        try
        {
            if (rcmb_FinancialYear.SelectedIndex > 0)
            {
                btn_Save.Visible = true;
            }
            else
            {
                btn_Save.Visible = false;
            }
            //clear controls
            trQrtr1.Visible        = false;
            trQrtr2.Visible        = false;
            trQrtr3.Visible        = false;
            trQrtr4.Visible        = false;
            trYearlyIntrst.Visible = false;

            SMHR_PENSION_QUARTERS _obj_Smhr_PensionQrtrs = new SMHR_PENSION_QUARTERS();
            _obj_Smhr_PensionQrtrs.OPERATION       = operation.Select_New;
            _obj_Smhr_PensionQrtrs.QRTR_PERIODID   = Convert.ToInt32(rcmb_FinancialYear.SelectedValue);
            _obj_Smhr_PensionQrtrs.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            DataTable dt = BLL.get_PensionQuarters(_obj_Smhr_PensionQrtrs);

            if (dt.Rows.Count > 0)
            {
                btn_Save.Visible = true;
                int noOfQrtrs = Convert.ToInt32(dt.Rows[0]["QRTR_NOOFQRTRS"]);
                if (noOfQrtrs > 0)
                {
                    trYearlyIntrst.Visible = true;

                    for (int i = 1; i <= noOfQrtrs; i++)
                    {
                        if (i == 1)
                        {
                            trQrtr1.Visible = true;
                        }
                        else if (i == 2)
                        {
                            trQrtr2.Visible = true;
                        }
                        else if (i == 3)
                        {
                            trQrtr3.Visible = true;
                        }
                        else if (i == 4)
                        {
                            trQrtr4.Visible = true;
                        }
                    }
                }
            }
            else
            {
                btn_Save.Visible = false;
            }
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_IntrstOnNormlContribution", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }