Ejemplo n.º 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)
            {
                EEmpORSOPlan o = new EEmpORSOPlan();
                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);
    }
Ejemplo n.º 2
0
    protected void Delete_Click(object sender, EventArgs e)
    {
        EEmpORSOPlan c = new EEmpORSOPlan();

        c.EmpORSOID = CurID;
        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);
    }
Ejemplo n.º 3
0
    protected bool loadObject()
    {
        obj = new EEmpORSOPlan();
        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);
    }
Ejemplo n.º 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 uploadEmpORSOList = tempDB.select(dbConn, sessionFilter);

            foreach (EUploadEmpORSOPlan obj in uploadEmpORSOList)
            {
                EEmpORSOPlan empORSOPlan = new EEmpORSOPlan();

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

                obj.ExportToObject(empORSOPlan);

                if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.INSERT)
                {
                    empORSOPlan.EmpID = ParseTemp.GetEmpIDFromUploadEmpID(dbConn, obj.UploadEmpID);
                    DBFilter     emplastPosFilter = new DBFilter();
                    EEmpORSOPlan lastObj          = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", empORSOPlan.EmpID, new Match("EmpORSOEffFr", "<", empORSOPlan.EmpORSOEffFr));
                    if (lastObj != null)
                    {
                        if (lastObj.EmpORSOEffTo.Ticks == 0)
                        {
                            lastObj.EmpORSOEffTo = empORSOPlan.EmpORSOEffFr.AddDays(-1);
                            uploadDB.update(dbConn, lastObj);
                        }
                    }
                    uploadDB.insert(dbConn, empORSOPlan);
                }
                else if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.UPDATE)
                {
                    uploadDB.update(dbConn, empORSOPlan);
                }
                tempDB.delete(dbConn, obj);
            }
        }
Ejemplo n.º 5
0
        public static ArrayList ORSOTrialRun(DatabaseConnection dbConn, int EmpID, EPayrollPeriod payrollPeriod, ArrayList paymentRecords, EMPFRecord mpfRecord)
        {
            ArrayList orsoRecords = new ArrayList();

            DBFilter dbFilter = new DBFilter();

            dbFilter.add(new Match("EmpID", EmpID));
            dbFilter.add(new Match("EmpORSOEffFr", "<=", payrollPeriod.PayPeriodTo));
            dbFilter.add("EmpORSOEffFr", true);
            ArrayList oEmpORSOs = EEmpORSOPlan.db.select(dbConn, dbFilter);

            if (oEmpORSOs.Count > 0)
            {
                EEmpORSOPlan oEmpORSO = (EEmpORSOPlan)oEmpORSOs[0];

                DateTime ORSOJoinDate = oEmpORSO.EmpORSOEffFr;

                if (ORSOJoinDate <= payrollPeriod.PayPeriodTo && ORSOJoinDate >= payrollPeriod.PayPeriodFr)
                {
                    ArrayList newJoinORSORecords = CreateNewJoinORSORecords(dbConn, EmpID, oEmpORSO.EmpORSOEffFr, ORSOJoinDate);
                    if (newJoinORSORecords != null)
                    {
                        orsoRecords.AddRange(newJoinORSORecords);
                    }
                    orsoRecords.Add(CreateORSORecord(dbConn, EmpID, payrollPeriod, paymentRecords, oEmpORSO.EmpORSOEffFr, ORSOJoinType.NewJoin, mpfRecord));
                }
                else if (ORSOJoinDate < payrollPeriod.PayPeriodFr)
                {
                    orsoRecords.Add(CreateORSORecord(dbConn, EmpID, payrollPeriod, paymentRecords, oEmpORSO.EmpORSOEffFr, ORSOJoinType.Existing, mpfRecord));
                }
                else if (payrollPeriod.PayPeriodTo < ORSOJoinDate)
                {
                }
                else
                {
                }
            }
            return(orsoRecords);
        }
Ejemplo n.º 6
0
    protected void Save_Click(object sender, EventArgs e)
    {
        EEmpORSOPlan c = new EEmpORSOPlan();

        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.EmpORSOEffTo.Ticks > 0 && c.EmpORSOEffTo < c.EmpORSOEffFr)
        {
            errors.addError("EmpORSOEffTo", HROne.Translation.PageErrorMessage.ERROR_DATE_TO_TOO_EARLY);
            return;
        }

        AND andTerms = new AND();

        andTerms.add(new Match("EmpORSOID", "<>", c.EmpORSOID));
        andTerms.add(new Match("EmpORSOEffFr", "<=", c.EmpORSOEffFr));
        EEmpORSOPlan lastObj = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, db, "EmpORSOEffFr", c.EmpID, andTerms);

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


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

        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "Emp_ORSOPlan_View.aspx?EmpORSOID=" + CurID + "&EmpID=" + c.EmpID);
    }
Ejemplo n.º 7
0
        public DataTable UploadToTempDatabase(DataTable rawDataTable, int UserID)
        {
            if (rawDataTable == null)
            {
                return(GetImportDataFromTempDatabase(null));
            }

            int rowCount = 1;

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

                EUploadEmpORSOPlan uploadEmpORSO       = new EUploadEmpORSOPlan();
                EEmpORSOPlan       lastEmpORSO         = null;
                ArrayList          uploadHierarchyList = new ArrayList();

                string EmpNo = row[FIELD_EMP_NO].ToString().Trim();
                uploadEmpORSO.EmpID = Parse.GetEmpID(dbConn, EmpNo, UserID);
                if (uploadEmpORSO.EmpID < 0)
                {
                    errors.addError(ImportErrorMessage.ERROR_ACCESS_DENIED_EMP_NO, new string[] { EmpNo, rowCount.ToString() });
                }
                try
                {
                    uploadEmpORSO.EmpORSOEffFr = 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
                {
                    uploadEmpORSO.EmpORSOEffTo = Parse.toDateTimeObject(row[FIELD_TO]);
                }
                catch
                {
                    errors.addError(ImportErrorMessage.ERROR_INVALID_FIELD_VALUE, new string[] { FIELD_TO + "=" + row[FIELD_TO].ToString(), EmpNo, rowCount.ToString() });
                }
                uploadEmpORSO.ORSOPlanID = Parse.GetORSOPlanID(dbConn, row[FIELD_ORSOPLAN].ToString(), false, UserID);

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


                uploadEmpORSO.SessionID       = m_SessionID;
                uploadEmpORSO.TransactionDate = UploadDateTime;


                if (uploadEmpORSO.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]);
                    //            EEmpORSOPlan tmpObj = new EEmpORSOPlan();
                    //            tmpObj.EmpORSOID = tmpID;
                    //            if (EEmpORSOPlan.db.select(dbConn, tmpObj))
                    //                uploadEmpORSO.EmpORSOID = 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();
                            uploadEmpORSO.SynID = strSynID;
                            if (!string.IsNullOrEmpty(strSynID))
                            {
                                DBFilter synIDFilter = new DBFilter();
                                synIDFilter.add(new Match("SynID", strSynID));
                                ArrayList objSameSynIDList = EEmpORSOPlan.db.select(dbConn, synIDFilter);
                                if (objSameSynIDList.Count > 0)
                                {
                                    uploadEmpORSO.EmpORSOID = ((EEmpORSOPlan)objSameSynIDList[0]).EmpORSOID;
                                }
                            }
                        }
                    }
                    if (uploadEmpORSO.EmpORSOID == 0)
                    {
                        lastEmpORSO = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", uploadEmpORSO.EmpID, new Match("EmpORSOEffFr", "<=", uploadEmpORSO.EmpORSOEffFr));
                        if (lastEmpORSO != null)
                        {
                            if (uploadEmpORSO.ORSOPlanID == lastEmpORSO.ORSOPlanID && uploadEmpORSO.EmpORSOEffTo == lastEmpORSO.EmpORSOEffTo)
                            {
                                continue;
                            }
                            else
                            {
                                // add postion terms with new ID
                                if (lastEmpORSO.EmpORSOEffFr.Equals(uploadEmpORSO.EmpORSOEffFr))
                                {
                                    uploadEmpORSO.EmpORSOID = lastEmpORSO.EmpORSOID;
                                    if (uploadEmpORSO.EmpORSOEffTo.Ticks == 0 && lastEmpORSO.EmpORSOEffTo.Ticks != 0)
                                    {
                                        EEmpORSOPlan afterEmpORSO = (EEmpORSOPlan)AppUtils.GetLastObj(dbConn, uploadDB, "EmpORSOEffFr", uploadEmpORSO.EmpID, new Match("EmpORSOEffFr", ">", lastEmpORSO.EmpORSOEffTo));
                                        if (afterEmpORSO != null)
                                        {
                                            uploadEmpORSO.EmpORSOEffTo = afterEmpORSO.EmpORSOEffFr.AddDays(-1);
                                        }
                                    }
                                }
                                else
                                {
                                    AND lastObjAndTerms = new AND();
                                    lastObjAndTerms.add(new Match("EmpORSOEffFr", ">", uploadEmpORSO.EmpORSOEffFr));
                                    if (!uploadEmpORSO.EmpORSOEffTo.Ticks.Equals(0))
                                    {
                                        lastObjAndTerms.add(new Match("EmpORSOEffFr", "<=", uploadEmpORSO.EmpORSOEffTo));
                                    }

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

                if (uploadEmpORSO.EmpORSOID <= 0)
                {
                    uploadEmpORSO.ImportActionStatus = ImportDBObject.ImportActionEnum.INSERT;
                }
                else
                {
                    uploadEmpORSO.ImportActionStatus = ImportDBObject.ImportActionEnum.UPDATE;
                }

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

                Hashtable values = new Hashtable();
                tempDB.populate(uploadEmpORSO, values);
                PageErrors pageErrors = new PageErrors(EUploadEmpPersonalInfo.db);
                tempDB.validate(pageErrors, values);
                if (pageErrors.errors.Count == 0)
                {
                    tempDB.insert(dbConn, uploadEmpORSO);
                }
                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));
        }