Beispiel #1
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 uploadEmpSkillList = tempDB.select(dbConn, sessionFilter);

            foreach (EUploadEmpSkill obj in uploadEmpSkillList)
            {
                EEmpSkill empSkill = new EEmpSkill();

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

                obj.ExportToObject(empSkill);

                if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.INSERT)
                {
                    empSkill.EmpID = ParseTemp.GetEmpIDFromUploadEmpID(dbConn, obj.UploadEmpID);
                    uploadDB.insert(dbConn, empSkill);
                }
                else if (obj.ImportActionStatus == ImportDBObject.ImportActionEnum.UPDATE)
                {
                    uploadDB.update(dbConn, empSkill);
                }
                tempDB.delete(dbConn, obj);
            }
        }
    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)
            {
                EEmpSkill o = new EEmpSkill();
                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);
    }
    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView row = (DataRowView)e.Item.DataItem;
        CheckBox    cb  = (CheckBox)e.Item.FindControl("ItemSelect");

        WebFormUtils.LoadKeys(sdb, row, cb);
        e.Item.FindControl("ItemSelect").Visible = toolBar.DeleteButton_Visible;

        EEmpSkill obj = new EEmpSkill();

        EEmpSkill.db.toObject(row.Row, obj);
        Hashtable values = new Hashtable();

        EEmpSkill.db.populate(obj, values);

        Binding eBinding;

        eBinding = new Binding(dbConn, EEmpSkill.db);
        eBinding.add(new BlankZeroLabelVLBinder(EEmpSkill.db, (Label)e.Item.FindControl("SkillID"), ESkill.VLSkill));
        eBinding.add(new BlankZeroLabelVLBinder(EEmpSkill.db, (Label)e.Item.FindControl("SkillLevelID"), ESkillLevel.VLSkillLevel));

        eBinding.init(Request, Session);

        eBinding.toControl(values);
    }
    protected void Delete_Click(object sender, EventArgs e)
    {
        EEmpSkill c = new EEmpSkill();

        c.EmpSkillID = 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_SkillSet_View.aspx?EmpID=" + EmpID.Value);
    }
    protected bool loadObject()
    {
        obj = new EEmpSkill();
        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);
    }
    protected void Save_Click(object sender, EventArgs e)
    {
        EEmpSkill c = new EEmpSkill();

        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 (!AppUtils.checkDuplicate(dbConn, CurEmpID, db, c, errors, "SkillID"))
        {
            return;
        }

        WebUtils.StartFunction(Session, FUNCTION_CODE, c.EmpID);
        if (CurID < 0)
        {
            //            Utils.MarkCreate(Session, c);

            db.insert(dbConn, c);
            CurID = c.EmpSkillID;
            //            url = Utils.BuildURL(-1, CurID);
        }
        else
        {
            //            Utils.Mark(Session, c);
            db.update(dbConn, c);
        }
        WebUtils.EndFunction(dbConn);


        Response.Redirect("Emp_Skill_View.aspx?EmpSkillID=" + CurID + "&EmpID=" + c.EmpID);
    }
Beispiel #7
0
        public DataTable UploadToTempDatabase(DataTable rawDataTable, int UserID, bool CreateCodeIfNotExists)
        {
            if (rawDataTable == null)
            {
                return(GetImportDataFromTempDatabase(null));
            }

            int rowCount = 1;

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

                EUploadEmpSkill uploadEmpSkill = new EUploadEmpSkill();
                string          EmpNo          = row[FIELD_EMP_NO].ToString().Trim();
                uploadEmpSkill.EmpID = Parse.GetEmpID(dbConn, EmpNo, UserID);
                if (uploadEmpSkill.EmpID < 0)
                {
                    errors.addError(ImportErrorMessage.ERROR_ACCESS_DENIED_EMP_NO, new string[] { EmpNo, rowCount.ToString() });
                }
                uploadEmpSkill.SkillID      = Parse.GetSkillID(dbConn, row[FIELD_SKILL].ToString(), CreateCodeIfNotExists, UserID);
                uploadEmpSkill.SkillLevelID = Parse.GetSkillLevelID(dbConn, row[FIELD_SKILL_LEVEL].ToString(), CreateCodeIfNotExists, UserID);

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

                uploadEmpSkill.SessionID       = m_SessionID;
                uploadEmpSkill.TransactionDate = UploadDateTime;

                if (uploadEmpSkill.EmpID != 0)
                {
                    //if (rawDataTable.Columns.Contains(FIELD_INTERNAL_ID))
                    //{
                    //    try
                    //    {
                    //        if (!row.IsNull(FIELD_INTERNAL_ID))
                    //        {
                    //            int tmpID = FromHexDecWithCheckDigit((string)row[FIELD_INTERNAL_ID]);
                    //            EEmpSkill tmpObj = new EEmpSkill();
                    //            tmpObj.EmpSkillID = tmpID;
                    //            if (EEmpSkill.db.select(dbConn, tmpObj))
                    //                uploadEmpSkill.EmpSkillID = 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();
                            uploadEmpSkill.SynID = strSynID;
                            if (!string.IsNullOrEmpty(strSynID))
                            {
                                DBFilter synIDFilter = new DBFilter();
                                synIDFilter.add(new Match("SynID", strSynID));
                                ArrayList objSameSynIDList = EEmpSkill.db.select(dbConn, synIDFilter);
                                if (objSameSynIDList.Count > 0)
                                {
                                    uploadEmpSkill.EmpSkillID = ((EEmpSkill)objSameSynIDList[0]).EmpSkillID;
                                }
                            }
                        }
                    }

                    if (uploadEmpSkill.EmpSkillID == 0)
                    {
                        AND andTerms = new AND();
                        andTerms.add(new Match("SkillID", uploadEmpSkill.SkillID));

                        EEmpSkill lastEmpSkill = (EEmpSkill)AppUtils.GetLastObj(dbConn, uploadDB, "EmpSkillID", uploadEmpSkill.EmpID, andTerms);


                        if (lastEmpSkill != null)
                        {
                            if (uploadEmpSkill.SkillLevelID == lastEmpSkill.SkillLevelID)
                            {
                                continue;
                            }
                            else
                            {
                                uploadEmpSkill.EmpSkillID = lastEmpSkill.EmpSkillID;
                            }
                        }
                    }
                }

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

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

                Hashtable values = new Hashtable();
                tempDB.populate(uploadEmpSkill, values);
                PageErrors pageErrors = new PageErrors(EUploadEmpPersonalInfo.db);
                tempDB.validate(pageErrors, values);
                if (pageErrors.errors.Count == 0)
                {
                    tempDB.insert(dbConn, uploadEmpSkill);
                }
                else
                {
                    pageErrors.addError(rawDataTable.TableName);
                    throw new HRImportException(pageErrors.getPrompt() + "(line " + rowCount.ToString() + ")");
                }
            }
            if (errors.List.Count > 0)
            {
                ClearTempTable();
                throw (new HRImportException(rawDataTable.TableName + "\r\n" + errors.Message()));
            }
            return(GetImportDataFromTempDatabase(null));
        }