private void SaveHREmployeeLoanApplicationEntity()
        {
            if (IsValid)
            {
                try
                {
                    HREmployeeLoanApplicationEntity hREmployeeLoanApplicationEntity = BuildHREmployeeLoanApplicationEntity();

                    Int64 result = -1;

                    if (hREmployeeLoanApplicationEntity.IsNew)
                    {
                        result = FCCHREmployeeLoanApplication.GetFacadeCreate().Add(hREmployeeLoanApplicationEntity, DatabaseOperationType.Add, TransactionRequired.No);
                    }
                    else
                    {
                        String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(HREmployeeLoanApplicationEntity.FLD_NAME_EmployeeLoanApplicationID, hREmployeeLoanApplicationEntity.EmployeeLoanApplicationID.ToString(), SQLMatchType.Equal);
                        result = FCCHREmployeeLoanApplication.GetFacadeCreate().Update(hREmployeeLoanApplicationEntity, filterExpression, DatabaseOperationType.Update, TransactionRequired.No);
                    }

                    if (result > 0)
                    {
                        if (hREmployeeLoanApplicationEntity.IsNew)
                        {
                            #region Approval Process

                            if (ddlAPPanelID != null && ddlAPPanelID.SelectedValue != "0")
                            {
                                Boolean apResult = APRobot.CreateApprovalProcessForNewLoanApplication(result, Int64.Parse(ddlAPPanelID.SelectedValue.ToString()));

                                if (apResult == true)
                                {
                                    MiscUtil.ShowMessage(lblMessage, "Approval Process Submited successfully.", UIConstants.MessageType.GREEN);
                                }
                                else
                                {
                                    MiscUtil.ShowMessage(lblMessage, "Failed to Submit Approval Process.", UIConstants.MessageType.RED);
                                }
                            }
                        }

                        #endregion

                        _EmployeeLoanApplicationID       = 0;
                        _HREmployeeLoanApplicationEntity = new HREmployeeLoanApplicationEntity();
                        PrepareInitialView();
                        BindHREmployeeLoanApplicationList();

                        if (hREmployeeLoanApplicationEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Employee Loan Application Information has been added successfully.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Employee Loan Application Information has been updated successfully.", false);
                        }
                    }
                    else
                    {
                        if (hREmployeeLoanApplicationEntity.IsNew)
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to add Employee Loan Application Information.", false);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to update Employee Loan Application Information.", false);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                }
            }
        }