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 void ReCalc_Click(object sender, EventArgs e) { LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, CurID); calc.Recalculate(); view = loadData(sdb, Repeater); }
public DataView loadData(DBManager db, Repeater repeater) { DateTime dtAsOfDate = AsOfDate; LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, EmpID, dtAsOfDate); ArrayList balanceItems = calc.getCurrentBalanceList(true); if (repeater != null) { repeater.DataSource = balanceItems; repeater.DataBind(); } return(view); }
// Start 0000005, Miranda, 2014-03-26 protected void ReCalc_Click(object sender, EventArgs e) { int empID; DBFilter empPosFilter = new DBFilter(); empPosFilter.add(new Match("LeavePlanID", CurID)); empPosFilter.add(new NullTerm("EmpPosEffTo")); // Start 000158, Ricky So, 2015-01-19 //ArrayList empPosList = EEmpPositionInfo.db.select(dbConn, empPosFilter); //if (empPosList.Count > 0) //{ // foreach (EEmpPositionInfo empPos in empPosList) // { // empID = empPos.EmpID; // LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, empID); // calc.Recalculate(); // } //} empPosFilter.add(new MatchField("pos.EmpID", "personal.EmpID")); empPosFilter.add(new Match("personal.EmpStatus", "A")); string select = "pos.EmpID"; string from = "from [EmpPositionInfo] pos, [EmpPersonalInfo] personal ";//LEFT JOIN " + EEmpPositionInfo.db.dbclass.tableName + " p ON c.EmpID=p.EmpID AND p.EmpPosEffTo IS NULL"; DataTable table = empPosFilter.loadData(dbConn, null, select, from); foreach (DataRow m_row in table.Rows) { LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, (int)m_row[0]); calc.Recalculate(); } // End 000158, Ricky So, 2015-01-19 PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); errors.addError(table.Rows.Count.ToString() + " employee(s) leave balances recalculated!"); }
public DataView loadData(DBManager db, Repeater repeater) { DateTime asOfDate = new DateTime(); if (!DateTime.TryParseExact(AsOfDate.Value, "yyyy-MM-dd", null, System.Globalization.DateTimeStyles.None, out asOfDate)) { asOfDate = AppUtils.ServerDateTime().Date; AsOfDate.Value = asOfDate.ToString("yyyy-MM-dd"); } LeaveBalanceCalc calc = new LeaveBalanceCalc(dbConn, CurID, asOfDate); ArrayList balanceItems = calc.getCurrentBalanceList(); if (repeater != null) { repeater.DataSource = balanceItems; repeater.DataBind(); } return(view); }
public override ReportDocument GenerateReport() { if (values.Count > 0) { 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; } } DataSet.EmployeeDetail ds = new DataSet.EmployeeDetail(); foreach (int EmpID in values) { EmployeeDetailProcess.ImportEmployeeDetailRow(dbConn, ds.employeedetail, EmpID, AsOfDate); //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) { foreach (ELeaveType leaveType in LeaveTypeList) { if (leaveType.LeaveTypeID.Equals(b.LeaveTypeID)) { 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_LeaveBalance(); } else { } reportDocument.SetDataSource(ds); reportDocument.SetParameterValue("AsOfDate", AsOfDate); reportDocument.SetParameterValue("HierarchyLevel1", HierarchyLevel1); reportDocument.SetParameterValue("HierarchyLevel2", HierarchyLevel2); return(reportDocument); } else { return(null); } }
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); } }
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); }