示例#1
0
        public void insertData(DataTable p_dtImport)
        {
            this.m_db.BeginTransaction();
            try
            {
                DateTime l_dt    = DateTime.Now;
                string   l_dtstr = l_dt.ToString("yyyy-MM-dd HH:mm:sss");
                for (int i = 0; i < p_dtImport.Rows.Count; i++)
                {
                    string l_strUser_Guid = Guid.NewGuid().ToString();
                    //先刪除舊有的資料
                    string l_ACCOUNT = p_dtImport.Rows[i]["員工編號"].ToString();
                    string l_Email   = p_dtImport.Rows[i]["伊媚兒"].ToString();

                    string l_USER_GUID = getUSER_GUIDbyACCOUNT(l_ACCOUNT);
                    if (!l_USER_GUID.Equals(""))
                    {
                        DeleteTB_EB_USER(l_USER_GUID);
                        DeleteTB_EB_EMPL_DEP(l_USER_GUID);
                        DeleteTB_EB_EMPL_FUNC(l_USER_GUID);
                        DeleteTB_EB_EMPL(l_USER_GUID);
                        DeleteTB_EB_EMPL_HR(l_USER_GUID);
                        DeleteTB_EB_EMPL_HR_EDUACTION(l_USER_GUID);
                    }

                    //新增員工主檔
                    UserUCO userUCO    = new UserUCO();
                    string  l_PASSWORD = userUCO.HashPassword(p_dtImport.Rows[i]["員工編號"].ToString(), "");

                    string l_NAME    = p_dtImport.Rows[i]["員工姓名"].ToString();
                    string l_SID     = p_dtImport.Rows[i]["身分證字號"].ToString();
                    string l_OPTION1 = p_dtImport.Rows[i]["職等名稱"].ToString();
                    insertTB_EB_USER(l_strUser_Guid, l_ACCOUNT, l_NAME, l_PASSWORD, l_Email, l_dtstr, l_SID, l_OPTION1);

                    //新增部門&職級
                    string l_GroupID   = Utility.ReturnGROUP_ID(p_dtImport.Rows[i]["單位名稱"].ToString());
                    string l_TITLENAME = getTITLEIDbyTITLENAME(p_dtImport.Rows[i]["職稱名稱"].ToString());
                    insertTB_EB_EMPL_DEP(l_strUser_Guid, l_GroupID, l_TITLENAME);

                    //新增職務
                    string l_FUNC_ID = getFUNC_IDbyFUNC_NAME(p_dtImport.Rows[i]["職務名稱"].ToString());
                    insertTB_EB_EMPL_FUN(l_strUser_Guid, l_GroupID, l_FUNC_ID);

                    //新增兵役
                    string l_MILITARY_SERVICE = p_dtImport.Rows[i]["服役名稱"].ToString();
                    string l_MARRIED          = CoreMARRIED(p_dtImport.Rows[i]["婚姻狀況"].ToString());
                    insertTB_EB_EMPL_HR(l_strUser_Guid, l_MARRIED, l_MILITARY_SERVICE);

                    //新增學歷
                    string l_EDUC_ID = getEDUC_IDbyEDUC_NAME(p_dtImport.Rows[i]["教育程度"].ToString());
                    string l_SCHOOL  = p_dtImport.Rows[i]["畢業學校"].ToString();
                    string l_MAJOR   = p_dtImport.Rows[i]["科系名稱"].ToString();
                    insertTB_EB_EMPL_HR_EDUACTION(l_strUser_Guid, l_EDUC_ID, l_SCHOOL, l_MAJOR);

                    //新增員工
                    string l_SEX         = CoreSEX(p_dtImport.Rows[i]["性別"].ToString());
                    string l_BIRTHDAY    = p_dtImport.Rows[i]["出生年月日"].ToString();
                    string l_ARRIVE_DATE = p_dtImport.Rows[i]["到職日"].ToString();
                    insertTB_EB_EMPL(l_strUser_Guid, l_EDUC_ID, l_ARRIVE_DATE, l_BIRTHDAY, l_SEX);
                }
                this.m_db.CommitTransaction();
            }
            catch (Exception ex)
            {
                this.m_db.RollbackTransaction();
                throw ex;
            }
        }