protected void SubmitCompensationLeaveEntitlementList(ArrayList CompensationLeaveEntitlementList) { foreach (ECompensationLeaveEntitle compLeave in CompensationLeaveEntitlementList) { DBFilter previousCompLeaveEntitleFilter = new DBFilter(); previousCompLeaveEntitleFilter.add(new Match("EmpID", compLeave.EmpID)); previousCompLeaveEntitleFilter.add(new Match("CompensationLeaveEntitleEffectiveDate", compLeave.CompensationLeaveEntitleEffectiveDate)); previousCompLeaveEntitleFilter.add(new Match("CompensationLeaveEntitleIsAutoGenerated", true)); ArrayList previousCompLeaveEntitleList = ECompensationLeaveEntitle.db.select(dbConn, previousCompLeaveEntitleFilter); if (previousCompLeaveEntitleList.Count > 0) { if (compLeave.CompensationLeaveEntitleHoursClaim > 0) { ECompensationLeaveEntitle existingLeaveEntitle = ((ECompensationLeaveEntitle)previousCompLeaveEntitleList[0]); if (!existingLeaveEntitle.CompensationLeaveEntitleHoursClaim.Equals(compLeave)) { compLeave.CompensationLeaveEntitleID = existingLeaveEntitle.CompensationLeaveEntitleID; ECompensationLeaveEntitle.db.update(dbConn, compLeave); } } else { foreach (ECompensationLeaveEntitle existingLeaveEntitle in previousCompLeaveEntitleList) { ECompensationLeaveEntitle.db.delete(dbConn, existingLeaveEntitle); } } } else if (compLeave.CompensationLeaveEntitleHoursClaim > 0) { ECompensationLeaveEntitle.db.insert(dbConn, compLeave); } } }
protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { DataRowView row = (DataRowView)e.Item.DataItem; ECompensationLeaveEntitle obj = new ECompensationLeaveEntitle(); ECompensationLeaveEntitle.db.toObject(row.Row, obj); }
protected bool loadObject() { ECompensationLeaveEntitle obj = new ECompensationLeaveEntitle(); 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); binding.toControl(values); CurEmpID = obj.EmpID; return(true); }
protected void Delete_Click(object sender, EventArgs e) { ECompensationLeaveEntitle c = new ECompensationLeaveEntitle(); c.CompensationLeaveEntitleID = CurID; db.select(dbConn, c); WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); db.delete(dbConn, c); WebUtils.EndFunction(dbConn); //HROne.LeaveCalc.LeaveBalanceCalc leaaveBalCal = new HROne.LeaveCalc.LeaveBalanceCalc(dbConn, c.EmpID); //leaaveBalCal.RecalculateAfter(c.CompensationLeaveEntitleEffectiveDate, ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "EmpTab_CompensationLeaveEntitle_View.aspx?EmpID=" + EmpID.Value); }
public DataView loadData(ListInfo info, DBManager db, Repeater repeater) { DBFilter filter = sbinding.createFilter(); filter.add(new Match("EmpID", this.CurID)); filter.add(new Match("CompensationLeaveEntitleIsOTClaim", this.isOTClaim)); //Start 0000210, Miranda, 2015-06-14 //if (info != null && info.orderby != null && !info.orderby.Equals("")) // filter.add(info.orderby, info.order); //End 0000210, Miranda, 2015-06-14 string select = "c.* "; string from = "from [" + sdb.dbclass.tableName + "] c"; DataTable table = filter.loadData(dbConn, info, select, from); view = new DataView(table); ListFooter.Refresh(); if (repeater != null) { repeater.DataSource = view; repeater.DataBind(); } if (CurEntitleID != -1) { DBFilter detailFilter = sbinding.createFilter(); detailFilter.add(new Match("CompensationLeaveEntitleID", this.CurEntitleID)); ArrayList detailList = sdb.select(dbConn, detailFilter); if (detailList.Count > 0) { ECompensationLeaveEntitle detail = (ECompensationLeaveEntitle)detailList[0]; Hashtable values = new Hashtable(); sdb.populate(detail, values); binding.toControl(values); } } return(view); }
int IComparer.Compare(object x, object y) { if (x == null || y == null) { return(0); } ECompensationLeaveEntitle m_X = (ECompensationLeaveEntitle)x; ECompensationLeaveEntitle m_Y = (ECompensationLeaveEntitle)y; if (m_X.CompensationLeaveEntitleEffectiveDate.Equals(m_Y.CompensationLeaveEntitleEffectiveDate)) { if (m_X.CompensationLeaveEntitleDateExpiry.Equals(m_Y.CompensationLeaveEntitleDateExpiry)) { return(m_X.CompensationLeaveEntitleID.CompareTo(m_Y.CompensationLeaveEntitleID)); } return(m_X.CompensationLeaveEntitleDateExpiry.CompareTo(m_Y.CompensationLeaveEntitleDateExpiry)); } return(m_X.CompensationLeaveEntitleEffectiveDate.CompareTo(m_Y.CompensationLeaveEntitleEffectiveDate)); }
public void ImportToDatabase(int UploadEmpID) { DBFilter sessionFilter = new DBFilter(); sessionFilter.add(new Match("SessionID", m_SessionID)); if (UploadEmpID > 0) { sessionFilter.add(new Match("UploadEmpID", UploadEmpID)); } ArrayList uploadList = tempDB.select(dbConn, sessionFilter); foreach (EUploadCompensationLeaveEntitle obj in uploadList) { ECompensationLeaveEntitle compLeaveEntitle = new ECompensationLeaveEntitle(); if (obj.ImportActionStatus != ImportDBObject.ImportActionEnum.INSERT) { compLeaveEntitle.CompensationLeaveEntitleID = obj.CompensationLeaveEntitleID; uploadDB.select(dbConn, compLeaveEntitle); } obj.ExportToObject(compLeaveEntitle); if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.INSERT) { compLeaveEntitle.EmpID = ParseTemp.GetEmpIDFromUploadEmpID(dbConn, obj.UploadEmpID); uploadDB.insert(dbConn, compLeaveEntitle); } else if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.UPDATE) { uploadDB.update(dbConn, compLeaveEntitle); } tempDB.delete(dbConn, obj); } }
protected void GenerateCompensationLeaveEntitlement(ArrayList empInfoList, DateTime PeriodFrom, DateTime PeriodTo) { foreach (EEmpPersonalInfo empInfo in empInfoList) { ArrayList compensationLeaveEntitleList = new ArrayList(); DBFilter attendanceRecordFilter = new DBFilter(); attendanceRecordFilter.add(new Match("EmpID", empInfo.EmpID)); attendanceRecordFilter.add(new Match("AttendanceRecordDate", "<=", PeriodTo)); attendanceRecordFilter.add(new Match("AttendanceRecordDate", ">=", PeriodFrom)); //attendanceRecordFilter.add(new Match("AttendanceRecordActualOvertimeMins", ">", 0)); attendanceRecordFilter.add("AttendanceRecordDate", true); ArrayList attendanceRecordList = EAttendanceRecord.db.select(dbConn, attendanceRecordFilter); EEmpPositionInfo currentEmpPosInfo = null; EAttendancePlan currentAttendancePlan = null; foreach (EAttendanceRecord attendanceRecord in attendanceRecordList) { if (currentEmpPosInfo != null) { if (currentEmpPosInfo.EmpPosEffFr <= attendanceRecord.AttendanceRecordDate && (currentEmpPosInfo.EmpPosEffTo >= attendanceRecord.AttendanceRecordDate || currentEmpPosInfo.EmpPosEffTo.Ticks.Equals(0))) { currentEmpPosInfo = null; currentAttendancePlan = null; } } if (currentEmpPosInfo == null) { currentEmpPosInfo = AppUtils.GetLastPositionInfo(dbConn, attendanceRecord.AttendanceRecordDate, empInfo.EmpID); EAttendancePlan attendancePlan = new EAttendancePlan(); attendancePlan.AttendancePlanID = currentEmpPosInfo.AttendancePlanID; if (EAttendancePlan.db.select(dbConn, attendancePlan)) { currentAttendancePlan = attendancePlan; } } if (currentAttendancePlan != null) { if (currentAttendancePlan.AttendancePlanOTGainAsCompensationLeaveEntitle && currentAttendancePlan.AttendancePlanOTMinsUnit > 0) { int actualMins = AppUtils.ApplyRoundingRule(attendanceRecord.AttendanceRecordActualOvertimeMins, currentAttendancePlan.AttendancePlanOTMinsRoundingRule, currentAttendancePlan.AttendancePlanOTMinsUnit); ECompensationLeaveEntitle compLeaveEntitle = new ECompensationLeaveEntitle(); compLeaveEntitle.EmpID = empInfo.EmpID; compLeaveEntitle.CompensationLeaveEntitleEffectiveDate = attendanceRecord.AttendanceRecordDate; compLeaveEntitle.CompensationLeaveEntitleClaimPeriodFrom = attendanceRecord.AttendanceRecordDate; compLeaveEntitle.CompensationLeaveEntitleClaimPeriodTo = attendanceRecord.AttendanceRecordDate; compLeaveEntitle.CompensationLeaveEntitleHoursClaim = actualMins / 60.0; compLeaveEntitle.CompensationLeaveEntitleIsAutoGenerated = true; compensationLeaveEntitleList.Add(compLeaveEntitle); } } } SubmitCompensationLeaveEntitlementList(compensationLeaveEntitleList); //HROne.LeaveCalc.LeaveBalanceCalc leaaveBalCal = new HROne.LeaveCalc.LeaveBalanceCalc(dbConn, empInfo.EmpID); //leaaveBalCal.RecalculateAfter(PeriodFrom , ELeaveType.COMPENSATION_LEAVE_TYPE(dbConn).LeaveTypeID); } }
public DataTable UploadToTempDatabase(DataTable rawDataTable, int UserID) { if (rawDataTable == null) { return(GetImportDataFromTempDatabase(null)); } int rowCount = 1; foreach (DataRow row in rawDataTable.Rows) { rowCount++; EUploadCompensationLeaveEntitle uploadCompensationLeaveEntitle = new EUploadCompensationLeaveEntitle(); //EEmpAVCPlan lastEmpAVC = null; //ArrayList uploadHierarchyList = new ArrayList(); string EmpNo = row[FIELD_EMP_NO].ToString().Trim(); uploadCompensationLeaveEntitle.EmpID = Parse.GetEmpID(dbConn, EmpNo, UserID); if (uploadCompensationLeaveEntitle.EmpID < 0) { errors.addError(ImportErrorMessage.ERROR_ACCESS_DENIED_EMP_NO, new string[] { EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleEffectiveDate = Parse.toDateTimeObject(row[FIELD_EFFECTIVE_DATE]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_EFFECTIVE_DATE + "=" + row[FIELD_EFFECTIVE_DATE].ToString(), EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleClaimPeriodFrom = Parse.toDateTimeObject(row[FIELD_CLAIM_PERIOD_FROM]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_CLAIM_PERIOD_FROM + "=" + row[FIELD_CLAIM_PERIOD_FROM].ToString(), EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleClaimPeriodTo = Parse.toDateTimeObject(row[FIELD_CLAIM_PERIOD_TO]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_CLAIM_PERIOD_TO + "=" + row[FIELD_CLAIM_PERIOD_TO].ToString(), EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleClaimHourFrom = Parse.toDateTimeObject(row[FIELD_CLAIM_TIME_FROM]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_CLAIM_TIME_FROM + "=" + row[FIELD_CLAIM_TIME_FROM].ToString(), EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleClaimHourTo = Parse.toDateTimeObject(row[FIELD_CLAIM_TIME_TO]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_CLAIM_TIME_TO + "=" + row[FIELD_CLAIM_TIME_TO].ToString(), EmpNo, rowCount.ToString() }); } double adjustValue; if (double.TryParse(row[FIELD_HOUR_CLAIM].ToString(), out adjustValue)) { uploadCompensationLeaveEntitle.CompensationLeaveEntitleHoursClaim = adjustValue; } else { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_HOUR_CLAIM + "=" + row[FIELD_HOUR_CLAIM].ToString(), EmpNo, rowCount.ToString() }); } try { uploadCompensationLeaveEntitle.CompensationLeaveEntitleDateExpiry = Parse.toDateTimeObject(row[FIELD_EXPIRY_DATE]); } catch (Exception) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_EXPIRY_DATE + "=" + row[FIELD_EXPIRY_DATE].ToString(), EmpNo, rowCount.ToString() }); } uploadCompensationLeaveEntitle.CompensationLeaveEntitleApprovedBy = row[FIELD_APPROVED_BY].ToString(); uploadCompensationLeaveEntitle.CompensationLeaveEntitleRemark = row[FIELD_REMARK].ToString(); uploadCompensationLeaveEntitle.SessionID = m_SessionID; uploadCompensationLeaveEntitle.TransactionDate = UploadDateTime; if (uploadCompensationLeaveEntitle.EmpID != 0 && errors.List.Count <= 0) { if (rawDataTable.Columns.Contains(FIELD_SYNC_ID)) { if (!row.IsNull(FIELD_SYNC_ID)) { string strSynID = row[FIELD_SYNC_ID].ToString(); uploadCompensationLeaveEntitle.SynID = strSynID; if (!string.IsNullOrEmpty(strSynID)) { DBFilter synIDFilter = new DBFilter(); synIDFilter.add(new Match("SynID", strSynID)); ArrayList objSameSynIDList = ELeaveApplication.db.select(dbConn, synIDFilter); if (objSameSynIDList.Count > 0) { uploadCompensationLeaveEntitle.CompensationLeaveEntitleID = ((ECompensationLeaveEntitle)objSameSynIDList[0]).CompensationLeaveEntitleID; } } } } if (uploadCompensationLeaveEntitle.CompensationLeaveEntitleID == 0) { AND andTerm = new AND(); andTerm.add(new Match("CompensationLeaveEntitleEffectiveDate", "=", uploadCompensationLeaveEntitle.CompensationLeaveEntitleEffectiveDate)); ECompensationLeaveEntitle lastObject = (ECompensationLeaveEntitle)AppUtils.GetLastObj(dbConn, uploadDB, "CompensationLeaveEntitleEffectiveDate", uploadCompensationLeaveEntitle.EmpID, andTerm); if (lastObject != null) { uploadCompensationLeaveEntitle.CompensationLeaveEntitleID = lastObject.CompensationLeaveEntitleID; } } } if (uploadCompensationLeaveEntitle.CompensationLeaveEntitleID <= 0) { uploadCompensationLeaveEntitle.ImportActionStatus = ImportDBObject.ImportActionEnum.INSERT; } else { uploadCompensationLeaveEntitle.ImportActionStatus = ImportDBObject.ImportActionEnum.UPDATE; } uploadCompensationLeaveEntitle.UploadEmpID = ParseTemp.GetUploadEmpID(dbConn, EmpNo, m_SessionID); if (uploadCompensationLeaveEntitle.UploadEmpID == 0) { if (uploadCompensationLeaveEntitle.EmpID == 0) { errors.addError(ImportErrorMessage.ERROR_INVALID_EMP_NO, new string[] { EmpNo, rowCount.ToString() }); } else { uploadCompensationLeaveEntitle.UploadEmpID = ImportEmpPersonalInfoProcess.CreateDummyUploadEmployeeInfo(dbConn, uploadCompensationLeaveEntitle.EmpID, m_SessionID, UploadDateTime); } } Hashtable values = new Hashtable(); tempDB.populate(uploadCompensationLeaveEntitle, values); PageErrors pageErrors = new PageErrors(tempDB); tempDB.validate(pageErrors, values); if (pageErrors.errors.Count == 0) { tempDB.insert(dbConn, uploadCompensationLeaveEntitle); } else { pageErrors.addError(rawDataTable.TableName); throw new HRImportException(pageErrors.getPrompt() + "(line " + rowCount.ToString() + ")"); //if (EmpID == 0) // errors.addError(ImportErrorMessage.ERROR_INVALID_EMP_NO, new string[] { EmpNo, rowCount.ToString() }); //else if (PayCodeID == 0) // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_PAYMENT_CODE + "=" + PaymentCode, EmpNo, rowCount.ToString() }); //else if (PayCodeID == 0) // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_PAYMENT_CODE + "=" + PaymentCode, EmpNo, rowCount.ToString() }); //else if (EffDate.Ticks == 0) // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_EFFECTIVE_DATE + "=" + EffDateString, EmpNo, rowCount.ToString() }); //else if (double.TryParse(amountString, out amount)) // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_AMOUNT + "=" + amountString, EmpNo, rowCount.ToString() }); } } if (errors.List.Count > 0) { ClearTempTable(); throw (new HRImportException(rawDataTable.TableName + "\r\n" + errors.Message())); } return(GetImportDataFromTempDatabase(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); }