public CompensationLeaveBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "Y"; m_LeaveTypeID = ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID; m_BalanceUnit = ELeaveBalance.LeaveBalanceUnit.Hour; }
protected bool loadObject() { obj = new ELeaveType(); bool isNew = WebFormWorkers.loadKeys(db, obj, DecryptedRequest); if (!db.select(dbConn, obj)) { return(false); } Hashtable values = new Hashtable(); db.populate(obj, values); binding.toControl(values); if (obj.LeaveType == ELeaveType.LEAVETYPECODE_COMPENSATION) { LeaveUnit.Text = " Hour(s)"; } else { LeaveUnit.Text = " Day(s)"; } return(true); }
public PublicHolidayBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "Y"; m_LeaveTypeID = ELeaveType.PUBLICHOLIDAY_LEAVE_TYPE(dbConn).LeaveTypeID; m_BalanceUnit = ELeaveBalance.LeaveBalanceUnit.Day; }
public RestDayBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "M"; m_LeaveTypeID = ELeaveType.RESTDAY_LEAVE_TYPE(dbConn).LeaveTypeID; m_BalanceUnit = ELeaveBalance.LeaveBalanceUnit.Day; }
public BirthdayLeaveBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "Y"; m_LeaveTypeID = ELeaveType.BITYHDAY_LEAVE_TYPE(dbConn).LeaveTypeID; m_BalanceUnit = ELeaveBalance.LeaveBalanceUnit.Day; }
private bool GenerateLeaveBalanceData(int PaySlipID, int EmpID, DateTime AsOfDate) { bool hasLeaveBalance = false; LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, EmpID, AsOfDate); ArrayList balanceItems = calc.getCurrentBalanceList(); foreach (ELeaveBalance b in balanceItems) { if (b.LeaveTypeID.Equals(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn).LeaveTypeID)) { hasLeaveBalance = true; DataSet.Payroll_PaySlip.LeaveBalanceRow rr = dataSet.LeaveBalance.NewLeaveBalanceRow(); rr.LeaveBalanceID = b.LeaveBalanceID; rr.EmpID = PaySlipID; rr.LeaveBalanceEffectiveDate = b.LeaveBalanceEffectiveDate; rr.LeaveBalanceBF = b.LeaveBalanceBF; rr.LeaveBalanceEntitled = b.LeaveBalanceEntitled; rr.LeaveBalanceForfeiture = b.LeaveBalanceForfeiture + b.ExpiryForfeit; rr.Taken = b.Taken; rr.Adjust = b.Adjust; rr.Reserved = b.Reserved; rr.Balance = b.getBalance(); rr.Name = b.Name; rr.Description = b.Description; rr.StringFormat = b.StringFormat; dataSet.LeaveBalance.Rows.Add(rr); } } return(hasLeaveBalance); }
protected bool loadObject() { obj = new ELeaveApplication(); obj.LeaveAppID = CurLeaveAppID; if (!ELeaveApplication.db.select(dbConn, obj)) { return(false); } if (obj.EmpID != UserID) { return(false); } Hashtable values = new Hashtable(); ELeaveApplication.db.populate(obj, values); leaveApplicationBinding.toControl(values); //EEmpPersonalInfo EmpInfo = new EEmpPersonalInfo(); //EmpInfo.EmpID = obj.EmpID; //if (EEmpPersonalInfo.db.select(dbConn, EmpInfo)) // EmpName.Text = EmpInfo.EmpNo + " - " + EmpInfo.EmpEngFullNameWithAlias; if (obj.LeaveAppUnit.Equals("D")) { TimeRow.Visible = false; LeaveAppDateToPlaceHolder.Visible = true; } else { TimeRow.Visible = true; LeaveAppDateToPlaceHolder.Visible = false; } string leaveAuthorizedMessage = CONFIRM_MESSAGE; ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = obj.LeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption; if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID)) { HoursClaimPanel.Visible = true; } else { HoursClaimPanel.Visible = false; } } else { HoursClaimPanel.Visible = false; } return(true); }
protected ELeaveType GetLeaveTypeFromLeaveCode(int LeaveCodeID) { ELeaveCode m_leaveCode = ELeaveCode.GetObject(dbConn, LeaveCodeID); ELeaveType m_leaveType = ELeaveType.GetObject(dbConn, m_leaveCode.LeaveTypeID); return(m_leaveType); }
protected void Page_PreRender(object sender, EventArgs e) { ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = CurLeaveTypeID; if (ELeaveType.db.select(dbConn, leaveType)) { LeaveTypeID.Text = leaveType.LeaveTypeDesc; } }
protected void Delete_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); ELeaveType obj = new ELeaveType(); obj.LeaveTypeID = CurID; db.select(dbConn, obj); DBFilter leaveCodeFilter = new DBFilter(); leaveCodeFilter.add(new Match("LeaveTypeID", obj.LeaveTypeID)); DBFilter leaveApplicationFilter = new DBFilter(); leaveApplicationFilter.add(new IN("LeaveCodeID", "Select LeaveCodeID from " + ELeaveCode.db.dbclass.tableName, leaveCodeFilter)); leaveApplicationFilter.add("empid", true); ArrayList leaveApplicationList = ELeaveApplication.db.select(dbConn, leaveApplicationFilter); if (leaveApplicationList.Count > 0) { int curEmpID = 0; errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_CODE_USED_BY_EMPLOYEE, new string[] { HROne.Common.WebUtility.GetLocalizedString("Leave Type"), obj.LeaveType })); foreach (ELeaveApplication leaveApplication in leaveApplicationList) { EEmpPersonalInfo empInfo = new EEmpPersonalInfo(); empInfo.EmpID = leaveApplication.EmpID; if (EEmpPersonalInfo.db.select(dbConn, empInfo)) { if (curEmpID != leaveApplication.EmpID) { errors.addError("- " + empInfo.EmpNo + ", " + empInfo.EmpEngFullName); curEmpID = leaveApplication.EmpID; } } else { ELeaveApplication.db.delete(dbConn, leaveApplication); } } errors.addError(HROne.Translation.PageErrorMessage.ERROR_ACTION_ABORT); return; } else { WebUtils.StartFunction(Session, FUNCTION_CODE); ELeaveCode.db.delete(dbConn, leaveCodeFilter); ELeavePlanEntitle.db.delete(dbConn, leaveCodeFilter); db.delete(dbConn, obj); WebUtils.EndFunction(dbConn); } HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "LeaveType_List.aspx"); }
protected void RefreshLeaveCodeID() { HoursClaimPanel.Visible = false; if (!string.IsNullOrEmpty(LeaveCodeID.SelectedValue)) { int tmpLeaveCodeID = 0; if (int.TryParse(LeaveCodeID.SelectedValue, out tmpLeaveCodeID)) { ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = tmpLeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { PayrollProcessPanel.Visible = !leaveCode.LeaveCodeIsSkipPayrollProcess; LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption; if (!leaveCode.LeaveCodeIsSkipPayrollProcess) { ELeaveApplication leaveApp = new ELeaveApplication(); leaveApp.LeaveAppID = CurID; if (ELeaveApplication.db.select(dbConn, leaveApp)) { ELeaveCode prevLeaveCode = new ELeaveCode(); prevLeaveCode.LeaveCodeID = leaveApp.LeaveCodeID; if (ELeaveCode.db.select(dbConn, prevLeaveCode)) { if (prevLeaveCode.LeaveCodeIsSkipPayrollProcess) { LeaveAppNoPayProcess.Checked = false; } } } } if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID)) { HoursClaimPanel.Visible = true; } else { HoursClaimPanel.Visible = false; } } } } if (HoursClaimPanel.Visible) { LeaveAppDays.AutoPostBack = true; LeaveAppDays.TextChanged += new EventHandler(LeaveAppDays_TextChanged); } else { LeaveAppDays.AutoPostBack = false; LeaveAppDays.TextChanged -= new EventHandler(LeaveAppDays_TextChanged); } }
protected void Page_PreRender(object sender, EventArgs e) { if (!Page.IsPostBack) { if (CurID > 0) { loadObject(); } //if (RequestLeaveAppUnit.SelectedValue.Equals("A") || RequestLeaveAppUnit.SelectedValue.Equals("P")) // btnEstimateTotalLeaveDay.Visible = false; //else // btnEstimateTotalLeaveDay.Visible = true; //RefreshLeaveAppUnit(); } TimeRow.Visible = (RequestLeaveAppUnit.SelectedValue != "D"); LeaveAppDateToPlaceHolder.Visible = (RequestLeaveAppUnit.SelectedValue == "D"); // Start 0000201, Ricky So, 2015-05-28 RequestLeaveAppDateFromAM.Visible = (RequestLeaveAppUnit.SelectedValue == "D"); RequestLeaveAppDateToAM.Visible = (RequestLeaveAppUnit.SelectedValue == "D"); // End 0000201, Ricky So, 2015-05-28 int m_leaveCodeID; if (int.TryParse(RequestLeaveCodeID.SelectedValue, out m_leaveCodeID)) { ELeaveType m_leaveType = GetLeaveTypeFromLeaveCode(m_leaveCodeID); if (m_leaveType != null) { btnEstimateTotalLeaveDay.Visible = (RequestLeaveAppUnit.SelectedValue == "D" || RequestLeaveAppUnit.SelectedValue == "H" || m_leaveType.LeaveType == ELeaveType.LEAVETYPECODE_COMPENSATION); HoursClaimPanel.Visible = (m_leaveType.LeaveType == ELeaveType.LEAVETYPECODE_COMPENSATION); } } if (HoursClaimPanel.Visible) { RequestLeaveDays.AutoPostBack = true; RequestLeaveDays.TextChanged += new EventHandler(LeaveAppDays_TextChanged); } else { RequestLeaveDays.AutoPostBack = false; RequestLeaveDays.TextChanged -= new EventHandler(LeaveAppDays_TextChanged); } btnEstimateTotalLeaveDay_Click(sender, e); }
//public void RecalculateAfter(DateTime DateAfter) //{ // foreach (LeaveBalanceProcess balanceProcess in leaveBalanceProcessList) // { // balanceProcess.RecalculateAfter(DateAfter); // } //} //public void RecalculateAfter(DateTime DateAfter, int LeaveTypeID) //{ // foreach (LeaveBalanceProcess balanceProcess in leaveBalanceProcessList) // { // if (balanceProcess.LeaveTypeID.Equals(LeaveTypeID)) // balanceProcess.RecalculateAfter(DateAfter); // } //} private void LoadLeaveTypeAndRounding(ELeaveBalance b) { if (b != null) { ELeaveType type = new ELeaveType(); type.LeaveTypeID = b.LeaveTypeID; if (ELeaveType.db.select(dbConn, type)) { b.Name = type.LeaveType; b.Description = type.LeaveTypeDesc; b.StringFormat = "0." + string.Empty.PadRight(type.LeaveDecimalPlace, '0'); } } }
protected void Save_Click(object sender, EventArgs e) { ELeaveType c = new ELeaveType(); Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); if (!AppUtils.checkDuplicate(dbConn, db, c, errors, "LeaveType")) { return; } WebUtils.StartFunction(Session, FUNCTION_CODE); if (CurID < 0) { // Utils.MarkCreate(Session, c); db.insert(dbConn, c); CurID = c.LeaveTypeID; // url = Utils.BuildURL(-1, CurID); } else { // Utils.Mark(Session, c); db.update(dbConn, c); } WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "LeaveType_View.aspx?LeaveTypeID=" + CurID); }
//private SickLeaveCat2BalanceProcess CAT2Process = null; public SickLeaveBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "M"; allowEntitleProrata = false; m_LeaveTypeID = ELeaveType.SLCAT1_LEAVE_TYPE(dbConn).LeaveTypeID; ELeaveType Cat2LeaveType = ELeaveType.SLCAT2_LEAVE_TYPE(dbConn); if (Cat2LeaveType != null) { leaveTypeIDSLCat2 = Cat2LeaveType.LeaveTypeID; leaveTypeDisabledSLCat2 = Cat2LeaveType.LeaveTypeIsDisabled; // Start 2013-12-02, Ricky So, pretend CAT2 always enabled to retain Jimmy's calculation. leaveTypeDisabledSLCat2 = false; // End 2013-12-02, Ricky So, pretend CAT2 always enabled to retain Jimmy's calculation. } }
protected bool loadObject() { DBFilter filterStatus = new DBFilter(); filterStatus.add(new Match("EmpRequestRecordID", CurRequestID)); filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELEAVEAPP)); ArrayList empRequestList = EEmpRequest.db.select(dbConn, filterStatus); if (empRequestList.Count > 0) { EEmpRequest empRequest = (EEmpRequest)empRequestList[0]; if (empRequest.EmpID == UserID) { string submitStatus = empRequest.EmpRequestStatus; if ((submitStatus.Equals(EEmpRequest.STATUS_SUBMITTED) || submitStatus.Equals(EEmpRequest.STATUS_ACCEPTED)) && !submitStatus.Equals(EEmpRequest.STATUS_APPROVED)) { btnCancel.Visible = true; // Start 0000063, KuangWei, 2014-08-25 if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason)) { RejectReasonRow.Visible = true; lblReject.Visible = false; lblAuthorize.Visible = true; lblRejectReason.Text = empRequest.EmpRequestRejectReason; } else { RejectReasonRow.Visible = false; } // End 0000063, KuangWei, 2014-08-25 } else { btnCancel.Visible = false; if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason)) { RejectReasonRow.Visible = true; // Start 0000063, KuangWei, 2014-08-25 lblReject.Visible = true; lblAuthorize.Visible = false; // End 0000063, KuangWei, 2014-08-25 lblRejectReason.Text = empRequest.EmpRequestRejectReason; } else { RejectReasonRow.Visible = false; } } } else { btnCancel.Visible = false; RejectReasonRow.Visible = false; } obj = new ERequestLeaveApplication(); obj.RequestLeaveAppID = CurRequestID; if (!db.select(dbConn, obj)) { return(false); } Emp_LeaveBalance_List1.EmpID = obj.EmpID; Emp_LeaveBalance_List1.AsOfDate = obj.RequestLeaveAppDateFrom; Hashtable values = new Hashtable(); db.populate(obj, values); binding.toControl(values); //EEmpPersonalInfo EmpInfo = new EEmpPersonalInfo(); //EmpInfo.EmpID = obj.EmpID; //if (EEmpPersonalInfo.db.select(dbConn, EmpInfo)) // EmpName.Text = EmpInfo.EmpNo + " - " + EmpInfo.EmpEngFullNameWithAlias; if (obj.RequestLeaveAppUnit.Equals("D")) { TimeRow.Visible = false; LeaveAppDateToPlaceHolder.Visible = true; } else { TimeRow.Visible = true; LeaveAppDateToPlaceHolder.Visible = false; } string leaveAuthorizedMessage = CONFIRM_MESSAGE; ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = obj.RequestLeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption; if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID)) { HoursClaimPanel.Visible = true; } else { HoursClaimPanel.Visible = false; } if (leaveCode.LeaveTypeID.Equals(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn).LeaveTypeID)) { EEmpPersonalInfo empInfo = new EEmpPersonalInfo(); empInfo.EmpID = obj.EmpID; if (EEmpPersonalInfo.db.select(dbConn, empInfo)) { if (AppUtils.ServerDateTime().Date <= empInfo.EmpProbaLastDate || obj.RequestLeaveAppDateFrom <= empInfo.EmpProbaLastDate) { leaveAuthorizedMessage = AL_AUTHORIZED_BEFORE_PROBATION_MESSAGE; } } } } else { HoursClaimPanel.Visible = false; } Authorize.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(leaveAuthorizedMessage) + "\");"); Reject.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(CONFIRM_MESSAGE) + "\");"); return(true); } else { return(false); } }
public override ReportDocument GenerateReport() { string HierarchyLevel1 = string.Empty; string HierarchyLevel2 = string.Empty; string HierarchyLevel3 = string.Empty; ArrayList HierarchyLevelList = EHierarchyLevel.db.select(dbConn, new DBFilter()); foreach (EHierarchyLevel hLevel in HierarchyLevelList) { if (hLevel.HLevelSeqNo.Equals(1)) { HierarchyLevel1 = hLevel.HLevelDesc; } else if (hLevel.HLevelSeqNo.Equals(2)) { HierarchyLevel2 = hLevel.HLevelDesc; } else if (hLevel.HLevelSeqNo.Equals(3)) { HierarchyLevel3 = hLevel.HLevelDesc; } } if (EmpList.Count > 0) { DataSet.EmployeeDetail ds = new DataSet.EmployeeDetail(); foreach (int EmpID in EmpList) { EmployeeDetailProcess.ImportEmployeeDetailRow(dbConn, ds.employeedetail, EmpID, AppUtils.ServerDateTime().Date); DBFilter filter = new DBFilter(); //filter.add(new Match("LeaveAppDateFrom", ">=", startDate)); //filter.add(new Match("LeaveAppDateFrom", "<=", AsOfDate)); filter.add(new Match("EmpID", EmpID)); if (!DateFrom.Ticks.Equals(0)) { filter.add(new Match("LeaveAppDateFrom", "<=", DateTo)); } if (!DateTo.Ticks.Equals(0)) { filter.add(new Match("LeaveAppDateTo", ">=", DateFrom)); } ArrayList leaveApplicationList = ELeaveApplication.db.select(dbConn, filter); DataSet.EmployeeDetail.LeaveApplicationDataTable leaveApplicationTable = ds.LeaveApplication; foreach (ELeaveApplication leaveApplication in leaveApplicationList) { DataSet.EmployeeDetail.LeaveApplicationRow row = leaveApplicationTable.NewLeaveApplicationRow(); row.EmpID = leaveApplication.EmpID; row.EmpPaymentID = leaveApplication.EmpPaymentID; row.LeaveAppDateFrom = leaveApplication.LeaveAppDateFrom; row.LeaveAppDateTo = leaveApplication.LeaveAppDateTo; if (leaveApplication.LeaveAppUnit == "H") { row.LeaveAppDays = leaveApplication.LeaveAppHours; } else { row.LeaveAppDays = leaveApplication.LeaveAppDays; } row.LeaveAppID = leaveApplication.LeaveAppID; row.LeaveAppRemark = leaveApplication.LeaveAppRemark; if (!leaveApplication.LeaveAppTimeFrom.Ticks.Equals(0)) { row.LeaveAppTimeFrom = leaveApplication.LeaveAppTimeFrom; } if (!leaveApplication.LeaveAppTimeTo.Ticks.Equals(0)) { row.LeaveAppTimeTo = leaveApplication.LeaveAppTimeTo; } row.LeaveAppUnit = leaveApplication.LeaveAppUnit; row.LeaveCodeID = leaveApplication.LeaveCodeID; row.LeaveAppHasMedicalCertificate = leaveApplication.LeaveAppHasMedicalCertificate; row.LeaveAppNoPayProcess = leaveApplication.LeaveAppNoPayProcess; ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = leaveApplication.LeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = leaveCode.LeaveTypeID; if (ELeaveType.db.select(dbConn, leaveType)) { row.LeaveType = leaveType.LeaveType; row.LeaveTypeDesc = leaveType.LeaveTypeDesc; } } leaveApplicationTable.AddLeaveApplicationRow(row); } } if (reportDocument == null) { reportDocument = new ReportTemplate.Report_Employee_LeaveApplicationList(); } else { } reportDocument.SetDataSource(ds); for (int i = 0; i < reportDocument.ParameterFields.Count; i++) { if (reportDocument.ParameterFields[i].Name == "HierarchyLevel1") { reportDocument.SetParameterValue("HierarchyLevel1", HierarchyLevel1); } if (reportDocument.ParameterFields[i].Name == "HierarchyLevel2") { reportDocument.SetParameterValue("HierarchyLevel2", HierarchyLevel2); } } return(reportDocument); } else { return(null); } }
public ArrayList getCurrentBalanceList(bool forESSOnly) { ArrayList balanceList = new ArrayList(); foreach (LeaveBalanceProcess balanceProcess in leaveBalanceProcessList.Values) { ELeaveBalance leaveBalance = balanceProcess.getLatestLeaveBalance(); if (leaveBalance != null) { //bool addToList = true; if (forESSOnly) { ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = leaveBalance.LeaveTypeID; if (!ELeaveType.db.select(dbConn, leaveType)) { continue; } if (leaveType.LeaveTypeIsESSHideLeaveBalance) { continue; } DBFilter countESSLeaveCodeFilter = new DBFilter(); countESSLeaveCodeFilter.add(new Match("LeaveTypeID", leaveBalance.LeaveTypeID)); countESSLeaveCodeFilter.add(new Match("LeaveCodeHideInESS", false)); if (ELeaveCode.db.count(dbConn, countESSLeaveCodeFilter) <= 0) { continue; } //addToList = false; } //if (addToList) { LoadLeaveTypeAndRounding(leaveBalance); if (leaveBalance.LeaveBalanceEntitled != 0 || leaveBalance.getBalance() != 0 || leaveBalance.Taken != 0 || leaveBalance.Reserved != 0) { balanceList.Add(leaveBalance); } } } // Start 2013-12-02, Ricky So, Avoid showing CAT2 Sick Leave entry if ((ELeaveType.SLCAT2_LEAVE_TYPE(dbConn)).LeaveTypeIsDisabled == false) { if (balanceProcess is SickLeaveBalanceProcess) { leaveBalance = ((SickLeaveBalanceProcess)balanceProcess).getLatestCAT2LeaveBalance(); if (leaveBalance != null) { bool addToList = true; if (forESSOnly) { DBFilter countESSLeaveCodeFilter = new DBFilter(); countESSLeaveCodeFilter.add(new Match("LeaveTypeID", leaveBalance.LeaveTypeID)); countESSLeaveCodeFilter.add(new Match("LeaveCodeHideInESS", false)); if (ELeaveCode.db.count(dbConn, countESSLeaveCodeFilter) <= 0) { addToList = false; } } if (addToList) { LoadLeaveTypeAndRounding(leaveBalance); if (leaveBalance.LeaveBalanceEntitled != 0 || leaveBalance.getBalance() != 0 || leaveBalance.Taken != 0 || leaveBalance.Reserved != 0) { balanceList.Add(leaveBalance); } } } } } //if (balanceProcess is SickLeaveBalanceProcess) //{ // leaveBalance = ((SickLeaveBalanceProcess)balanceProcess).getLatestCAT2LeaveBalance(); // if (leaveBalance != null) // { // bool addToList = true; // if (forESSOnly) // { // DBFilter countESSLeaveCodeFilter = new DBFilter(); // countESSLeaveCodeFilter.add(new Match("LeaveTypeID", leaveBalance.LeaveTypeID)); // countESSLeaveCodeFilter.add(new Match("LeaveCodeHideInESS", false)); // if (ELeaveCode.db.count(dbConn, countESSLeaveCodeFilter) <= 0) // addToList = false; // } // if (addToList) // { // LoadLeaveTypeAndRounding(leaveBalance); // if (leaveBalance.LeaveBalanceEntitled != 0 || leaveBalance.getBalance() != 0 || leaveBalance.Taken != 0 || leaveBalance.Reserved != 0) // balanceList.Add(leaveBalance); // } // } //} // End 2013-12-02, Ricky So, Avoid showing CAT2 Sick Leave entry } return(balanceList); }
protected void btnGenerate_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); DateTime currentDate = AppUtils.ServerDateTime().Date; DateTime asOfDate = currentDate; if (!DateTime.TryParse(BalanceAsOfDate.Value, out asOfDate)) { asOfDate = currentDate; } ESSAuthorizationProcess authProcess = new ESSAuthorizationProcess(dbConn); List <EAuthorizationGroup> groupList = authProcess.GetAuthorizerAuthorizationGroupList(CurID); ArrayList EmpIDList = new ArrayList(); if (groupList.Count > 0) { DBFilter authWorkFlowDetailFilter = new DBFilter(); string authGroupIDList = string.Empty; foreach (EAuthorizationGroup group in groupList) { if (string.IsNullOrEmpty(authGroupIDList)) { authGroupIDList = group.AuthorizationGroupID.ToString(); } else { authGroupIDList += ", " + group.AuthorizationGroupID.ToString(); } } authWorkFlowDetailFilter.add(new IN("AuthorizationGroupID", authGroupIDList, null)); DBFilter empPosFilter = EEmpPositionInfo.CreateDateRangeDBFilter("epi", currentDate, currentDate); empPosFilter.add(new IN("epi.AuthorizationWorkFlowIDLeaveApp", "SELECT DISTINCT awfd.AuthorizationWorkFlowID FROM " + EAuthorizationWorkFlowDetail.db.dbclass.tableName + " awfd", authWorkFlowDetailFilter)); DBFilter empInfoFilter = new DBFilter(); empInfoFilter.add(new IN("EmpID", "SELECT DISTINCT epi.EmpID FROM " + EEmpPositionInfo.db.dbclass.tableName + " epi", empPosFilter)); DBFilter empTermFilter = new DBFilter(); empTermFilter.add(new Match("EmpTermLastDate", "<", currentDate < asOfDate?currentDate:asOfDate)); empInfoFilter.add(new IN("NOT EMPID", "SELECT et.EmpID FROM " + EEmpTermination.db.dbclass.tableName + " et", empTermFilter)); ArrayList EmpList = EEmpPersonalInfo.db.select(dbConn, empInfoFilter); foreach (EEmpPersonalInfo empInfo in EmpList) { EmpIDList.Add(empInfo.EmpID); } } // Start Ricky So, 0000119, 2014/10/28 EmpIDList.Add(WebUtils.GetCurUser(Session).EmpID); // End Ricky So, 0000119, 2014/10/28 if (EmpIDList.Count > 0) { ArrayList leaveTypeList = new ArrayList(); leaveTypeList.Add(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn)); // Start 0000057, Ricky So, 2014/07/03 DBFilter m_leaveTypeFilter = new DBFilter(); DBFilter m_leaveCodeFilter = new DBFilter(); OR m_orLeaveType = new OR(); m_orLeaveType.add(new Match("LeaveType", "SLCAT1")); m_orLeaveType.add(new Match("LeaveType", "SLCAT2")); m_leaveTypeFilter.add(m_orLeaveType); m_leaveCodeFilter.add(new IN("LeaveTypeID", "SELECT LeaveTypeID FROM LeaveType", m_leaveTypeFilter)); ArrayList m_leaveCodeList = ELeaveCode.db.select(dbConn, m_leaveCodeFilter); if (m_leaveCodeList.Count > 0) { leaveTypeList.Add(ELeaveType.SLCAT1_LEAVE_TYPE(dbConn)); leaveTypeList.Add(ELeaveType.SLCAT2_LEAVE_TYPE(dbConn)); } // End 0000057, Ricky So, 2014/07/03 HROne.Reports.Employee.LeaveBalanceProcess rpt = new HROne.Reports.Employee.LeaveBalanceProcess(dbConn, EmpIDList, asOfDate, leaveTypeList); string reportFileName = WebUtils.GetLocalizedReportFile(Server.MapPath("~/Report_Employee_LeaveBalance.rpt")); WebUtils.ReportExport(Response, rpt, reportFileName, "PDF", "LeaveBalance"); } else { errors.addError("No employee can be generated"); } }
public override ReportDocument GenerateReport() { if (values.Count > 0) { DateTime startDate = new DateTime(AsOfDate.Year, 1, 1); //System.Data.DataSet ds = new System.Data.DataSet(); //System.Data.DataTable sum = ds.Tables.Add("LeaveBalance"); //sum.Columns.Add("LeaveBalanceID", typeof(int)); //sum.Columns.Add("EmpID", typeof(int)); //sum.Columns.Add("LeaveBalanceEffectiveDate", typeof(DateTime)); //sum.Columns.Add("LeaveBalanceBF", typeof(double)); //sum.Columns.Add("LeaveBalanceEntitled", typeof(double)); //sum.Columns.Add("LeaveBalanceForfeiture", typeof(double)); //sum.Columns.Add("Taken", typeof(double)); //sum.Columns.Add("Balance", typeof(double)); //sum.Columns.Add("Adjust", typeof(double)); //sum.Columns.Add("Reserved", typeof(double)); //sum.Columns.Add("Name", typeof(string)); //sum.Columns.Add("Description", typeof(string)); //sum.Columns.Add("StringFormat", typeof(string)); DataSet.EmployeeDetail ds = new DataSet.EmployeeDetail(); //string select; //string from; //DBFilter filter; foreach (int EmpID in values) { //from = "from EmpPersonalInfo P LEFT JOIN EmpPositionInfo EmpPos ON P.EmpID=EmpPos.EmpID AND EmpPos.EmpPosEffTo IS NULL LEFT JOIN Position Pos ON EmpPos.PositionID=Pos.PositionID"; //select = "P.*,EmpPos.*,Pos.*"; //filter = new DBFilter(); //filter.add(new Match("P.EmpID", EmpID)); //filter.loadData(ds, "employeedetail", null, select, from, null); EmployeeDetailProcess.ImportEmployeeDetailRow(dbConn, ds.employeedetail, EmpID, AsOfDate); //from = "from LeaveApplication P LEFT JOIN LeaveCode C ON P.LeaveCodeID=C.LeaveCodeID LEFT JOIN LeaveType T ON T.LeaveTypeID=C.LeaveTypeID"; //select = "P.*, T.LeaveType, T.LeaveTypeDesc"; //filter = new DBFilter(); //filter.add(new Match("LeaveAppDateFrom", ">=", startDate)); //filter.add(new Match("LeaveAppDateFrom", "<=", AsOfDate)); //filter.add(new Match("P.EmpID", EmpID)); //filter.loadData(ds, "LeaveApplication", null, select, from, null); //try //{ // LeaveBalanceCalc calc = new LeaveBalanceCalc(EmpID, AsOfDate); // ArrayList balanceItems = calc.getCurrentBalanceList(); // foreach (ELeaveBalance b in balanceItems) // { // System.Data.DataRow rr = sum.NewRow(); // rr["LeaveBalanceID"] = b.LeaveBalanceID; // rr["EmpID"] = EmpID; // rr["LeaveBalanceEffectiveDate"] = b.LeaveBalanceEffectiveDate; // rr["LeaveBalanceBF"] = b.LeaveBalanceBF; // rr["LeaveBalanceEntitled"] = b.LeaveBalanceEntitled; // rr["LeaveBalanceForfeiture"] = b.LeaveBalanceForfeiture; // rr["Taken"] = b.Taken; // rr["Balance"] = b.Balance; // rr["Adjust"] = b.Adjust; // rr["Reserved"] = b.Reserved; // rr["Name"] = b.Name; // rr["Description"] = b.Description; // rr["StringFormat"] = b.StringFormat; // sum.Rows.Add(rr); // } //} //catch (Exception ex) //{ //} DBFilter filter = new DBFilter(); filter.add(new Match("LeaveAppDateFrom", ">=", startDate)); filter.add(new Match("LeaveAppDateFrom", "<=", AsOfDate)); filter.add(new Match("EmpID", EmpID)); ArrayList leaveApplicationList = ELeaveApplication.db.select(dbConn, filter); DataSet.EmployeeDetail.LeaveApplicationDataTable leaveApplicationTable = ds.LeaveApplication; foreach (ELeaveApplication leaveApplication in leaveApplicationList) { DataSet.EmployeeDetail.LeaveApplicationRow row = leaveApplicationTable.NewLeaveApplicationRow(); row.EmpID = leaveApplication.EmpID; row.EmpPaymentID = leaveApplication.EmpPaymentID; row.LeaveAppDateFrom = leaveApplication.LeaveAppDateFrom; row.LeaveAppDateTo = leaveApplication.LeaveAppDateTo; row.LeaveAppDays = leaveApplication.LeaveAppDays; row.LeaveAppID = leaveApplication.LeaveAppID; row.LeaveAppRemark = leaveApplication.LeaveAppRemark; if (!leaveApplication.LeaveAppTimeFrom.Ticks.Equals(0)) { row.LeaveAppTimeFrom = leaveApplication.LeaveAppTimeFrom; } if (!leaveApplication.LeaveAppTimeTo.Ticks.Equals(0)) { row.LeaveAppTimeTo = leaveApplication.LeaveAppTimeTo; } row.LeaveAppUnit = leaveApplication.LeaveAppUnit; row.LeaveCodeID = leaveApplication.LeaveCodeID; ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = leaveApplication.LeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = leaveCode.LeaveTypeID; if (ELeaveType.db.select(dbConn, leaveType)) { row.LeaveType = leaveType.LeaveType; row.LeaveTypeDesc = leaveType.LeaveTypeDesc; } } leaveApplicationTable.AddLeaveApplicationRow(row); } //try //{ LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, EmpID, AsOfDate); ArrayList balanceItems = calc.getCurrentBalanceList(); foreach (ELeaveBalance b in balanceItems) { DataSet.EmployeeDetail.LeaveBalanceRow rr = ds.LeaveBalance.NewLeaveBalanceRow(); rr["LeaveBalanceID"] = b.LeaveBalanceID; rr["EmpID"] = EmpID; rr["LeaveBalanceEffectiveDate"] = b.LeaveBalanceEffectiveDate; rr["LeaveBalanceBF"] = b.LeaveBalanceBF; rr["LeaveBalanceEntitled"] = b.LeaveBalanceEntitled; rr["LeaveBalanceForfeiture"] = b.LeaveBalanceForfeiture + b.ExpiryForfeit; rr["Taken"] = b.Taken; rr["Balance"] = b.getBalance(); rr["Adjust"] = b.Adjust; rr["Reserved"] = b.Reserved; rr["Name"] = b.Name; rr["Description"] = b.Description; rr["ExpiryForfeit"] = b.ExpiryForfeit; if (!b.NextExpiryDate.Ticks.Equals(0)) { rr["NextExpiryDate"] = b.NextExpiryDate; } rr["NextExpiryForfeit"] = b.NextExpiryForfeit; rr["StringFormat"] = b.StringFormat; ds.LeaveBalance.Rows.Add(rr); } //} //catch (Exception) //{ // // fail to create leave balance record by some reason // // no handling so far //} } if (reportDocument == null) { reportDocument = new ReportTemplate.Report_Employee_LeaveSummary(); } else { } reportDocument.SetDataSource(ds); reportDocument.SetParameterValue("AsOfDate", AsOfDate); return(reportDocument); } else { return(null); } }
// End 0000008, Ricky So, 2014-11-21 protected void Save_Click(object sender, EventArgs e) { // speciailzed for TakYue only double m; try { m = Convert.ToDouble(RequestLeaveDays.Text); } catch { PageErrors invalideInputError = PageErrors.getErrors(db, Page); invalideInputError.clear(); invalideInputError.addError("Invalid Days Taken value."); return; } if (!applicableDays.Value.Equals("") && !applicableDays.Value.Contains(m.ToString("0.00"))) { PageErrors invalideInputError = PageErrors.getErrors(db, Page); invalideInputError.clear(); invalideInputError.addError("Days Taken must be in this range : " + applicableDays.Value); return; } // end specializations ERequestLeaveApplication c = new ERequestLeaveApplication(); if (!RequestLeaveAppUnit.SelectedValue.Equals("D")) { RequestLeaveAppDateTo.Value = RequestLeaveAppDateFrom.Value; } Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); if (c.RequestLeaveAppUnit.Equals("D")) { // the following 2 fields are not bind to controls c.RequestLeaveAppDateFromAM = this.RequestLeaveAppDateFromAM.SelectedValue; c.RequestLeaveAppDateToAM = this.RequestLeaveAppDateToAM.SelectedValue; } if (!c.RequestLeaveAppUnit.Equals("D")) { //c.RequestLeaveAppDateTo = c.RequestLeaveAppDateFrom; if (c.RequestLeaveAppTimeTo < c.RequestLeaveAppTimeFrom) { errors.addError("RequestLeaveAppTimeFrom", "Invald hours"); } } else { if (c.RequestLeaveAppDateTo < c.RequestLeaveAppDateFrom) { errors.addError("RequestLeaveAppDateFrom", "Date To cannot be earlier than Date From"); } // Start 0000201, Ricky So, 2015-05-29 else if (c.RequestLeaveAppDateTo == c.RequestLeaveAppDateFrom) { if (c.RequestLeaveAppDateFromAM.CompareTo(c.RequestLeaveAppDateToAM) > 0) { errors.addError("RequestLeaveAppDateFrom", "Date To cannot be earlier/equal than Date From"); } else if (c.RequestLeaveAppDateFromAM.CompareTo(c.RequestLeaveAppDateToAM) == 0) { // Convert to Half Day application if only AM/PM is applied c.RequestLeaveAppUnit = c.RequestLeaveAppDateFromAM.Substring(0, 1); c.RequestLeaveAppDateFromAM = null; c.RequestLeaveAppDateToAM = null; c.RequestLeaveDays = 0.5; } } // End 0000201, Ricky So, 2015-05-29 else { TimeSpan ts = c.RequestLeaveAppDateTo.Subtract(c.RequestLeaveAppDateFrom); if (c.RequestLeaveDays > ts.Days + 1) { errors.addError("RequestLeaveDays", "Days taken is too large"); } } } if (c.RequestLeaveAppDateFrom.Month != c.RequestLeaveAppDateTo.Month || c.RequestLeaveAppDateFrom.Year != c.RequestLeaveAppDateTo.Year) { errors.addError("Leave application must be within the same month"); } if (HoursClaimPanel.Visible) { if (c.RequestLeaveAppHours <= 0) { errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_FIELD_REQUIRED, new string[] { lblLeaveAppHours.Text })); } } ELeaveCode curreintLeaveCode = new ELeaveCode(); curreintLeaveCode.LeaveCodeID = c.RequestLeaveCodeID; if (ELeaveCode.db.select(dbConn, curreintLeaveCode)) { ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = curreintLeaveCode.LeaveTypeID; if (ELeaveType.db.select(dbConn, leaveType)) { // Start 0000008, Ricky So, 2014-11-21 double m_hours = 0; double m_days = 0; GetPendingLeaveBalance(c.EmpID, leaveType.LeaveTypeID, out m_hours, out m_days); // End 0000008, Ricky So, 2014-11-21 if (leaveType.LeaveTypeIsESSIgnoreEntitlement) { HROne.LeaveCalc.LeaveBalanceCalc calc = new HROne.LeaveCalc.LeaveBalanceCalc(dbConn, c.EmpID); HROne.LeaveCalc.LeaveBalanceProcess balanceProcess = calc.getLeaveBalanceProcess(leaveType.LeaveTypeID); // assume as at today (since entitlement is ignored, as-at-date doesn't make any difference balanceProcess.LoadData(AppUtils.ServerDateTime().Date); ELeaveBalance balance = balanceProcess.getLatestLeaveBalance(); // Start 0000008, Ricky So, 2014-11-21 //if (balance == null // || (balance.getBalance() - balance.LeaveBalanceEntitled < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) // || (balance.getBalance() - balance.LeaveBalanceEntitled < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) if (balance == null || (balance.getBalance() - m_days - balance.LeaveBalanceEntitled < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || (balance.getBalance() - m_hours - balance.LeaveBalanceEntitled < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) ) // Start 0000008, Ricky So, 2014-11-21 { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } } else if (leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfApplicationDateFrom || leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfApplicationDateTo || leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfEndOfLeaveYear || leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfToday) { HROne.LeaveCalc.LeaveBalanceCalc calc = new HROne.LeaveCalc.LeaveBalanceCalc(dbConn, c.EmpID); HROne.LeaveCalc.LeaveBalanceProcess balanceProcess = calc.getLeaveBalanceProcess(leaveType.LeaveTypeID); if (leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfToday) { balanceProcess.LoadData(AppUtils.ServerDateTime().Date); ELeaveBalance balance = balanceProcess.getLatestLeaveBalance(); // Start 0000093, Ricky So, 2014-09-06 if (balance == null) { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } // Start 0000008, Ricky So, 2014-11-21 //else if ((balance.getBalance() - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || // (balance.getBalance() - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) else if ((balance.getBalance() - m_days - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || (balance.getBalance() - m_hours - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) ) // End 0000008, Ricky So, 2014-11-21 { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } //if (balance == null // || (balance.getBalance() < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) // || (balance.getBalance() < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) //{ // errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); //} // End 0000093, Ricky So, 2014-09-06 } if (errors.isEmpty() && leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfApplicationDateFrom) { balanceProcess.LoadData(c.RequestLeaveAppDateFrom); ELeaveBalance balance = balanceProcess.getLatestLeaveBalance(); // Start 0000093, Ricky So, 2014-09-06 if (balance == null) { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } // Start 0000008, Ricky So, 2014-11-21 //else if ((balance.getBalance() - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || // (balance.getBalance() - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) else if ((balance.getBalance() - m_days - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || (balance.getBalance() - m_hours - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) ) // End 0000008, Ricky So, 2014-11-21 { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } //if (balance == null // || (balance.getBalance() < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) // || (balance.getBalance() < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) //{ // errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); //} // End 0000093, Ricky So, 2014-09-06 } if (errors.isEmpty() && leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfApplicationDateTo) { balanceProcess.LoadData(c.RequestLeaveAppDateTo); ELeaveBalance balance = balanceProcess.getLatestLeaveBalance(); // Start 0000093, Ricky So, 2014-09-06 if (balance == null) { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } // Start 0000008, Ricky So, 2014-11-21 //else if ((balance.getBalance() - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || // (balance.getBalance() - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) else if ((balance.getBalance() - m_days - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || (balance.getBalance() - m_hours - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) ) // End 0000008, Ricky So, 2014-11-21 { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } //if (balance == null // || (balance.getBalance() < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) // || (balance.getBalance() < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) //{ // errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); //} // End 0000093, Ricky So, 2014-09-06 } if (errors.isEmpty() && leaveType.LeaveTypeIsESSRestrictNegativeBalanceAsOfEndOfLeaveYear) { balanceProcess.LoadData(AppUtils.ServerDateTime().Date); ELeaveBalance balance = balanceProcess.getLatestLeaveBalance(); if (!balance.LeaveBalanceEffectiveEndDate.Ticks.Equals(0)) { balanceProcess.LoadData(balance.LeaveBalanceEffectiveEndDate); balance = balanceProcess.getLatestLeaveBalance(); } // Start 0000093, Ricky So, 2014-09-06 if (balance == null) { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } // Start 0000008, Ricky So, 2014-11-21 //else if ((balance.getBalance() - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || // (balance.getBalance() - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) else if ((balance.getBalance() - m_days - c.RequestLeaveDays < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) || (balance.getBalance() - m_hours - c.RequestLeaveAppHours < -1 * leaveType.LeaveTypeIsESSAllowableAdvanceBalance && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) ) // End 0000008, Ricky So, 2014-11-21 { errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); } //if (balance == null // || (balance.getBalance() < c.RequestLeaveDays && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Day) // || (balance.getBalance() < c.RequestLeaveAppHours && balanceProcess.BalanceUnit == ELeaveBalance.LeaveBalanceUnit.Hour) // ) //{ // errors.addError(ERROR_MESSAGE_BALANCE_NOT_ENOUGH); //} // End 0000093, Ricky So, 2014-09-06 } } } } if (!errors.isEmpty()) { return; } ArrayList overlapLeaveAppList = new ArrayList(); if (c.IsOverlapLeaveApplication(dbConn, out overlapLeaveAppList)) { string strDailyOverlapMessage = string.Empty; string strHourlyOverlapMessage = string.Empty; foreach (BaseObject overlapLeaveApp in overlapLeaveAppList) { if (overlapLeaveApp is ELeaveApplication) { ELeaveApplication previousLeaveApp = (ELeaveApplication)overlapLeaveApp; if (previousLeaveApp.LeaveAppUnit.Equals("D") || c.RequestLeaveAppUnit.Equals("D")) { if (string.IsNullOrEmpty(strDailyOverlapMessage)) { strDailyOverlapMessage = "Leave dates cannot overlap with previous leave applications"; } ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = previousLeaveApp.LeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { // Start 0000201, Ricky So, 2015-06-02 //strDailyOverlapMessage += "\r\n- " + previousLeaveApp.LeaveAppDateFrom.ToString("yyyy-MM-dd") + (previousLeaveApp.LeaveAppDateFrom.Equals(previousLeaveApp.LeaveAppDateTo) ? "" : " To " + previousLeaveApp.LeaveAppDateTo.ToString("yyyy-MM-dd")) + " " + leaveCode.LeaveCodeDesc; strDailyOverlapMessage += "\r\n- " + previousLeaveApp.LeaveAppDateFrom.ToString("yyyy-MM-dd"); if (previousLeaveApp.LeaveAppUnit == "A") { strDailyOverlapMessage += "AM"; } else if (previousLeaveApp.LeaveAppUnit == "P") { strDailyOverlapMessage += "PM"; } else if (previousLeaveApp.LeaveAppUnit == "D" && !string.IsNullOrEmpty(previousLeaveApp.LeaveAppDateFromAM)) { strDailyOverlapMessage += previousLeaveApp.LeaveAppDateFromAM; } else if (previousLeaveApp.LeaveAppDateFrom.Equals(previousLeaveApp.LeaveAppDateTo)) { strDailyOverlapMessage += " To " + previousLeaveApp.LeaveAppDateTo.ToString("yyyy-MM-dd"); } if (previousLeaveApp.LeaveAppUnit == "D" && !string.IsNullOrEmpty(previousLeaveApp.LeaveAppDateToAM)) { strDailyOverlapMessage += previousLeaveApp.LeaveAppDateToAM; } else { strDailyOverlapMessage += " " + leaveCode.LeaveCodeDesc; } // End 0000201, Ricky So, 2015-06-02 } } else { if (string.IsNullOrEmpty(strHourlyOverlapMessage)) { strHourlyOverlapMessage = "Leave time cannot overlap with previous leave applications"; } } } else if (overlapLeaveApp is ERequestLeaveApplication) { ERequestLeaveApplication previousRequestLeaveApp = (ERequestLeaveApplication)overlapLeaveApp; if (previousRequestLeaveApp.RequestLeaveAppUnit.Equals("D") || c.RequestLeaveAppUnit.Equals("D")) { if (string.IsNullOrEmpty(strDailyOverlapMessage)) { strDailyOverlapMessage = "Leave dates cannot overlap with previous leave applications"; } ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = previousRequestLeaveApp.RequestLeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { // Start 0000201, Ricky So, 2015-06-02 //strDailyOverlapMessage += "\r\n- " + previousRequestLeaveApp.RequestLeaveAppDateFrom.ToString("yyyy-MM-dd") + (previousRequestLeaveApp.RequestLeaveAppDateFrom.Equals(previousRequestLeaveApp.RequestLeaveAppDateTo) ? "" : " To " + previousRequestLeaveApp.RequestLeaveAppDateTo.ToString("yyyy-MM-dd")) + " " + leaveCode.LeaveCodeDesc; strDailyOverlapMessage += "\r\n- " + previousRequestLeaveApp.RequestLeaveAppDateFrom.ToString("yyyy-MM-dd"); if (previousRequestLeaveApp.RequestLeaveAppUnit == "A") { strDailyOverlapMessage += "AM"; } else if (previousRequestLeaveApp.RequestLeaveAppUnit == "P") { strDailyOverlapMessage += "PM"; } else if (previousRequestLeaveApp.RequestLeaveAppUnit == "D" && !string.IsNullOrEmpty(previousRequestLeaveApp.RequestLeaveAppDateFromAM)) { strDailyOverlapMessage += previousRequestLeaveApp.RequestLeaveAppDateFromAM; } else if (previousRequestLeaveApp.RequestLeaveAppDateFrom.Equals(previousRequestLeaveApp.RequestLeaveAppDateTo)) { strDailyOverlapMessage += " To " + previousRequestLeaveApp.RequestLeaveAppDateTo.ToString("yyyy-MM-dd"); } if (previousRequestLeaveApp.RequestLeaveAppUnit == "D" && !string.IsNullOrEmpty(previousRequestLeaveApp.RequestLeaveAppDateToAM)) { strDailyOverlapMessage += previousRequestLeaveApp.RequestLeaveAppDateToAM; } else { strDailyOverlapMessage += " " + leaveCode.LeaveCodeDesc; } // End 0000201, Ricky So, 2015-06-02 } } else { if (string.IsNullOrEmpty(strHourlyOverlapMessage)) { strHourlyOverlapMessage = "Leave time cannot overlap with previous leave applications"; } } } } if (!string.IsNullOrEmpty(strDailyOverlapMessage)) { errors.addError(strDailyOverlapMessage); } if (!string.IsNullOrEmpty(strHourlyOverlapMessage)) { errors.addError(strHourlyOverlapMessage); } } if (!errors.isEmpty()) { return; } try { ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn); authorization.SubmitLeaveApplication(c); } catch (Exception ex) { errors.addError(ex.Message); } if (!errors.isEmpty()) { return; } if (c.RequestLeaveAppHasMedicalCertificate) { string message = ESystemParameter.getParameter(dbConn, ESystemParameter.PARAM_CODE_ESS_LEAVE_MEDICIAL_CERT_ALERT); if (!string.IsNullOrEmpty(message)) { message = message.Replace("\r", "\\r").Replace("\n", "\\n"); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "leaveAppAlert", "alert(\"" + message + "\"); window.location=\"./ESS_EmpRequestStatus.aspx\";", true); //ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorMessage", "popupDialog(\"testing\");", true); return; } } HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx"); }
public static DataTable Export(DatabaseConnection dbConn, ArrayList empList, bool IsIncludeCurrentPositionInfo, bool IsShowDescription, bool IsIncludeSyncID, DateTime ReferenceDateTime) { DataTable tmpDataTable = new DataTable(TABLE_NAME); tmpDataTable.Columns.Add(FIELD_EMP_NO, typeof(string)); if (IsIncludeCurrentPositionInfo) { ImportEmpPersonalInfoProcess.AddEmployeeInfoHeader(tmpDataTable); ImportEmpPositionInfoProcess.AddEmployeePositionInfoHeader(dbConn, tmpDataTable); } tmpDataTable.Columns.Add(FIELD_DATE_ADJUST, typeof(DateTime)); tmpDataTable.Columns.Add(FIELD_LEAVE_TYPE, typeof(string)); tmpDataTable.Columns.Add(FIELD_ADJUST_TYPE, typeof(string)); tmpDataTable.Columns.Add(FIELD_ADJUST_VALUE, typeof(double)); tmpDataTable.Columns.Add(FIELD_REMARK, typeof(string)); if (IsIncludeSyncID) { tmpDataTable.Columns.Add(FIELD_SYNC_ID, typeof(string)); } foreach (EEmpPersonalInfo empInfo in empList) { if (EEmpPersonalInfo.db.select(dbConn, empInfo)) { DBFilter filter = new DBFilter(); filter.add(new Match("EmpID", empInfo.EmpID)); filter.add(getCreateModifiedRecordsAfterDBTerm(ReferenceDateTime)); ArrayList list = ELeaveBalanceAdjustment.db.select(dbConn, filter); foreach (ELeaveBalanceAdjustment leaveBalanceAdjustment in list) { DataRow row = tmpDataTable.NewRow(); row[FIELD_EMP_NO] = empInfo.EmpNo; if (IsIncludeCurrentPositionInfo) { ImportEmpPersonalInfoProcess.AddEmployeeInfo(dbConn, row, empInfo.EmpID); ImportEmpPositionInfoProcess.AddEmployeePositionInfo(dbConn, row, empInfo.EmpID); } row[FIELD_DATE_ADJUST] = leaveBalanceAdjustment.LeaveBalAdjDate; ELeaveType leaveType = new ELeaveType(); leaveType.LeaveTypeID = leaveBalanceAdjustment.LeaveTypeID; if (ELeaveType.db.select(dbConn, leaveType)) { row[FIELD_LEAVE_TYPE] = IsShowDescription ? leaveType.LeaveTypeDesc : leaveType.LeaveType; } if (leaveBalanceAdjustment.LeaveBalAdjType.Equals(ELeaveBalanceAdjustment.ADJUST_TYPE_ADJUSTMENT)) { row[FIELD_ADJUST_TYPE] = ELeaveBalanceAdjustment.ADJUST_TYPE_ADJUSTMENT_NAME; } else if (leaveBalanceAdjustment.LeaveBalAdjType.Equals(ELeaveBalanceAdjustment.ADJUST_TYPE_RESET_BALANCE)) { row[FIELD_ADJUST_TYPE] = ELeaveBalanceAdjustment.ADJUST_TYPE_RESET_BALANCE_NAME; } row[FIELD_ADJUST_VALUE] = leaveBalanceAdjustment.LeaveBalAdjValue; row[FIELD_REMARK] = leaveBalanceAdjustment.LeaveBalAdjRemark; if (IsIncludeSyncID) { row[FIELD_SYNC_ID] = leaveBalanceAdjustment.SynID; } tmpDataTable.Rows.Add(row); } } } if (IsIncludeCurrentPositionInfo) { ImportEmpPositionInfoProcess.RetriveHierarchyLevelHeader(dbConn, tmpDataTable); } return(tmpDataTable); }
public static string GetValueFromID(DatabaseConnection dbConn, string fieldName, string fieldValue) { try { string tmpfieldName = fieldName; if (tmpfieldName.Equals("PreviousEmpID", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.Equals("NewEmpID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "EmpID"; } if (tmpfieldName.EndsWith("PaymentCodeID", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.EndsWith("PayCodeID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "PaymentCodeID"; } if (tmpfieldName.Equals("DefaultMPFPlanID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "MPFPlanID"; } if (tmpfieldName.Equals("AttendanceFormulaPayFormID", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.Equals("ReferencePayFormID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "PayFormID"; } if (tmpfieldName.StartsWith("LeaveCode", StringComparison.CurrentCultureIgnoreCase) && tmpfieldName.EndsWith("Formula", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "PayFormID"; } if (tmpfieldName.StartsWith("PayGroup", StringComparison.CurrentCultureIgnoreCase) && tmpfieldName.EndsWith("Formula", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "PayFormID"; } if (tmpfieldName.Equals("CurrentPayPeriodID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "PayPeriodID"; } if (tmpfieldName.Equals("EmpPosDefaultRosterCodeID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "RosterCodeID"; } if (tmpfieldName.Equals("RosterClientMappingSiteCodeToHLevelID", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "HLevelID"; } if (tmpfieldName.Equals("EmpFirstAuthorizationGp", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.Equals("EmpSecondAuthorizationGp", StringComparison.CurrentCultureIgnoreCase)) { tmpfieldName = "AuthorizationGroupID"; } if (tmpfieldName.StartsWith("A", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("ALProrataRoundingRuleID", StringComparison.CurrentCultureIgnoreCase)) { EALProrataRoundingRule obj = new EALProrataRoundingRule(); obj.ALProrataRoundingRuleID = int.Parse(fieldValue); if (EALProrataRoundingRule.db.select(dbConn, obj)) { return(obj.ALProrataRoundingRuleCode + " - " + obj.ALProrataRoundingRuleDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("AttendancePlanID", StringComparison.CurrentCultureIgnoreCase)) { EAttendancePlan obj = new EAttendancePlan(); obj.AttendancePlanID = int.Parse(fieldValue); if (EAttendancePlan.db.select(dbConn, obj)) { return(obj.AttendancePlanCode + " - " + obj.AttendancePlanDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("AuthorizationGroupID", StringComparison.CurrentCultureIgnoreCase)) { EAuthorizationGroup obj = new EAuthorizationGroup(); obj.AuthorizationGroupID = int.Parse(fieldValue); if (EAuthorizationGroup.db.select(dbConn, obj)) { return(obj.AuthorizationCode + " - " + obj.AuthorizationDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("AVCPlanID", StringComparison.CurrentCultureIgnoreCase)) { EAVCPlan obj = new EAVCPlan(); obj.AVCPlanID = int.Parse(fieldValue); if (EAVCPlan.db.select(dbConn, obj)) { return(obj.AVCPlanCode + " - " + obj.AVCPlanDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("C", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("CessationReasonID", StringComparison.CurrentCultureIgnoreCase)) { ECessationReason obj = new ECessationReason(); obj.CessationReasonID = int.Parse(fieldValue); if (ECessationReason.db.select(dbConn, obj)) { return(obj.CessationReasonCode + " - " + obj.CessationReasonDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("CompanyID", StringComparison.CurrentCultureIgnoreCase)) { ECompany obj = new ECompany(); obj.CompanyID = int.Parse(fieldValue); if (ECompany.db.select(dbConn, obj)) { return(obj.CompanyCode + " - " + obj.CompanyName); } else { return(string.Empty); } } if (tmpfieldName.Equals("CostAllocationDetailID", StringComparison.CurrentCultureIgnoreCase)) { ECostAllocationDetail obj = new ECostAllocationDetail(); obj.CostAllocationDetailID = int.Parse(fieldValue); if (ECostAllocationDetail.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "PayCodeID", obj.PaymentCodeID.ToString()) + ", " + GetValueFromID(dbConn, "CostCenterID", obj.CostCenterID.ToString())); } else { return(string.Empty); } } if (tmpfieldName.Equals("CostAllocationID", StringComparison.CurrentCultureIgnoreCase)) { ECostAllocation obj = new ECostAllocation(); obj.CostAllocationID = int.Parse(fieldValue); if (ECostAllocation.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "EmpPayrollID", obj.EmpPayrollID.ToString())); } else { return(string.Empty); } } if (tmpfieldName.Equals("CostCenterID", StringComparison.CurrentCultureIgnoreCase)) { ECostCenter obj = new ECostCenter(); obj.CostCenterID = int.Parse(fieldValue); if (ECostCenter.db.select(dbConn, obj)) { return(obj.CostCenterCode + " - " + obj.CostCenterDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("D", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("DocumentTypeID", StringComparison.CurrentCultureIgnoreCase)) { EDocumentType obj = new EDocumentType(); obj.DocumentTypeID = int.Parse(fieldValue); if (EDocumentType.db.select(dbConn, obj)) { return(obj.DocumentTypeCode + " - " + obj.DocumentTypeDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("E", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("EmpAccID", StringComparison.CurrentCultureIgnoreCase)) { EEmpBankAccount obj = new EEmpBankAccount(); obj.EmpBankAccountID = int.Parse(fieldValue); if (EEmpBankAccount.db.select(dbConn, obj)) { return(obj.EmpBankCode + "-" + obj.EmpBranchCode + "-" + obj.EmpAccountNo); } //return obj.EmpBankCode + "-" + obj.EmpBranchCode + "-" + string.Empty.PadRight(obj.EmpAccountNo.Length, 'X'); else { return(string.Empty); } } if (tmpfieldName.Equals("EmpCostCenterID", StringComparison.CurrentCultureIgnoreCase)) { EEmpCostCenter obj = new EEmpCostCenter(); obj.EmpCostCenterID = int.Parse(fieldValue); if (EEmpCostCenter.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "EmpID", obj.EmpID.ToString())); } else { return(string.Empty); } } if (tmpfieldName.Equals("EmpExtraFieldID", StringComparison.CurrentCultureIgnoreCase)) { EEmpExtraField obj = new EEmpExtraField(); obj.EmpExtraFieldID = int.Parse(fieldValue); if (EEmpExtraField.db.select(dbConn, obj)) { return(obj.EmpExtraFieldName); } else { return(string.Empty); } } if (tmpfieldName.Equals("EmpID", StringComparison.CurrentCultureIgnoreCase)) { EEmpPersonalInfo obj = new EEmpPersonalInfo(); obj.EmpID = int.Parse(fieldValue); if (EEmpPersonalInfo.db.select(dbConn, obj)) { return(obj.EmpNo + " - " + obj.EmpEngFullName); } else { return(string.Empty); } } if (tmpfieldName.Equals("EmpPayrollID", StringComparison.CurrentCultureIgnoreCase)) { EEmpPayroll obj = new EEmpPayroll(); obj.EmpPayrollID = int.Parse(fieldValue); if (EEmpPayroll.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "EmpID", obj.EmpID.ToString()) + " : " + GetValueFromID(dbConn, "PayPeriodID", obj.PayPeriodID.ToString())); } else { return(string.Empty); } } if (tmpfieldName.Equals("EmpPosID", StringComparison.CurrentCultureIgnoreCase)) { EEmpPositionInfo obj = new EEmpPositionInfo(); obj.EmpPosID = int.Parse(fieldValue); if (EEmpPositionInfo.db.select(dbConn, obj)) { return(obj.EmpPosEffFr.ToString("yyyy-MM-dd") + " - " + (obj.EmpPosEffTo.Ticks.Equals(0) ? "Present" : obj.EmpPosEffTo.ToString("yyyy-MM-dd"))); } else { return(string.Empty); } } if (tmpfieldName.Equals("EmploymentTypeID", StringComparison.CurrentCultureIgnoreCase)) { EEmploymentType obj = new EEmploymentType(); obj.EmploymentTypeID = int.Parse(fieldValue); if (EEmploymentType.db.select(dbConn, obj)) { return(obj.EmploymentTypeCode + " - " + obj.EmploymentTypeDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("F", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("FunctionID", StringComparison.CurrentCultureIgnoreCase)) { ESystemFunction obj = new ESystemFunction(); obj.FunctionID = int.Parse(fieldValue); if (ESystemFunction.db.select(dbConn, obj)) { return(obj.FunctionCode + " - " + obj.Description); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("H", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("HElementID", StringComparison.CurrentCultureIgnoreCase)) { EHierarchyElement obj = new EHierarchyElement(); obj.HElementID = int.Parse(fieldValue); if (EHierarchyElement.db.select(dbConn, obj)) { return(obj.HElementCode + " - " + obj.HElementDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("HLevelID", StringComparison.CurrentCultureIgnoreCase)) { EHierarchyLevel obj = new EHierarchyLevel(); obj.HLevelID = int.Parse(fieldValue); if (EHierarchyLevel.db.select(dbConn, obj)) { return(obj.HLevelCode + " - " + obj.HLevelDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("L", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("LeaveTypeID", StringComparison.CurrentCultureIgnoreCase)) { ELeaveType obj = new ELeaveType(); obj.LeaveTypeID = int.Parse(fieldValue); if (ELeaveType.db.select(dbConn, obj)) { return(obj.LeaveType + " - " + obj.LeaveTypeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("LeaveCodeID", StringComparison.CurrentCultureIgnoreCase)) { ELeaveCode obj = new ELeaveCode(); obj.LeaveCodeID = int.Parse(fieldValue); if (ELeaveCode.db.select(dbConn, obj)) { return(obj.LeaveCode + " - " + obj.LeaveCodeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("LeavePlanID", StringComparison.CurrentCultureIgnoreCase)) { ELeavePlan obj = new ELeavePlan(); obj.LeavePlanID = int.Parse(fieldValue); if (ELeavePlan.db.select(dbConn, obj)) { return(obj.LeavePlanCode + " - " + obj.LeavePlanDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("M", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("MPFPlanID", StringComparison.CurrentCultureIgnoreCase)) { EMPFPlan obj = new EMPFPlan(); obj.MPFPlanID = int.Parse(fieldValue); if (EMPFPlan.db.select(dbConn, obj)) { return(obj.MPFPlanCode + " - " + obj.MPFPlanDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("MPFSchemeID", StringComparison.CurrentCultureIgnoreCase)) { EMPFScheme obj = new EMPFScheme(); obj.MPFSchemeID = int.Parse(fieldValue); if (EMPFScheme.db.select(dbConn, obj)) { return(obj.MPFSchemeCode + " - " + obj.MPFSchemeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("MPFSchemeCessationReasonID", StringComparison.CurrentCultureIgnoreCase)) { EMPFSchemeCessationReason obj = new EMPFSchemeCessationReason(); obj.MPFSchemeCessationReasonID = int.Parse(fieldValue); if (EMPFSchemeCessationReason.db.select(dbConn, obj)) { return(obj.MPFSchemeCessationReasonCode + " - " + obj.MPFSchemeCessationReasonDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("O", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("ORSOPlanID", StringComparison.CurrentCultureIgnoreCase)) { EORSOPlan obj = new EORSOPlan(); obj.ORSOPlanID = int.Parse(fieldValue); if (EORSOPlan.db.select(dbConn, obj)) { return(obj.ORSOPlanCode + " - " + obj.ORSOPlanDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("P", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("PayGroupID", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.Equals("PayrollGroupID", StringComparison.CurrentCultureIgnoreCase)) { EPayrollGroup obj = new EPayrollGroup(); obj.PayGroupID = int.Parse(fieldValue); if (EPayrollGroup.db.select(dbConn, obj)) { return(obj.PayGroupCode + " - " + obj.PayGroupDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("PayFormID", StringComparison.CurrentCultureIgnoreCase)) { EPayrollProrataFormula obj = new EPayrollProrataFormula(); obj.PayFormID = int.Parse(fieldValue); if (EPayrollProrataFormula.db.select(dbConn, obj)) { return(obj.PayFormCode + " - " + obj.PayFormDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("PaymentCodeID", StringComparison.CurrentCultureIgnoreCase) || tmpfieldName.Equals("PayCodeID", StringComparison.CurrentCultureIgnoreCase)) { EPaymentCode obj = new EPaymentCode(); obj.PaymentCodeID = int.Parse(fieldValue); if (EPaymentCode.db.select(dbConn, obj)) { return(obj.PaymentCode + " - " + obj.PaymentCodeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("PaymentTypeID", StringComparison.CurrentCultureIgnoreCase)) { EPaymentType obj = new EPaymentType(); obj.PaymentTypeID = int.Parse(fieldValue); if (EPaymentType.db.select(dbConn, obj)) { return(obj.PaymentTypeCode + " - " + obj.PaymentTypeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("PayPeriodID", StringComparison.CurrentCultureIgnoreCase)) { EPayrollPeriod obj = new EPayrollPeriod(); obj.PayPeriodID = int.Parse(fieldValue); if (EPayrollPeriod.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "PayrollGroupID", obj.PayGroupID.ToString()) + ": " + obj.PayPeriodFr.ToString("yyyy-MM-dd") + " to " + obj.PayPeriodTo.ToString("yyyy-MM-dd")); } else { return(string.Empty); } } if (tmpfieldName.Equals("PermitTypeID", StringComparison.CurrentCultureIgnoreCase)) { EPermitType obj = new EPermitType(); obj.PermitTypeID = int.Parse(fieldValue); if (EPermitType.db.select(dbConn, obj)) { return(obj.PermitTypeCode + " - " + obj.PermitTypeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("PositionID", StringComparison.CurrentCultureIgnoreCase)) { EPosition obj = new EPosition(); obj.PositionID = int.Parse(fieldValue); if (EPosition.db.select(dbConn, obj)) { return(obj.PositionCode + " - " + obj.PositionDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("Q", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("QualificationID", StringComparison.CurrentCultureIgnoreCase)) { EQualification obj = new EQualification(); obj.QualificationID = int.Parse(fieldValue); if (EQualification.db.select(dbConn, obj)) { return(obj.QualificationCode + " - " + obj.QualificationDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("R", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("RankID", StringComparison.CurrentCultureIgnoreCase)) { ERank obj = new ERank(); obj.RankID = int.Parse(fieldValue); if (ERank.db.select(dbConn, obj)) { return(obj.RankCode + " - " + obj.RankDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("ReminderTypeID", StringComparison.CurrentCultureIgnoreCase)) { EReminderType obj = new EReminderType(); obj.ReminderTypeID = int.Parse(fieldValue); if (EReminderType.db.select(dbConn, obj)) { return(obj.ReminderTypeCode + " - " + obj.ReminderTypeDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("RosterClientID", StringComparison.CurrentCultureIgnoreCase)) { ERosterClient obj = new ERosterClient(); obj.RosterClientID = int.Parse(fieldValue); if (ERosterClient.db.select(dbConn, obj)) { return(obj.RosterClientCode + " - " + obj.RosterClientName); } else { return(string.Empty); } } if (tmpfieldName.Equals("RosterClientSiteID", StringComparison.CurrentCultureIgnoreCase)) { ERosterClientSite obj = new ERosterClientSite(); obj.RosterClientSiteID = int.Parse(fieldValue); if (ERosterClientSite.db.select(dbConn, obj)) { return(obj.RosterClientSiteCode); } else { return(string.Empty); } } if (tmpfieldName.Equals("RosterCodeID", StringComparison.CurrentCultureIgnoreCase)) { ERosterCode obj = new ERosterCode(); obj.RosterCodeID = int.Parse(fieldValue); if (ERosterCode.db.select(dbConn, obj)) { return(obj.RosterCode + " - " + obj.RosterCodeDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("S", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("SkillID", StringComparison.CurrentCultureIgnoreCase)) { ESkill obj = new ESkill(); obj.SkillID = int.Parse(fieldValue); if (ESkill.db.select(dbConn, obj)) { return(obj.SkillCode + " - " + obj.SkillDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("SkillLevelID", StringComparison.CurrentCultureIgnoreCase)) { ESkillLevel obj = new ESkillLevel(); obj.SkillLevelID = int.Parse(fieldValue); if (ESkillLevel.db.select(dbConn, obj)) { return(obj.SkillLevelCode + " - " + obj.SkillLevelDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("StaffTypeID", StringComparison.CurrentCultureIgnoreCase)) { EStaffType obj = new EStaffType(); obj.StaffTypeID = int.Parse(fieldValue); if (EStaffType.db.select(dbConn, obj)) { return(obj.StaffTypeCode + " - " + obj.StaffTypeDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("T", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("TaxCompID", StringComparison.CurrentCultureIgnoreCase)) { ETaxCompany obj = new ETaxCompany(); obj.TaxCompID = int.Parse(fieldValue); if (ETaxCompany.db.select(dbConn, obj)) { return(obj.TaxCompEmployerName); } else { return(string.Empty); } } if (tmpfieldName.Equals("TaxEmpID", StringComparison.CurrentCultureIgnoreCase)) { ETaxEmp obj = new ETaxEmp(); obj.TaxEmpID = int.Parse(fieldValue); if (ETaxEmp.db.select(dbConn, obj)) { return(obj.TaxEmpSurname + ", " + obj.TaxEmpOtherName + ", " + GetValueFromID(dbConn, "TaxFormID", obj.TaxFormID.ToString())); } else { return(string.Empty); } } if (tmpfieldName.Equals("TaxFormID", StringComparison.CurrentCultureIgnoreCase)) { ETaxForm obj = new ETaxForm(); obj.TaxFormID = int.Parse(fieldValue); if (ETaxForm.db.select(dbConn, obj)) { return("Tax Year :" + obj.TaxFormYear + ", Form: IR56" + obj.TaxFormType); } else { return(string.Empty); } } if (tmpfieldName.Equals("TaxPayID", StringComparison.CurrentCultureIgnoreCase)) { ETaxPayment obj = new ETaxPayment(); obj.TaxPayID = int.Parse(fieldValue); if (ETaxPayment.db.select(dbConn, obj)) { return(obj.TaxPayCode + " - " + obj.TaxPayDesc); } else { return(string.Empty); } } if (tmpfieldName.Equals("TrainingCourseID", StringComparison.CurrentCultureIgnoreCase)) { ETrainingCourse obj = new ETrainingCourse(); obj.TrainingCourseID = int.Parse(fieldValue); if (ETrainingCourse.db.select(dbConn, obj)) { return(obj.TrainingCourseCode + " - " + obj.TrainingCourseName); } else { return(string.Empty); } } if (tmpfieldName.Equals("TrainingSeminarID", StringComparison.CurrentCultureIgnoreCase)) { ETrainingSeminar obj = new ETrainingSeminar(); obj.TrainingSeminarID = int.Parse(fieldValue); if (ETrainingSeminar.db.select(dbConn, obj)) { return(GetValueFromID(dbConn, "TrainingCourseID", obj.TrainingCourseID.ToString()) + ": " + obj.TrainingSeminarDateFrom.ToString("yyyy-MM-dd") + " to " + obj.TrainingSeminarDateTo.ToString("yyyy-MM-dd")); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("U", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("UserID", StringComparison.CurrentCultureIgnoreCase)) { EUser obj = new EUser(); obj.UserID = int.Parse(fieldValue); if (EUser.db.select(dbConn, obj)) { return(obj.LoginID + " - " + obj.UserName); } else { return(string.Empty); } } if (tmpfieldName.Equals("UserGroupID", StringComparison.CurrentCultureIgnoreCase)) { EUserGroup obj = new EUserGroup(); obj.UserGroupID = int.Parse(fieldValue); if (EUserGroup.db.select(dbConn, obj)) { return(obj.UserGroupName + " - " + obj.UserGroupDesc); } else { return(string.Empty); } } } else if (tmpfieldName.StartsWith("Y", StringComparison.CurrentCultureIgnoreCase)) { if (tmpfieldName.Equals("YebPlanID", StringComparison.CurrentCultureIgnoreCase)) { EYEBPlan obj = new EYEBPlan(); obj.YEBPlanID = int.Parse(fieldValue); if (EYEBPlan.db.select(dbConn, obj)) { return(obj.YEBPlanCode + " - " + obj.YEBPlanDesc); } else { return(string.Empty); } } } if (tmpfieldName.EndsWith("ID") && !tmpfieldName.EndsWith("HKID") && !tmpfieldName.EndsWith("LoginID") && !tmpfieldName.EndsWith("CurrencyID") && !tmpfieldName.EndsWith("LeaveAppID") && !tmpfieldName.EndsWith("EmpPaymentID") && !tmpfieldName.EndsWith("PayBatchID") && !tmpfieldName.EndsWith("PayRecID") && !tmpfieldName.EndsWith("RosterTableID") && !tmpfieldName.EndsWith("SynID") && !tmpfieldName.EndsWith("CNDImportBatchID")) { if (ESystemParameter.getParameter(dbConn, "DebugMode").Equals("Y")) { throw new Exception("ID field not define:" + fieldName); } } return(string.Empty); } catch (Exception ex) { if (ESystemParameter.getParameter(dbConn, "DebugMode").Equals("Y")) { throw ex; } else { return(string.Empty); } } }
public AnnualLeaveBalanceProcess(DatabaseConnection dbConn, int EmpID) : base(dbConn, EmpID, 0) { EntitlePeriodUnit = "Y"; m_LeaveTypeID = ELeaveType.ANNUAL_LEAVE_TYPE(dbConn).LeaveTypeID; }
protected bool loadObject() { obj = new ELeaveApplication(); bool isNew = WebFormWorkers.loadKeys(db, obj, DecryptedRequest); DBFilter filter = new DBFilter(); filter.add(new Match("EmpID", CurEmpID)); filter.add(WebUtils.AddRankFilter(Session, "EmpID", true)); if (EEmpPersonalInfo.db.count(dbConn, filter) == 0) { if (CurEmpID <= 0) { return(false); } else { HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx"); } } if (!db.select(dbConn, obj)) { if (CurID <= 0) { return(false); } else { HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx"); } } if (obj.EmpID != CurEmpID) { if (CurID <= 0) { return(false); } else { HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx"); } } Hashtable values = new Hashtable(); db.populate(obj, values); //int empPayrollID = int.Parse((string)values["EmpPayrollID"]); if (obj.EmpPayrollID > 0) { EEmpPayroll empPayroll = new EEmpPayroll(); empPayroll.EmpPayrollID = obj.EmpPayrollID; if (EEmpPayroll.db.select(dbConn, empPayroll)) { values.Add("PayPeriodID", empPayroll.PayPeriodID.ToString()); } } binding.toControl(values); if (obj.LeaveAppUnit.Equals("D")) { TimeRow.Visible = false; LeaveAppDateToPlaceHolder.Visible = true; } else { TimeRow.Visible = true; LeaveAppDateToPlaceHolder.Visible = false; } if (obj.EmpPaymentID != 0 || obj.EmpPayrollID != 0) { toolBar.EditButton_Visible = false; toolBar.DeleteButton_Visible = false; toolBar.CustomButton1_Visible = true; toolBar.CustomButton2_Visible = true; } else { toolBar.EditButton_Visible = true; toolBar.DeleteButton_Visible = true; toolBar.CustomButton1_Visible = false; toolBar.CustomButton2_Visible = false; } if (obj.LeaveAppCancelID > 0) { toolBar.EditButton_Visible = false; toolBar.DeleteButton_Visible = false; toolBar.CustomButton1_Visible = false; toolBar.CustomButton2_Visible = false; } ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = obj.LeaveCodeID; if (ELeaveCode.db.select(dbConn, leaveCode)) { PayrollProcessPanel.Visible = !leaveCode.LeaveCodeIsSkipPayrollProcess; LeaveCodeIsShowMedicalCertOptionPanel.Visible = leaveCode.LeaveCodeIsShowMedicalCertOption; //if (!leaveCode.LeaveCodeIsSkipPayrollProcess) //{ // ELeaveApplication leaveApp = new ELeaveApplication(); // leaveApp.LeaveAppID = CurID; // if (ELeaveApplication.db.select(dbConn, leaveApp)) // { // ELeaveCode prevLeaveCode = new ELeaveCode(); // prevLeaveCode.LeaveCodeID = leaveApp.LeaveCodeID; // if (ELeaveCode.db.select(dbConn, prevLeaveCode)) // if (prevLeaveCode.LeaveCodeIsSkipPayrollProcess) // LeaveAppNoPayProcess.Checked = false; // } //} if (leaveCode.LeaveTypeID.Equals(ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID)) { HoursClaimPanel.Visible = true; } else { HoursClaimPanel.Visible = false; } } else { HoursClaimPanel.Visible = false; } CurEmpID = obj.EmpID; return(true); }
// Start 000118, Ricky So, 2015-01-15 protected void btnGenerate_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); DateTime m_asOfDate = AppUtils.ServerDateTime().Date; if (!DateTime.TryParse(AsOfDate.Value, out m_asOfDate)) { m_asOfDate = AppUtils.ServerDateTime().Date; } ArrayList EmpIDList = new ArrayList(); DBFilter m_empRosterTableGroupFilter = new DBFilter(); OR m_orEffTo = new OR(); m_orEffTo.add(new Match("EmpRosterTableGroupEffTo", ">=", m_asOfDate)); m_orEffTo.add(new NullTerm("EmpRosterTableGroupEffTo")); m_empRosterTableGroupFilter.add(new Match("EmpID", CurID)); m_empRosterTableGroupFilter.add(new Match("EmpRosterTableGroupEffFr", "<", m_asOfDate)); m_empRosterTableGroupFilter.add(m_orEffTo); m_empRosterTableGroupFilter.add("EmpRosterTableGroupID", true); foreach (EEmpRosterTableGroup m_empRosterTableGroup in EEmpRosterTableGroup.db.select(dbConn, m_empRosterTableGroupFilter)) { if (m_empRosterTableGroup.EmpRosterTableGroupIsSupervisor == true) { DBFilter m_rosterGroupFilter = new DBFilter(); m_rosterGroupFilter.add(new Match("RosterTableGroupID", m_empRosterTableGroup.RosterTableGroupID)); m_rosterGroupFilter.add(new Match("EmpRosterTableGroupEffFr", "<", m_asOfDate)); m_rosterGroupFilter.add(m_orEffTo); m_rosterGroupFilter.add("EmpID", true); foreach (EEmpRosterTableGroup m_groupMemberInfo in EEmpRosterTableGroup.db.select(dbConn, m_rosterGroupFilter)) { if (!EmpIDList.Contains(m_groupMemberInfo.EmpID)) { EmpIDList.Add(m_groupMemberInfo.EmpID); } } } } if (!EmpIDList.Contains(CurID)) { EmpIDList.Add(CurID); } if (EmpIDList.Count > 0) { ArrayList leaveTypeList = new ArrayList(); leaveTypeList.Add(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn)); MonthlyAttendanceReportProcess rpt = new MonthlyAttendanceReportProcess(dbConn, EmpIDList, m_asOfDate.Year, m_asOfDate.Month, Server.MapPath("~/ESS_MonthlyAttendanceReport.xsd")); string reportFileName = WebUtils.GetLocalizedReportFile(Server.MapPath("~/ESS_MonthlyAttendanceReport.rpt")); WebUtils.ReportExport(Response, rpt, reportFileName, "PDF", "AttendanceReport"); } else { errors.addError("No employee can be generated"); } }
protected void Save_Click(object sender, EventArgs e) { ELeaveBalanceAdjustment c = new ELeaveBalanceAdjustment(); Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); // validate if Compensation Leave selected, no Balance Reset is allowed if (c.LeaveTypeID > 0) { ELeaveType m_leaveType = ELeaveType.GetObject(dbConn, c.LeaveTypeID); if (m_leaveType != null) { if (m_leaveType.LeaveType == ELeaveType.LEAVETYPECODE_COMPENSATION && c.LeaveBalAdjType == ELeaveBalanceAdjustment.ADJUST_TYPE_RESET_BALANCE) { errors.addError("Compensation Leave Adjustment does not support Balance Reset"); } } if (!errors.isEmpty()) { return; } } DBFilter filter = new DBFilter(); filter.add(new Match("EmpID", c.EmpID)); filter.add(new Match("LeaveBalAdjID", "<>", c.LeaveBalAdjID)); OR or = new OR(); AND and; and = new AND(); and.add(new Match("LeaveBalAdjDate", "=", c.LeaveBalAdjDate)); and.add(new Match("LeaveTypeID", "=", c.LeaveTypeID)); or.add(and); filter.add(or); if (db.count(dbConn, filter) > 0) { errors.addError(HROne.Translation.PageErrorMessage.ERROR_LEAVE_ADJ_OVERLAP); } if (!errors.isEmpty()) { return; } WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); //LeaveBalanceCalc leaaveBalCal = new LeaveBalanceCalc(dbConn, c.EmpID); if (CurID < 0) { db.insert(dbConn, c); CurID = c.LeaveBalAdjID; //leaaveBalCal.RecalculateAfter(c.LeaveBalAdjDate, c.LeaveTypeID); } else { //ELeaveBalanceAdjustment leaveBalAdjust = new ELeaveBalanceAdjustment(); //leaveBalAdjust.LeaveBalAdjID = CurID; //db.select(dbConn, leaveBalAdjust); db.update(dbConn, c); //leaaveBalCal.RecalculateAfter(leaveBalAdjust.LeaveBalAdjDate < c.LeaveBalAdjDate ? leaveBalAdjust.LeaveBalAdjDate : c.LeaveBalAdjDate); } WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_LeaveBalanceAdjustment_View.aspx?EmpID=" + c.EmpID + "&LeaveBalAdjID=" + CurID); }
protected void Save_Click(object sender, EventArgs e) { ECompensationLeaveEntitle c = new ECompensationLeaveEntitle(); if (string.IsNullOrEmpty(CompensationLeaveEntitleClaimPeriodTo.Value)) { CompensationLeaveEntitleClaimPeriodTo.Value = CompensationLeaveEntitleClaimPeriodFrom.Value; } Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); if (!errors.isEmpty()) { return; } ELeaveType compensationLeaveType = ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn); WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); LeaveBalanceCalc leaaveBalCal = new LeaveBalanceCalc(dbConn, c.EmpID); if (CurID < 0) { // Utils.MarkCreate(Session, c); db.insert(dbConn, c); CurID = c.CompensationLeaveEntitleID; //if (compensationLeaveType != null) // leaaveBalCal.RecalculateAfter(c.CompensationLeaveEntitleEffectiveDate, compensationLeaveType.LeaveTypeID); //else // leaaveBalCal.RecalculateAfter(c.CompensationLeaveEntitleEffectiveDate); // url = Utils.BuildURL(-1, CurID); } else { // Utils.Mark(Session, c); //ECompensationLeaveEntitle leaveBalApp = new ECompensationLeaveEntitle(); //leaveBalApp.CompensationLeaveEntitleID = CurID; //db.select(dbConn, leaveBalApp); db.update(dbConn, c); //if (compensationLeaveType != null) // leaaveBalCal.RecalculateAfter(leaveBalApp.CompensationLeaveEntitleEffectiveDate < c.CompensationLeaveEntitleEffectiveDate ? leaveBalApp.CompensationLeaveEntitleEffectiveDate : c.CompensationLeaveEntitleEffectiveDate, compensationLeaveType.LeaveTypeID); //else // leaaveBalCal.RecalculateAfter(leaveBalApp.CompensationLeaveEntitleEffectiveDate < c.CompensationLeaveEntitleEffectiveDate ? leaveBalApp.CompensationLeaveEntitleEffectiveDate : c.CompensationLeaveEntitleEffectiveDate); } WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_CompensationLeaveEntitle_View.aspx?EmpID=" + c.EmpID + "&CompensationLeaveEntitleID=" + CurID); }