コード例 #1
0
    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)
            {
                EEmpAVCPlan o = new EEmpAVCPlan();
                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);
    }
コード例 #2
0
    protected void Delete_Click(object sender, EventArgs e)
    {
        EEmpAVCPlan c = new EEmpAVCPlan();

        c.EmpAVCID = CurID;
        EEmpAVCPlan.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);
    }
コード例 #3
0
    protected bool loadObject()
    {
        obj = new EEmpAVCPlan();
        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);
    }
コード例 #4
0
        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 uploadEmpAVCList = tempDB.select(dbConn, sessionFilter);
            foreach (EUploadEmpAVCPlan obj in uploadEmpAVCList)
            {
                EEmpAVCPlan empAVCPlan = new EEmpAVCPlan();

                if (obj.ImportActionStatus != ImportDBObject.ImportActionEnum.INSERT)
                {
                    empAVCPlan.EmpAVCID = obj.EmpAVCID;
                    uploadDB.select(dbConn, empAVCPlan);
                }

                obj.ExportToObject(empAVCPlan);

                if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.INSERT)
                {
                    empAVCPlan.EmpID = ParseTemp.GetEmpIDFromUploadEmpID(dbConn, obj.UploadEmpID);
                    DBFilter emplastPosFilter = new DBFilter();
                    EEmpAVCPlan lastObj = (EEmpAVCPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpAVCEffFr", empAVCPlan.EmpID, new Match("EmpAVCEffFr", "<", empAVCPlan.EmpAVCEffFr));
                    if (lastObj != null)
                        if (lastObj.EmpAVCEffTo.Ticks == 0)
                        {
                            lastObj.EmpAVCEffTo = empAVCPlan.EmpAVCEffFr.AddDays(-1);
                            uploadDB.update(dbConn, lastObj);
                        }
                    uploadDB.insert(dbConn, empAVCPlan);


                }
                else if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.UPDATE)
                {
                    uploadDB.update(dbConn, empAVCPlan);
                }
                tempDB.delete(dbConn, obj);
            }
        }
コード例 #5
0
    protected void Save_Click(object sender, EventArgs e)
    {
        EEmpAVCPlan c = new EEmpAVCPlan();

        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.EmpAVCEffTo.Ticks > 0 && c.EmpAVCEffTo < c.EmpAVCEffFr)
        {
            errors.addError("EmpAVCEffTo", HROne.Translation.PageErrorMessage.ERROR_DATE_TO_TOO_EARLY);
            return;
        }
        if (c.EmpAVCEffFr < new DateTime(2000, 12, 1))
        {
            errors.addError("EmpAVCEffFr", HROne.Translation.PageErrorMessage.ERROR_MPF_DATE_TO_TOO_EARLY);
            return;
        }

        AND andTerms = new AND();

        andTerms.add(new Match("EmpAVCID", "<>", c.EmpAVCID));
        andTerms.add(new Match("EmpAVCEffFr", "<=", c.EmpAVCEffFr));
        EEmpAVCPlan lastObj = (EEmpAVCPlan)AppUtils.GetLastObj(dbConn, db, "EmpAVCEffFr", c.EmpID, andTerms);

        if (lastObj != null && (c.EmpAVCEffFr <= lastObj.EmpAVCEffTo || c.EmpAVCEffFr == lastObj.EmpAVCEffFr))
        {
            errors.addError("EmpAVCEffFr", 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.EmpAVCID;
//            url = Utils.BuildURL(-1, CurID);
        }
        else
        {
//            Utils.Mark(Session, c);
            db.update(dbConn, c);
        }

        if (lastObj != null)
        {
            if (lastObj.EmpAVCEffTo < lastObj.EmpAVCEffFr)
            {
                lastObj.EmpAVCEffTo = c.EmpAVCEffFr.AddDays(-1);
                db.update(dbConn, lastObj);
            }
        }
        WebUtils.EndFunction(dbConn);

        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_AVCPlan_View.aspx?EmpAVCID=" + CurID + "&EmpID=" + c.EmpID);
    }
コード例 #6
0
        public DataTable UploadToTempDatabase(DataTable rawDataTable, int UserID)
        {
            if (rawDataTable == null)
                return GetImportDataFromTempDatabase(null);

            int rowCount = 1;
            foreach (DataRow row in rawDataTable.Rows)
            {
                rowCount++;

                EUploadEmpAVCPlan uploadEmpAVC = new EUploadEmpAVCPlan();
                EEmpAVCPlan lastEmpAVC = null;
                ArrayList uploadHierarchyList = new ArrayList();

                string EmpNo = row[FIELD_EMP_NO].ToString().Trim();
                uploadEmpAVC.EmpID = Parse.GetEmpID(dbConn, EmpNo, UserID);
                if (uploadEmpAVC.EmpID < 0)
                    errors.addError(ImportErrorMessage.ERROR_ACCESS_DENIED_EMP_NO, new string[] { EmpNo, rowCount.ToString() });
                try
                {
                    uploadEmpAVC.EmpAVCEffFr = 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
                {
                    uploadEmpAVC.EmpAVCEffTo = Parse.toDateTimeObject(row[FIELD_TO]);
                }
                catch
                {
                    errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_TO + "=" + row[FIELD_TO].ToString(), EmpNo, rowCount.ToString() });
                }
                uploadEmpAVC.AVCPlanID = Parse.GetAVCPlanID(dbConn, row[FIELD_AVCPLAN].ToString(), false, UserID);

                if (uploadEmpAVC.AVCPlanID == 0)
                    errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_AVCPLAN + "=" + row[FIELD_AVCPLAN].ToString(), EmpNo, rowCount.ToString() });


                uploadEmpAVC.SessionID = m_SessionID;
                uploadEmpAVC.TransactionDate = UploadDateTime;


                if (uploadEmpAVC.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]);
                    //            EEmpAVCPlan tmpObj = new EEmpAVCPlan();
                    //            tmpObj.EmpAVCID = tmpID;
                    //            if (EEmpAVCPlan.db.select(dbConn, tmpObj))
                    //                uploadEmpAVC.EmpAVCID = 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();
                            uploadEmpAVC.SynID = strSynID;
                            if (!string.IsNullOrEmpty(strSynID))
                            {
                                DBFilter synIDFilter = new DBFilter();
                                synIDFilter.add(new Match("SynID", strSynID));
                                ArrayList objSameSynIDList = EEmpAVCPlan.db.select(dbConn, synIDFilter);
                                if (objSameSynIDList.Count > 0)
                                    uploadEmpAVC.EmpAVCID = ((EEmpAVCPlan)objSameSynIDList[0]).EmpAVCID;
                            }
                        }
                    }

                    if (uploadEmpAVC.EmpAVCID == 0)
                    {
                        lastEmpAVC = (EEmpAVCPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpAVCEffFr", uploadEmpAVC.EmpID, new Match("EmpAVCEffFr", "<=", uploadEmpAVC.EmpAVCEffFr));
                        if (lastEmpAVC != null)
                        {

                            if (uploadEmpAVC.AVCPlanID == lastEmpAVC.AVCPlanID && uploadEmpAVC.EmpAVCEffTo == lastEmpAVC.EmpAVCEffTo)
                            {
                                continue;
                            }
                            else
                            {
                                // add postion terms with new ID
                                if (lastEmpAVC.EmpAVCEffFr.Equals(uploadEmpAVC.EmpAVCEffFr))
                                {
                                    uploadEmpAVC.EmpAVCID = lastEmpAVC.EmpAVCID;
                                    if (uploadEmpAVC.EmpAVCEffTo.Ticks == 0 && lastEmpAVC.EmpAVCEffTo.Ticks != 0)
                                    {
                                        EEmpAVCPlan afterEmpAVC = (EEmpAVCPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpAVCEffFr", uploadEmpAVC.EmpID, new Match("EmpAVCEffFr", ">", lastEmpAVC.EmpAVCEffTo));
                                        if (afterEmpAVC != null)
                                            uploadEmpAVC.EmpAVCEffTo = afterEmpAVC.EmpAVCEffFr.AddDays(-1);
                                    }
                                }
                                else
                                {
                                    AND lastObjAndTerms = new AND();
                                    lastObjAndTerms.add(new Match("EmpAVCEffFr", ">", uploadEmpAVC.EmpAVCEffFr));
                                    if (!uploadEmpAVC.EmpAVCEffTo.Ticks.Equals(0))
                                        lastObjAndTerms.add(new Match("EmpAVCEffFr", "<=", uploadEmpAVC.EmpAVCEffTo));

                                    EEmpAVCPlan lastObj = (EEmpAVCPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpAVCEffFr", uploadEmpAVC.EmpID, lastObjAndTerms);
                                    if (lastObj != null)
                                        if (!lastObj.EmpAVCEffTo.Ticks.Equals(0))
                                        {
                                            errors.addError(ImportErrorMessage.ERROR_DATE_FROM_OVERLAP, new string[] { uploadEmpAVC.EmpAVCEffFr.ToString("yyyy-MM-dd"), rowCount.ToString() });
                                            continue;
                                        }

                                }
                            }
                        }
                    }
                }

                if (uploadEmpAVC.EmpAVCID <= 0)
                    uploadEmpAVC.ImportActionStatus = ImportDBObject.ImportActionEnum.INSERT;
                else
                    uploadEmpAVC.ImportActionStatus = ImportDBObject.ImportActionEnum.UPDATE;

                uploadEmpAVC.UploadEmpID = ParseTemp.GetUploadEmpID(dbConn, EmpNo, m_SessionID);
                if (uploadEmpAVC.UploadEmpID == 0)
                    if (uploadEmpAVC.EmpID == 0)
                        errors.addError(ImportErrorMessage.ERROR_INVALID_EMP_NO, new string[] { EmpNo, rowCount.ToString() });
                    else
                        uploadEmpAVC.UploadEmpID = ImportEmpPersonalInfoProcess.CreateDummyUploadEmployeeInfo(dbConn, uploadEmpAVC.EmpID, m_SessionID, UploadDateTime);

                Hashtable values = new Hashtable();
                tempDB.populate(uploadEmpAVC, values);
                PageErrors pageErrors = new PageErrors(EUploadEmpPersonalInfo.db);
                tempDB.validate(pageErrors, values);
                if (pageErrors.errors.Count == 0)
                {

                    tempDB.insert(dbConn, uploadEmpAVC);
                }
                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);
        }
コード例 #7
0
    protected bool loadObject()
    {
        obj = new EEmpAVCPlan();
        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);

        BOCIAVCPanel.Visible = false;

        DBFilter empMPFPlanFilter = new DBFilter();

        empMPFPlanFilter.add(new Match("EmpID", CurEmpID));
        empMPFPlanFilter.add("EmpMPFEffFr", false);

        if (!obj.EmpAVCEffFr.Ticks.Equals(0))
        {
            empMPFPlanFilter.add(new Match("EmpMPFEffFr", "<=", obj.EmpAVCEffFr));
        }

        ArrayList empMPFPlanList = EEmpMPFPlan.db.select(dbConn, empMPFPlanFilter);


        EMPFPlan mpfPlan = new EMPFPlan();

        if (empMPFPlanList.Count > 0)
        {
            EEmpMPFPlan empMPFPlan = (EEmpMPFPlan)empMPFPlanList[0];
            mpfPlan.MPFPlanID = empMPFPlan.MPFPlanID;
        }
        else
        {
            mpfPlan.MPFPlanID = obj.DefaultMPFPlanID;
        }
        if (EMPFPlan.db.select(dbConn, mpfPlan))
        {
            EMPFScheme mpfScheme = new EMPFScheme();
            mpfScheme.MPFSchemeID = mpfPlan.MPFSchemeID;
            if (EMPFScheme.db.select(dbConn, mpfScheme))
            {
                if (mpfScheme.MPFSchemeTrusteeCode.Equals("BOCI"))
                {
                    BOCIAVCPanel.Visible = true;
                }

                else
                {
                    BOCIAVCPanel.Visible = false;
                }
            }
        }

        return(true);
    }