Example #1
0
    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);
        }
    }
Example #2
0
    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);
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }