protected void Copy_Click(object sender, EventArgs e) { int new_CurID = -1; EPayrollGroup o = new EPayrollGroup(); o.PayGroupID = CurID; if (EPayrollGroup.db.select(dbConn, o)) { EPayrollGroup newPayrollGroup = o.Copy(dbConn); EPayrollPeriod oldCurrentPayrollPeriod = new EPayrollPeriod(); oldCurrentPayrollPeriod.PayPeriodID = o.CurrentPayPeriodID; if (EPayrollPeriod.db.select(dbConn, oldCurrentPayrollPeriod)) { EPayrollPeriod newPayPeriod = oldCurrentPayrollPeriod.Copy(dbConn, newPayrollGroup.PayGroupID); newPayrollGroup.CurrentPayPeriodID = newPayPeriod.PayPeriodID; EPayrollGroup.db.update(dbConn, newPayrollGroup); new_CurID = newPayrollGroup.PayGroupID; } // Start 0000069, Ricky So, 2014-08-08 DBFilter m_filter = new DBFilter(); m_filter.add(new Match("PayGroupID", CurID)); foreach (EPayrollGroupUsers users in EPayrollGroupUsers.db.select(dbConn, m_filter)) { EPayrollGroupUsers new_users = new EPayrollGroupUsers(); new_users.PayGroupID = new_CurID; new_users.UserID = users.UserID; EPayrollGroupUsers.db.insert(dbConn, new_users); } // End 0000069, Ricky So, 2014-08-08 HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Payroll_Group_View.aspx?PayGroupID=" + newPayrollGroup.PayGroupID); } }
protected void Copy_Click(object sender, EventArgs e) { ArrayList list = WebUtils.SelectedRepeaterItemToBaseObjectList(db, Repeater, "ItemSelect"); foreach (EPayrollGroup o in list) { if (EPayrollGroup.db.select(dbConn, o)) { EPayrollGroup newPayrollGroup = o.Copy(dbConn); EPayrollPeriod oldCurrentPayrollPeriod = new EPayrollPeriod(); oldCurrentPayrollPeriod.PayPeriodID = o.CurrentPayPeriodID; if (EPayrollPeriod.db.select(dbConn, oldCurrentPayrollPeriod)) { EPayrollPeriod newPayPeriod = oldCurrentPayrollPeriod.Copy(dbConn, newPayrollGroup.PayGroupID); newPayrollGroup.CurrentPayPeriodID = newPayPeriod.PayPeriodID; EPayrollGroup.db.update(dbConn, newPayrollGroup); } // Start 0000069, Ricky So, 2014-08-08 DBFilter m_filter = new DBFilter(); m_filter.add(new Match("PayGroupID", o.PayGroupID)); foreach (EPayrollGroupUsers users in EPayrollGroupUsers.db.select(dbConn, m_filter)) { EPayrollGroupUsers new_users = new EPayrollGroupUsers(); new_users.PayGroupID = newPayrollGroup.PayGroupID; new_users.UserID = users.UserID; EPayrollGroupUsers.db.insert(dbConn, new_users); } // End 0000069, Ricky So, 2014-08-08 } } loadData(info, db, Repeater); }
protected void Save_Click(object sender, EventArgs e) { EPayrollGroup c = new EPayrollGroup(); 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); //c.PayGroupID = CurID; ArrayList newUserList = WebUtils.SelectedRepeaterItemToBaseObjectList(EUser.db, Users, "UserSelect"); bool m_isPublic = (newUserList.Count <= 0); DBFilter notUser = new DBFilter(); notUser.add(new Match("PayGroupID", CurID)); foreach (EUser user in newUserList) { DBFilter filter = new DBFilter(); filter.add(new Match("UserID", user.UserID)); filter.add(new Match("PayGroupID", CurID)); if (EPayrollGroupUsers.db.count(dbConn, filter) <= 0) { EPayrollGroupUsers o = new EPayrollGroupUsers(); o.UserID = user.UserID; o.PayGroupID = CurID; EPayrollGroupUsers.db.insert(dbConn, o); } notUser.add(new Match("UserID", "<>", user.UserID)); } ArrayList unselectedUserList = EPayrollGroupUsers.db.select(dbConn, notUser); foreach (EPayrollGroupUsers payrollGroupUsers in unselectedUserList) { EPayrollGroupUsers.db.delete(dbConn, payrollGroupUsers); } // update payroll group IsPublic flag EPayrollGroup m_group = EPayrollGroup.GetObject(dbConn, CurID); if (m_group != null) { m_group.PayGroupIsPublic = m_isPublic; EPayrollGroup.db.update(dbConn, m_group); } HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Payroll_Group_View.aspx?PayGroupID=" + CurID); }
protected void Save_Click(object sender, EventArgs e) { EUser c = new EUser(); 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 (Password.Text.Equals("")) { errors.addError("Password", HROne.Translation.PageErrorMessage.ERROR_FIELD_REQUIRED); return; } if (!Password2.Text.Equals(Password.Text)) { errors.addError("Password", HROne.Translation.PageErrorMessage.ERROR_PASSWORD_NOT_MATCH); return; } if (!Password.Text.Equals(NO_CHANGE_PASSWORD)) { c.UserPassword = HROne.CommonLib.Hash.PasswordHash(Password.Text); } else if (CurID < 0) { c.UserPassword = HROne.CommonLib.Hash.PasswordHash(string.Empty); } if (c.UserAccountStatus.Equals("A")) { if (WebUtils.TotalActiveUser(dbConn, c.UserID) >= WebUtils.productLicense(Session).NumOfUsers) { errors.addError(string.Format(PageErrorMessage.ERROR_MAX_LICENSE_LIMITCH_REACH, new string[] { WebUtils.productLicense(Session).NumOfUsers + " " + HROne.Common.WebUtility.GetLocalizedString("User") })); return; } } ArrayList newCompanyList = WebUtils.SelectedRepeaterItemToBaseObjectList(ECompany.db, Companies, "ItemSelect"); ArrayList newUserGroupList = WebUtils.SelectedRepeaterItemToBaseObjectList(EUserGroup.db, UserGroups, "ItemSelect"); ArrayList newRankList = WebUtils.SelectedRepeaterItemToBaseObjectList(ERank.db, Ranks, "ItemSelect"); // Start 0000069, KuangWei, 2014-08-26 ArrayList newPayGroupList = WebUtils.SelectedRepeaterItemToBaseObjectList(EPayrollGroup.db, PayGroups, "ItemSelect"); // End 0000069, KuangWei, 2014-08-26 if (WebUtils.GetCurUser(Session).UsersCannotCreateUsersWithMorePermission) { if (c.UsersCannotCreateUsersWithMorePermission == false) { errors.addError(PageErrorMessage.ERROR_INVALID_PERMISSION); return; } // Start 0000069, KuangWei, 2014-08-26 else if (!c.IsAllowSubmitPermission(dbConn, WebUtils.GetCurUser(Session).UserID) || !EUser.IsAllowSubmitPermission(dbConn, WebUtils.GetCurUser(Session).UserID, newCompanyList, newUserGroupList, newRankList, newPayGroupList) // End 0000069, KuangWei, 2014-08-26 ) { errors.addError(PageErrorMessage.ERROR_INVALID_PERMISSION); return; } // do nothing } WebUtils.StartFunction(Session, FUNCTION_CODE); if (CurID < 0) { // Utils.MarkCreate(Session, c); c.UserChangePasswordDate = AppUtils.ServerDateTime(); db.insert(dbConn, c); CurID = c.UserID; // url = Utils.BuildURL(-1, CurID); } else { // Utils.Mark(Session, c); db.update(dbConn, c); } { DBFilter notUserGroupAccess = new DBFilter(); notUserGroupAccess.add(new Match("UserID", c.UserID)); foreach (EUserGroup userGroup in newUserGroupList) { DBFilter filter = new DBFilter(); filter.add(new Match("UserID", c.UserID)); filter.add(new Match("UserGroupID", userGroup.UserGroupID)); if (EUserGroupAccess.db.count(dbConn, filter) <= 0) { EUserGroupAccess o = new EUserGroupAccess(); o.UserID = c.UserID; o.UserGroupID = userGroup.UserGroupID; EUserGroupAccess.db.insert(dbConn, o); } notUserGroupAccess.add(new Match("UserGroupID", "<>", userGroup.UserGroupID)); } ArrayList unselectedUserGroupAccessList = EUserGroupAccess.db.select(dbConn, notUserGroupAccess); foreach (EUserGroupAccess userGroupAccess in unselectedUserGroupAccessList) { EUserGroupAccess.db.delete(dbConn, userGroupAccess); } } { DBFilter notUserCompany = new DBFilter(); notUserCompany.add(new Match("UserID", c.UserID)); foreach (ECompany company in newCompanyList) { DBFilter filter = new DBFilter(); filter.add(new Match("UserID", c.UserID)); filter.add(new Match("CompanyID", company.CompanyID)); if (EUserCompany.db.count(dbConn, filter) <= 0) { EUserCompany o = new EUserCompany(); o.UserID = c.UserID; o.CompanyID = company.CompanyID; EUserCompany.db.insert(dbConn, o); } notUserCompany.add(new Match("CompanyID", "<>", company.CompanyID)); } ArrayList unselectedUserCompanyList = EUserCompany.db.select(dbConn, notUserCompany); foreach (EUserCompany userCompany in unselectedUserCompanyList) { EUserCompany.db.delete(dbConn, userCompany); } } { DBFilter notUserRank = new DBFilter(); notUserRank.add(new Match("UserID", c.UserID)); foreach (ERank rank in newRankList) { DBFilter filter = new DBFilter(); filter.add(new Match("UserID", c.UserID)); filter.add(new Match("RankID", rank.RankID)); if (EUserRank.db.count(dbConn, filter) <= 0) { EUserRank o = new EUserRank(); o.UserID = c.UserID; o.RankID = rank.RankID; EUserRank.db.insert(dbConn, o); } notUserRank.add(new Match("RankID", "<>", rank.RankID)); } ArrayList unselectedUserRankList = EUserRank.db.select(dbConn, notUserRank); foreach (EUserRank userRank in unselectedUserRankList) { EUserRank.db.delete(dbConn, userRank); } } // Start 0000069, KuangWei, 2014-08-26 { DBFilter notPayrollGroupUser = new DBFilter(); notPayrollGroupUser.add(new Match("UserID", c.UserID)); foreach (EPayrollGroup payrollGroup in newPayGroupList) { DBFilter filter = new DBFilter(); filter.add(new Match("UserID", c.UserID)); filter.add(new Match("PayGroupID", payrollGroup.PayGroupID)); if (EPayrollGroupUsers.db.count(dbConn, filter) <= 0) { EPayrollGroupUsers o = new EPayrollGroupUsers(); o.UserID = c.UserID; o.PayGroupID = payrollGroup.PayGroupID; EPayrollGroupUsers.db.insert(dbConn, o); } notPayrollGroupUser.add(new Match("PayGroupID", "<>", payrollGroup.PayGroupID)); } ArrayList unselectedPayGroupUserList = EPayrollGroupUsers.db.select(dbConn, notPayrollGroupUser); foreach (EPayrollGroupUsers payrollGroupUsers in unselectedPayGroupUserList) { EPayrollGroupUsers.db.delete(dbConn, payrollGroupUsers); } } // update paygroup isPublic flag foreach (EPayrollGroup payrollGroup in EPayrollGroup.db.select(dbConn, new DBFilter())) { DBFilter m_countFilter = new DBFilter(); m_countFilter.add(new Match("PayGroupID", payrollGroup.PayGroupID)); payrollGroup.PayGroupIsPublic = (EPayrollGroupUsers.db.count(dbConn, m_countFilter) <= 0); EPayrollGroup.db.update(dbConn, payrollGroup); } // End 0000069, KuangWei, 2014-08-26 WebUtils.EndFunction(dbConn); HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/User_View.aspx?UserID=" + CurID); }