public bool Delete() { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); EEmpPersonalInfo c = new EEmpPersonalInfo(); c.EmpID = EmpID; if (EEmpPersonalInfo.db.select(dbConn, c)) { DBFilter empPayrollFilter = new DBFilter(); empPayrollFilter.add(new Match("EmpID", c.EmpID)); DBFilter paymentRecordFilter = new DBFilter(); paymentRecordFilter.add(new IN("EmpPayrollID", "Select EmpPayrollID from [" + EEmpPayroll.db.dbclass.tableName + "]", empPayrollFilter)); if (EPaymentRecord.db.count(dbConn, paymentRecordFilter) <= 0) { WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); EmpUtils.DeleteEmp(dbConn, c.EmpID); db.delete(dbConn, c); WebUtils.EndFunction(dbConn); return(true); } else { errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_DELETE_EMP_PAYMENT_EXISTS, new string[] { c.EmpNo })); return(false); } } return(true); }
protected void Delete_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); ArrayList list = WebUtils.SelectedRepeaterItemToBaseObjectList(db, Repeater, "ItemSelect"); foreach (EEmpPersonalInfo o in list) { if (EEmpPersonalInfo.db.select(dbConn, o)) { DBFilter empPayrollFilter = new DBFilter(); empPayrollFilter.add(new Match("EmpID", o.EmpID)); DBFilter paymentRecordFilter = new DBFilter(); paymentRecordFilter.add(new IN("EmpPayrollID", "Select EmpPayrollID from [" + EEmpPayroll.db.dbclass.tableName + "]", empPayrollFilter)); if (EPaymentRecord.db.count(dbConn, paymentRecordFilter) <= 0) { WebUtils.StartFunction(Session, FUNCTION_CODE, o.EmpID); EmpUtils.DeleteEmp(dbConn, o.EmpID); db.delete(dbConn, o); WebUtils.EndFunction(dbConn); } else { errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_DELETE_EMP_PAYMENT_EXISTS, new string[] { o.EmpNo })); } } } //loadState(); loadData(info, db, Repeater); }
public bool Save() { if (!FullResAddrPanel.Visible) { EmpResAddr.Text = EmpResAddr1.Text + "\r\n" + EmpResAddr2.Text + "\r\n" + EmpResAddr3.Text; } EEmpPersonalInfo c = new EEmpPersonalInfo(); Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return(false); } db.parse(values, c); if (this.IsResetESSPassword.Checked) { c.EmpPW = string.Empty; } if (PrevEmpID > 0) { if (IsCreateNewRoleEmployee) { c.EmpNo = NewRoleEmpNo.Text.Trim(); c.MasterEmpID = PrevEmpID; if (string.IsNullOrEmpty(c.EmpNo)) { errors.addError(lblNewRoleEmpNo.Text, "validate.required.prompt"); return(false); } } } c.EmpNo = c.EmpNo.ToUpper(); // Start 0000044, Miranda, 2014-05-09 string oldEmpNo = ""; if (!AppUtils.checkDuplicate(dbConn, db, c, errors, "EmpNo")) { if (isAutoGenerateEmpNo && empNoFormat != null && EmpID < 0) { // Check if EmpNo format is same as EmpNoFormat setting of System Parameter bool alignToFormat = isAlignToDefinedFormat(c.EmpNo, empNoFormat); if (alignToFormat) { errors.clear(); oldEmpNo = c.EmpNo; c.EmpNo = getNextEmpNo(empNoFormat).ToUpper(); EmpNo.Text = c.EmpNo; if (!AppUtils.checkDuplicate(dbConn, db, c, errors, "EmpNo")) { return(false); } else { errors.addError(string.Format(HROne.Translation.PageErrorMessage.ALERT_NEW_STAFF_NO_BEEN_USED, new string[] { oldEmpNo, c.EmpNo })); } } else { return(false); } } else { return(false); } } // End 0000044, Miranda, 2014-05-09 // Start 0000066, Miranda, 2014-08-08 if (SuppressHKIDWarning.Text == "false" && !AppUtils.checkDuplicate(dbConn, db, c, errors, "EmpHKID")) { SuppressHKIDWarning.Text = "true"; errors.clear(); errors.addError("HKID is already input in system, click SAVE button again to bypass this warning and save to database."); } // End 0000066, Miranda, 2014-08-08 if (c.EmpDateOfBirth > AppUtils.ServerDateTime().Date) { errors.addError("EmpDateOfBirth", HROne.Translation.PageErrorMessage.ERROR_INVALID_DOB); } if (c.EmpEngSurname.Contains(" ")) { errors.addError("EmpEngSurname", HROne.Translation.PageErrorMessage.ERROR_SURNAME_CONTAIN_SPACE); } if (!errors.isEmpty()) { return(false); } //if (c.EmpProbaLastDate.Ticks.Equals(0)) //{ // if (c.EmpProbaPeriod > 0) // { // c.EmpProbaLastDate = c.EmpDateOfJoin; // if (c.EmpProbaUnit.Equals("D")) // c.EmpProbaLastDate = c.EmpProbaLastDate.AddDays(c.EmpProbaPeriod); // else if (c.EmpProbaUnit.Equals("M")) // c.EmpProbaLastDate = c.EmpProbaLastDate.AddMonths(c.EmpProbaPeriod); // c.EmpProbaLastDate = c.EmpProbaLastDate.AddDays(-1); // } //} if (string.IsNullOrEmpty(c.EmpStatus) || c.EmpStatus.Equals("A")) { if (WebUtils.TotalActiveEmployee(dbConn, c.EmpID) >= WebUtils.productLicense(Session).NumOfEmployees) { errors.addError(string.Format(PageErrorMessage.ERROR_MAX_LICENSE_LIMITCH_REACH, new string[] { WebUtils.productLicense(Session).NumOfEmployees + " " + HROne.Common.WebUtility.GetLocalizedString("Employee") })); return(false); } } // Start 0000092, Ricky So, 2014-09-09 if (c.EmpNationalityID > 0) { ENationality m_nationality = new ENationality(); m_nationality.NationalityID = c.EmpNationalityID; if (ENationality.db.select(dbConn, m_nationality)) { c.EmpNationality = m_nationality.NationalityDesc; } } if (c.EmpPlaceOfBirthID > 0) { EPlaceOfBirth m_placeOfBirth = new EPlaceOfBirth(); m_placeOfBirth.PlaceOfBirthID = c.EmpPlaceOfBirthID; if (EPlaceOfBirth.db.select(dbConn, m_placeOfBirth)) { c.EmpPlaceOfBirth = m_placeOfBirth.PlaceOfBirthDesc; } } if (c.EmpPassportIssuedCountryID > 0) { EIssueCountry m_issueCountry = new EIssueCountry(); m_issueCountry.CountryID = c.EmpPassportIssuedCountryID; if (EIssueCountry.db.select(dbConn, m_issueCountry)) { c.EmpPassportIssuedCountry = m_issueCountry.CountryDesc; } } // End 0000092, Ricky So, 2014-09-09 WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID); if (EmpID < 0) { // Utils.MarkCreate(Session, c); c.EmpStatus = "A"; db.insert(dbConn, c); EmpID = c.EmpID; if (PrevEmpID > 0) { if (!IsCreateNewRoleEmployee) { EmpUtils.CopyEmpDetail(dbConn, PrevEmpID, EmpID); } } // url = Utils.BuildURL(-1, CurID); } else { // Utils.Mark(Session, c); db.update(dbConn, c); } //DBFilter empUniformFilter = new DBFilter(); //empUniformFilter.add(new Match("EmpID", c.EmpID)); //ArrayList empUniformList = EEmpUniform.db.select(dbConn, empUniformFilter); //EEmpUniform empUniform = null; //if (empUniformList.Count > 0) // empUniform = (EEmpUniform)empUniformList[0]; //else //{ // empUniform = new EEmpUniform(); // empUniform.EmpID = c.EmpID; //} //empUniform.EmpUniformB = EmpUniformB.Text; //empUniform.EmpUniformW = EmpUniformW.Text; //empUniform.EmpUniformH = EmpUniformH.Text; //if (empUniform.EmpUniformID > 0) // EEmpUniform.db.update(dbConn, empUniform); //else // EEmpUniform.db.insert(dbConn, empUniform); ArrayList list = new ArrayList(); foreach (RepeaterItem groupItem in EmpExtraFieldGroupRepeater.Items) { Repeater EmpExtraField = (Repeater)groupItem.FindControl("EmpExtraField"); foreach (RepeaterItem item in EmpExtraField.Items) { TextBox textBox = (TextBox)item.FindControl("EmpExtraFieldValue"); WebDatePicker datePicker = (WebDatePicker)item.FindControl("EmpExtraFieldValueDateControl"); int EmpExtraFieldID = Int32.Parse(textBox.Attributes["EmpExtraFieldID"]); DBFilter filter = new DBFilter(); filter.add(new Match("EmpID", c.EmpID)); filter.add(new Match("EmpExtraFieldID", EmpExtraFieldID)); ArrayList existingExtraFieldValueList = EEmpExtraFieldValue.db.select(dbConn, filter); EEmpExtraFieldValue h = null; if (existingExtraFieldValueList.Count > 0) { h = (EEmpExtraFieldValue)existingExtraFieldValueList[0]; } else { h = new EEmpExtraFieldValue(); h.EmpID = c.EmpID; h.EmpExtraFieldID = EmpExtraFieldID; } if (textBox.Visible) { h.EmpExtraFieldValue = textBox.Text.Trim(); } else if (datePicker.Visible) { h.EmpExtraFieldValue = datePicker.Value.Trim(); } list.Add(h); } } //filter = new DBFilter(); //filter.add(new Match("EmpID", CurEmpID)); //filter.add(new Match("EmpPosID", CurID)); //EEmpHierarchy.db.delete(dbConn, filter); foreach (EEmpExtraFieldValue h in list) { if (h.EmpExtraFieldValueID == 0) { EEmpExtraFieldValue.db.insert(dbConn, h); } else { EEmpExtraFieldValue.db.update(dbConn, h); } } WebUtils.EndFunction(dbConn); return(true); }