//Start 0000173, Miranda, 2015-04-26 protected void Jump_Click(object sender, EventArgs e) { DBFilter dbFilter = new DBFilter(); OR orEmpNo = new OR(); orEmpNo.add(new Match("EmpNo", EmpNo.Text)); DBFieldTranscoder transcoder = EEmpPersonalInfo.db.getField("EmpNo").transcoder; if (transcoder != null) { orEmpNo.add(new Match("EmpNo", transcoder.toDB(EmpNo.Text))); } dbFilter.add(orEmpNo); ArrayList list = EEmpPersonalInfo.db.select(dbConn, dbFilter); if (list.Count > 0) { HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/Emp_View.aspx?EmpID=" + ((EEmpPersonalInfo)list[0]).EmpID); } //Start 0000173, Miranda, 2015-06-03 else { PageErrors errors = PageErrors.getErrors(EEmpPositionInfo.db, this.Master); errors.addError("Employee Not Found"); } //End 0000173, Miranda, 2015-06-03 }
public DBField(DBFieldAttribute dbFieldattribute, PropertyInfo propInfo) { this.dbFieldattribute = dbFieldattribute; this.propInfo = propInfo; if (propInfo.PropertyType == typeof(DateTime) && string.IsNullOrEmpty(dbFieldattribute.format)) { // Set default DateTime format to "yyyy-MM-dd" dbFieldattribute.format = "yyyy-MM-dd"; } this.validationAttributeList = new List <ValidationAttribute>(); bool hasDataTypeValidationAttribute = false; foreach (Attribute a in propInfo.GetCustomAttributes(false)) { if (a is DBFieldTranscoder) { if (m_transcoder == null) { m_transcoder = (DBFieldTranscoder)a; } else { throw new Exception("Only 1 transcoder attribute is allowed"); } } if (a is RequiredAttribute) { m_required = true; } if (a is ValidationAttribute) { validationAttributeList.Add((ValidationAttribute)a); if (a is DoubleAttribute && propInfo.PropertyType == typeof(double)) { hasDataTypeValidationAttribute = true; } if (a is IntAttribute && propInfo.PropertyType == typeof(int)) { hasDataTypeValidationAttribute = true; } } } if (!hasDataTypeValidationAttribute) { if (propInfo.PropertyType == typeof(double)) { validationAttributeList.Add(new DoubleAttribute()); } else if (propInfo.PropertyType == typeof(int)) { validationAttributeList.Add(new IntAttribute()); } } }
public DataView loadData(ListInfo info, DBManager db, DataList repeater) { //DBFilter filter = sbinding.createFilter(); DBFilter filter = new DBFilter(); OR m_OR = new OR(); DateTime m_asAtDate = new DateTime(); if (DateTime.TryParse(AsAtDate.TextBox.Text, out m_asAtDate)) { filter.add(new Match("EffectiveDate", "<=", m_asAtDate)); m_OR.add(new Match("ExpiryDate", ">=", m_asAtDate)); m_OR.add(new NullTerm("ExpiryDate")); filter.add(m_OR); } if (SchemeSelect.SelectedIndex > 0) { DBFieldTranscoder idTranscoder = EPayScale.db.getField("SchemeCode").transcoder; if (idTranscoder != null) { filter.add(new Match("SchemeCode", AppUtils.Encode(EPayScaleMap.db.getField("SchemeCode"), SchemeSelect.SelectedValue.ToString()))); } } if (info != null && info.orderby != null && !info.orderby.Equals("")) { //filter.add(info.orderby, info.order); } else { info.orderby = "SchemeCode, Point"; info.order = false; } string select = "*"; string from = "from PayscaleMap "; DataTable table = WebUtils.GetDataTableFromSelectQueryWithFilter(dbConn, select, from, filter, info); view = new DataView(table); if (repeater != null) { repeater.DataSource = view; repeater.DataBind(); } return(view); }
protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { DataRowView row = (DataRowView)e.Item.DataItem; CheckBox cb = (CheckBox)e.Item.FindControl("ItemSelect"); WebFormUtils.LoadKeys(db, row, cb); cb.Checked = true; Label paymentCodeLabel = (Label)e.Item.FindControl("empRPPaymentCode"); if (paymentCodeLabel != null) { if (row["PaymentCode"] != null && (string)row["PaymentCode"] != "") { DBFieldTranscoder transcoder = EPaymentCode.db.getField("PaymentCode").transcoder; paymentCodeLabel.Text = (string)transcoder.fromDB(row["PaymentCode"]);// (string)row["PaymentCode"]; } } }
protected void btnUpload_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); // m_list determine if generation of Recurring Payment is necessary ArrayList m_list = EPayScaleMap.db.select(dbConn, new DBFilter()); if (BatchFile.HasFile) { string strTmpFolder = HROne.Common.Folder.GetOrCreateSessionTempFolder(Session.SessionID).FullName;; //Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); string strTmpFile = System.IO.Path.Combine(strTmpFolder, AppUtils.ServerDateTime().ToString("~yyyyMMddHHmmss_") + BatchFile.FileName); BatchFile.SaveAs(strTmpFile); ArrayList pendingList = new ArrayList(); try { DataTable rawDataTable = HROne.Import.ExcelImport.parse(strTmpFile, string.Empty).Tables[TABLE_NAME]; if (rawDataTable.Columns.Contains("Effective Date") && rawDataTable.Columns.Contains("Expiry Date") && rawDataTable.Columns.Contains("Scheme Code") && rawDataTable.Columns.Contains("Point") && rawDataTable.Columns.Contains("Salary")) { int row_count = 0; Decimal m_point; DateTime m_date; Decimal m_salary; int id; foreach (DataRow row in rawDataTable.Rows) { row_count++; EPayScaleMap c = new EPayScaleMap(); if (!row.IsNull("Effective Date") && DateTime.TryParse(((String)row["Effective Date"]), out m_date)) { c.EffectiveDate = m_date; } else { errors.addError("Missing Effective Date in row " + row_count.ToString()); if (!errors.isEmpty()) { return; } } if (!row.IsNull("Expiry Date") && DateTime.TryParse(((String)row["Expiry Date"]), out m_date)) { c.ExpiryDate = m_date; } if (!row.IsNull("Scheme Code") && row["Scheme Code"].ToString().Trim() != "") { c.SchemeCode = row["Scheme Code"].ToString().Trim(); } else { errors.addError("Missing Scheme Code in row " + row_count.ToString()); if (errors.errors.Count > 10) { return; } } if (!row.IsNull("Point") && Decimal.TryParse(((String)row["Point"]), out m_point)) { c.Point = m_point; } else { errors.addError("Missing Point in row " + row_count.ToString()); if (errors.errors.Count > 10) { return; } } if (!row.IsNull("Salary") && Decimal.TryParse(((String)row["Salary"]), out m_salary)) { c.Salary = m_salary; } else { errors.addError("Missing Salary in row " + row_count.ToString()); if (errors.errors.Count > 10) { return; } } pendingList.Add(c); } } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_FILE); } } catch (Exception) { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_FILE); } if (errors.isEmpty()) { try { WebUtils.StartFunction(Session, FUNCTION_CODE); dbConn.BeginTransaction(); foreach (EPayScaleMap c in pendingList) { // check existing point-salary-mapping DBFilter filter = new DBFilter(); OR m_OR = new OR(); DBFieldTranscoder idTranscoder = EPayScale.db.getField("SchemeCode").transcoder; if (idTranscoder != null) { filter.add(new Match("SchemeCode", idTranscoder.toDB(c.SchemeCode).ToString())); } //filter.add(new Match("SchemeCode", c.SchemeCode)); filter.add(new Match("Point", c.Point)); filter.add(new Match("EffectiveDate", "<=", c.EffectiveDate)); m_OR.add(new NullTerm("ExpiryDate")); m_OR.add(new Match("ExpiryDate", ">=", c.EffectiveDate)); filter.add(m_OR); filter.add("EffectiveDate", true); ArrayList currentList = EPayScaleMap.db.select(dbConn, filter); if (currentList.Count > 0) { foreach (EPayScaleMap m_currentItem in currentList) { if ((m_currentItem.ExpiryDate.Ticks != 0) && m_currentItem.ExpiryDate.CompareTo(c.EffectiveDate) < 0) // current expiry before new become effective { ; } else if (m_currentItem.ExpiryDate.Ticks == 0) { m_currentItem.ExpiryDate = c.EffectiveDate.AddDays(-1); EPayScaleMap.db.update(dbConn, m_currentItem); } else { errors.addError("You are trying to insert a new point (" + c.SchemeCode + " - " + c.Point.ToString("0.00") + ") with invalid Effective Date(" + c.EffectiveDate.ToString("yyyy.MM.dd") + "). "); break; } } if (errors.isEmpty()) { EPayScaleMap.db.insert(dbConn, c); } } else { EPayScaleMap.db.insert(dbConn, c); } } if (!errors.isEmpty()) { dbConn.RollbackTransaction(); } else { if (m_list.Count > 0) { GenerateRecurringPayment(); } dbConn.CommitTransaction(); } WebUtils.EndFunction(dbConn); } catch (Exception) { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_FILE); dbConn.RollbackTransaction(); WebUtils.EndFunction(dbConn); } } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_NO_RECORD_IMPORT); } System.IO.File.Delete(strTmpFile); } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_FILE); } // Repeater.EditItemIndex = -1; view = loadData(info, db, Repeater); if (errors.isEmpty()) { errors.addError(HROne.Translation.PageMessage.IMPORT_SUCCESSFUL); } }
public static bool ValidateUser(DatabaseConnection dbConn, string username, string encryptedPassword, bool throwException, out bool ChangePasswordRequired, out EESSUser user) { string message = string.Empty; ChangePasswordRequired = false; user = null; if (dbConn == null) { if (throwException) { message = HROne.Common.WebUtility.GetLocalizedString("Invalid User Name or Password"); throw new Exception(message); } return(false); } DBFilter filter = new DBFilter(); OR orEmpNoTerms = new OR(); orEmpNoTerms.add(new Match("EmpNo", username)); DBFieldTranscoder empNoTranscoder = EESSUser.db.getField("EmpNo").transcoder; if (empNoTranscoder != null) { orEmpNoTerms.add(new Match("EmpNo", empNoTranscoder.toDB(username.ToUpper()))); } filter.add(orEmpNoTerms); ArrayList list = EESSUser.db.select(dbConn, filter); if (list.Count == 0) { if (throwException) { message = HROne.Common.WebUtility.GetLocalizedString("Invalid User Name / Password"); throw new Exception(message); } return(false); } { user = (EESSUser)list[0]; ChangePasswordRequired = false; if (string.IsNullOrEmpty(user.EmpPW)) { ChangePasswordRequired = true; if (!(user.EmpHKID == "()") && !string.IsNullOrEmpty(user.EmpHKID)) { user.EmpPW = WebUtils.PasswordHash(user.EmpHKID.Substring(0, (user.EmpHKID.Length - 3))); } else { user.EmpPW = WebUtils.PasswordHash(user.EmpPassportNo); } } //if (user.EmpPW == WebUtils.PasswordHash(user.EmpPassportNo)) //{ // if (!user.EmpPW.Equals(Password.Text)) // { // Prompt.Text = "Invalid User Name / Password"; // return; // } // else // { // user.EmpPW = WebUtils.PasswordHash(Password.Text); // EESSUser.db.update(user); // } //} //else if (!user.EmpPW.Equals(encryptedPassword)) { if (throwException) { message = HROne.Common.WebUtility.GetLocalizedString("Invalid User Name / Password"); throw new Exception(message); } return(false); } EEmpTermination empTerm = EEmpTermination.GetObjectByEmpID(dbConn, user.EmpID); if (empTerm != null) { if (throwException) { if (empTerm.EmpTermLastDate < AppUtils.ServerDateTime().Date) { message = HROne.Common.WebUtility.GetLocalizedString("User is terminated"); throw new Exception(message); } return(false); } } } return(true); }