protected void Delete_Click(object sender, EventArgs e) { ArrayList list = new ArrayList(); foreach (RepeaterItem i in Repeater.Items) { CheckBox cb = (CheckBox)i.FindControl("ItemSelect"); if (cb.Checked) { EEmpORSOPlan o = new EEmpORSOPlan(); WebFormUtils.GetKeys(sdb, o, cb); list.Add(o); } } if (list.Count > 0) { WebUtils.StartFunction(Session, FUNCTION_CODE, CurID); foreach (BaseObject o in list) { if (sdb.select(dbConn, o)) { sdb.delete(dbConn, o); } } WebUtils.EndFunction(dbConn); } loadData(info, sdb, Repeater); }
protected void Delete_Click(object sender, EventArgs e) { EEmpORSOPlan c = new EEmpORSOPlan(); c.EmpORSOID = CurID; db.select(dbConn, c); WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); db.delete(dbConn, c); WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "EmpTab_Pension_View.aspx?EmpID=" + EmpID.Value); }
protected bool loadObject() { obj = new EEmpORSOPlan(); 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); return(true); }
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 uploadEmpORSOList = tempDB.select(dbConn, sessionFilter); foreach (EUploadEmpORSOPlan obj in uploadEmpORSOList) { EEmpORSOPlan empORSOPlan = new EEmpORSOPlan(); if (obj.ImportActionStatus != ImportDBObject.ImportActionEnum.INSERT) { empORSOPlan.EmpORSOID = obj.EmpORSOID; uploadDB.select(dbConn, empORSOPlan); } obj.ExportToObject(empORSOPlan); if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.INSERT) { empORSOPlan.EmpID = ParseTemp.GetEmpIDFromUploadEmpID(dbConn, obj.UploadEmpID); DBFilter emplastPosFilter = new DBFilter(); EEmpORSOPlan lastObj = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", empORSOPlan.EmpID, new Match("EmpORSOEffFr", "<", empORSOPlan.EmpORSOEffFr)); if (lastObj != null) { if (lastObj.EmpORSOEffTo.Ticks == 0) { lastObj.EmpORSOEffTo = empORSOPlan.EmpORSOEffFr.AddDays(-1); uploadDB.update(dbConn, lastObj); } } uploadDB.insert(dbConn, empORSOPlan); } else if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.UPDATE) { uploadDB.update(dbConn, empORSOPlan); } tempDB.delete(dbConn, obj); } }
public static ArrayList ORSOTrialRun(DatabaseConnection dbConn, int EmpID, EPayrollPeriod payrollPeriod, ArrayList paymentRecords, EMPFRecord mpfRecord) { ArrayList orsoRecords = new ArrayList(); DBFilter dbFilter = new DBFilter(); dbFilter.add(new Match("EmpID", EmpID)); dbFilter.add(new Match("EmpORSOEffFr", "<=", payrollPeriod.PayPeriodTo)); dbFilter.add("EmpORSOEffFr", true); ArrayList oEmpORSOs = EEmpORSOPlan.db.select(dbConn, dbFilter); if (oEmpORSOs.Count > 0) { EEmpORSOPlan oEmpORSO = (EEmpORSOPlan)oEmpORSOs[0]; DateTime ORSOJoinDate = oEmpORSO.EmpORSOEffFr; if (ORSOJoinDate <= payrollPeriod.PayPeriodTo && ORSOJoinDate >= payrollPeriod.PayPeriodFr) { ArrayList newJoinORSORecords = CreateNewJoinORSORecords(dbConn, EmpID, oEmpORSO.EmpORSOEffFr, ORSOJoinDate); if (newJoinORSORecords != null) { orsoRecords.AddRange(newJoinORSORecords); } orsoRecords.Add(CreateORSORecord(dbConn, EmpID, payrollPeriod, paymentRecords, oEmpORSO.EmpORSOEffFr, ORSOJoinType.NewJoin, mpfRecord)); } else if (ORSOJoinDate < payrollPeriod.PayPeriodFr) { orsoRecords.Add(CreateORSORecord(dbConn, EmpID, payrollPeriod, paymentRecords, oEmpORSO.EmpORSOEffFr, ORSOJoinType.Existing, mpfRecord)); } else if (payrollPeriod.PayPeriodTo < ORSOJoinDate) { } else { } } return(orsoRecords); }
protected void Save_Click(object sender, EventArgs e) { EEmpORSOPlan c = new EEmpORSOPlan(); 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 (c.EmpORSOEffTo.Ticks > 0 && c.EmpORSOEffTo < c.EmpORSOEffFr) { errors.addError("EmpORSOEffTo", HROne.Translation.PageErrorMessage.ERROR_DATE_TO_TOO_EARLY); return; } AND andTerms = new AND(); andTerms.add(new Match("EmpORSOID", "<>", c.EmpORSOID)); andTerms.add(new Match("EmpORSOEffFr", "<=", c.EmpORSOEffFr)); EEmpORSOPlan lastObj = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, db, "EmpORSOEffFr", c.EmpID, andTerms); if (lastObj != null && (c.EmpORSOEffFr <= lastObj.EmpORSOEffTo || c.EmpORSOEffFr == lastObj.EmpORSOEffFr)) { errors.addError("EmpORSOEffFr", HROne.Translation.PageErrorMessage.ERROR_DATE_FROM_OVERLAP); return; } WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); if (CurID < 0) { // Utils.MarkCreate(Session, c); db.insert(dbConn, c); CurID = c.EmpORSOID; // url = Utils.BuildURL(-1, CurID); } else { // Utils.Mark(Session, c); db.update(dbConn, c); } if (lastObj != null) { if (lastObj.EmpORSOEffTo < lastObj.EmpORSOEffFr) { lastObj.EmpORSOEffTo = c.EmpORSOEffFr.AddDays(-1); db.update(dbConn, lastObj); } } WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_ORSOPlan_View.aspx?EmpORSOID=" + CurID + "&EmpID=" + c.EmpID); }
public DataTable UploadToTempDatabase(DataTable rawDataTable, int UserID) { if (rawDataTable == null) { return(GetImportDataFromTempDatabase(null)); } int rowCount = 1; foreach (DataRow row in rawDataTable.Rows) { rowCount++; EUploadEmpORSOPlan uploadEmpORSO = new EUploadEmpORSOPlan(); EEmpORSOPlan lastEmpORSO = null; ArrayList uploadHierarchyList = new ArrayList(); string EmpNo = row[FIELD_EMP_NO].ToString().Trim(); uploadEmpORSO.EmpID = Parse.GetEmpID(dbConn, EmpNo, UserID); if (uploadEmpORSO.EmpID < 0) { errors.addError(ImportErrorMessage.ERROR_ACCESS_DENIED_EMP_NO, new string[] { EmpNo, rowCount.ToString() }); } try { uploadEmpORSO.EmpORSOEffFr = Parse.toDateTimeObject(row[FIELD_FROM]); } catch { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_FROM + "=" + row[FIELD_FROM].ToString(), EmpNo, rowCount.ToString() }); } try { uploadEmpORSO.EmpORSOEffTo = Parse.toDateTimeObject(row[FIELD_TO]); } catch { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_TO + "=" + row[FIELD_TO].ToString(), EmpNo, rowCount.ToString() }); } uploadEmpORSO.ORSOPlanID = Parse.GetORSOPlanID(dbConn, row[FIELD_ORSOPLAN].ToString(), false, UserID); if (uploadEmpORSO.ORSOPlanID == 0) { errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_ORSOPLAN + "=" + row[FIELD_ORSOPLAN].ToString(), EmpNo, rowCount.ToString() }); } uploadEmpORSO.SessionID = m_SessionID; uploadEmpORSO.TransactionDate = UploadDateTime; if (uploadEmpORSO.EmpID != 0 && errors.List.Count <= 0) { //if (rawDataTable.Columns.Contains(FIELD_INTERNAL_ID)) //{ // try // { // if (!row.IsNull(FIELD_INTERNAL_ID)) // { // int tmpID = FromHexDecWithCheckDigit((string)row[FIELD_INTERNAL_ID]); // EEmpORSOPlan tmpObj = new EEmpORSOPlan(); // tmpObj.EmpORSOID = tmpID; // if (EEmpORSOPlan.db.select(dbConn, tmpObj)) // uploadEmpORSO.EmpORSOID = tmpID; // else // { // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_INTERNAL_ID + "=" + row[FIELD_INTERNAL_ID].ToString(), EmpNo, rowCount.ToString() }); // continue; // } // } // } // catch (Exception ex) // { // errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_INTERNAL_ID + "=" + row[FIELD_INTERNAL_ID].ToString(), EmpNo, rowCount.ToString() }); // continue; // } //} if (rawDataTable.Columns.Contains(FIELD_SYNC_ID)) { if (!row.IsNull(FIELD_SYNC_ID)) { string strSynID = row[FIELD_SYNC_ID].ToString(); uploadEmpORSO.SynID = strSynID; if (!string.IsNullOrEmpty(strSynID)) { DBFilter synIDFilter = new DBFilter(); synIDFilter.add(new Match("SynID", strSynID)); ArrayList objSameSynIDList = EEmpORSOPlan.db.select(dbConn, synIDFilter); if (objSameSynIDList.Count > 0) { uploadEmpORSO.EmpORSOID = ((EEmpORSOPlan)objSameSynIDList[0]).EmpORSOID; } } } } if (uploadEmpORSO.EmpORSOID == 0) { lastEmpORSO = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", uploadEmpORSO.EmpID, new Match("EmpORSOEffFr", "<=", uploadEmpORSO.EmpORSOEffFr)); if (lastEmpORSO != null) { if (uploadEmpORSO.ORSOPlanID == lastEmpORSO.ORSOPlanID && uploadEmpORSO.EmpORSOEffTo == lastEmpORSO.EmpORSOEffTo) { continue; } else { // add postion terms with new ID if (lastEmpORSO.EmpORSOEffFr.Equals(uploadEmpORSO.EmpORSOEffFr)) { uploadEmpORSO.EmpORSOID = lastEmpORSO.EmpORSOID; if (uploadEmpORSO.EmpORSOEffTo.Ticks == 0 && lastEmpORSO.EmpORSOEffTo.Ticks != 0) { EEmpORSOPlan afterEmpORSO = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", uploadEmpORSO.EmpID, new Match("EmpORSOEffFr", ">", lastEmpORSO.EmpORSOEffTo)); if (afterEmpORSO != null) { uploadEmpORSO.EmpORSOEffTo = afterEmpORSO.EmpORSOEffFr.AddDays(-1); } } } else { AND lastObjAndTerms = new AND(); lastObjAndTerms.add(new Match("EmpORSOEffFr", ">", uploadEmpORSO.EmpORSOEffFr)); if (!uploadEmpORSO.EmpORSOEffTo.Ticks.Equals(0)) { lastObjAndTerms.add(new Match("EmpORSOEffFr", "<=", uploadEmpORSO.EmpORSOEffTo)); } EEmpORSOPlan lastObj = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", uploadEmpORSO.EmpID, lastObjAndTerms); if (lastObj != null) { if (!lastObj.EmpORSOEffTo.Ticks.Equals(0)) { errors.addError(ImportErrorMessage.ERROR_DATE_FROM_OVERLAP, new string[] { uploadEmpORSO.EmpORSOEffFr.ToString("yyyy-MM-dd"), rowCount.ToString() }); continue; } } } } } } } if (uploadEmpORSO.EmpORSOID <= 0) { uploadEmpORSO.ImportActionStatus = ImportDBObject.ImportActionEnum.INSERT; } else { uploadEmpORSO.ImportActionStatus = ImportDBObject.ImportActionEnum.UPDATE; } uploadEmpORSO.UploadEmpID = ParseTemp.GetUploadEmpID(dbConn, EmpNo, m_SessionID); if (uploadEmpORSO.UploadEmpID == 0) { if (uploadEmpORSO.EmpID == 0) { errors.addError(ImportErrorMessage.ERROR_INVALID_EMP_NO, new string[] { EmpNo, rowCount.ToString() }); } else { uploadEmpORSO.UploadEmpID = ImportEmpPersonalInfoProcess.CreateDummyUploadEmployeeInfo(dbConn, uploadEmpORSO.EmpID, m_SessionID, UploadDateTime); } } Hashtable values = new Hashtable(); tempDB.populate(uploadEmpORSO, values); PageErrors pageErrors = new PageErrors(EUploadEmpPersonalInfo.db); tempDB.validate(pageErrors, values); if (pageErrors.errors.Count == 0) { tempDB.insert(dbConn, uploadEmpORSO); } 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)); }