public void GetCustomFieldNew(string guid, string boss_id,ref DataRow dr)
    {
        ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();
        List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(guid), boss_id);
        ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO();
        List<ACMS.VO.CustomFieldItemVO> custFieldItemList;
        string custFieldSt = "";
        decimal ttl = 0;
        string[] FieldIDs;

        foreach (ACMS.VO.CustomFieldValueVO custFieldVO in myCustomFieldValueVOList)
        {
            if (custFieldVO.field_control.ToLower() == "textbox")
            {
               dr[ custFieldVO.field_name]= custFieldVO.field_value ;
            }
            custFieldSt = "";
            if (custFieldVO.field_control.ToLower() == "textboxlist")
            {
                ttl = 0;

                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                foreach (string fieldID in FieldIDs)
                {
                    foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList)
                    {
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            custFieldSt += custFieldItem.field_item_name + ":" + custFieldItem.field_item_text + "";
                            ttl += decimal.Parse(custFieldItem.field_item_text);
                            dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = decimal.Parse(custFieldItem.field_item_text);
                        }

                    }
                }

                custFieldSt += "合計: " + ttl.ToString() + "";
                dr[custFieldVO.field_name + "合計"] = ttl;

            }
            if (custFieldVO.field_control.ToLower() == "checkboxlist")
            {

                custFieldSt ="";

                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                foreach (string fieldID in FieldIDs)
                {
                    foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList)
                    {
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            custFieldSt += custFieldItem.field_item_name + custFieldItem.field_item_text + ",";
                            dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = "V";
                        }

                    }
                }
                //dr[custFieldVO.field_name] = custFieldSt;
            }
            if (custFieldVO.field_control.ToLower() == "radiobuttonlist")
            {
                custFieldSt+= "";

                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                foreach (string fieldID in FieldIDs)
                {
                    foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList)
                    {
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            custFieldSt += custFieldItem.field_item_name + custFieldItem.field_item_text + ",";
                            dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = "V";
                        }
                    }
                }
                //dr[custFieldVO.field_name] = custFieldSt;
            }

        }
    }
    //匯出名單
    protected void lbtnExport_Click(object sender, EventArgs e)
    {
        ACMS.DAO.ActivityRegistDAO regDao = new ACMS.DAO.ActivityRegistDAO();

        DataTable dtUnReg;
        try
        {
            string activity_id = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[0].ToString();
            string activity_type = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[1].ToString();
            //找出未報名清單
            dtUnReg = regDao.GetUnRegist(new Guid (activity_id));
            //「匯出名單」的功能需帶出「報名編號(團隊編號)、部門、工號、姓名、分機、e-mail與額外填寫欄位」等欄位資訊

            DataTable table = new DataTable();

            ACMS.DAO.ActivityRegistDAO myActivityRegistDAO = new ACMS.DAO.ActivityRegistDAO();
            table = myActivityRegistDAO.SelectEmployeesByID(new Guid(activity_id), activity_type);
            if (table.Rows.Count == 0 && dtUnReg.Rows.Count ==0)
            {
                clsMyObj.ShowMessage("沒有資料");
                return;
            }

            DataTable dt = new DataTable();

            dt.Columns.Add("報名編號", System.Type.GetType("System.String"));
            dt.Columns.Add("部門代號", System.Type.GetType("System.String"));
            dt.Columns.Add("部門", System.Type.GetType("System.String"));
            dt.Columns.Add("工號", System.Type.GetType("System.String"));
            dt.Columns.Add("姓名", System.Type.GetType("System.String"));
            dt.Columns.Add("分機", System.Type.GetType("System.String"));
            dt.Columns.Add("EMAIL", System.Type.GetType("System.String"));
            dt.Columns.Add("進度狀態", System.Type.GetType("System.String"));
            //=================================================================
            ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();

            List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList;
            try
            {
                if (table.Rows[0]["activity_type"].ToString() == "2")
                {
                    myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["boss_id"].ToString());
                    dt.Columns.Add("隊名", System.Type.GetType("System.String"));
                    dt.Columns.Add("隊長", System.Type.GetType("System.String"));
                }
                else
                {
                    myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["emp_id"].ToString());
                }

                dt.Columns.Add("身份證_護照", System.Type.GetType("System.String"));
                ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO();
                List<ACMS.VO.CustomFieldItemVO> myFieldVOS;
                foreach (ACMS.VO.CustomFieldValueVO custFieldVO in myCustomFieldValueVOList)
                {

                    if (custFieldVO.field_control.ToLower() == "textbox")
                    {
                        dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                    }

                    if (custFieldVO.field_control.ToLower() == "textboxlist")
                    {

                        myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                        foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                        {
                            dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.Decimal"));
                        }
                        dt.Columns.Add(custFieldVO.field_name + "合計", System.Type.GetType("System.Decimal"));
                    }
                    if (custFieldVO.field_control.ToLower() == "radiobuttonlist")
                    {
                        // dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                        myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                        foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                        {
                            dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String"));
                        }
                    }
                    if (custFieldVO.field_control.ToLower() == "checkboxlist")
                    {
                        //dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String"));
                        myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                        foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS)
                        {
                            dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String"));
                        }

                    }
                }
            }
            catch
            {
            }

            // dt.Columns.Add("自訂欄位", System.Type.GetType("System.String"));

            string teamName = "";
            int seqno = 0;
            int seqno1 = 0;
            DataRow dtDr;
            foreach (DataRow dr in table.Rows)
            {
                dtDr = dt.NewRow();
                if (dr["activity_type"].ToString() == "2")
                {
                    if (teamName != dr["boss_id"].ToString().Trim())
                    {
                        seqno++;
                    }
                    if (seqno > int.Parse(dr["team_max"].ToString()))
                    {
                        if (teamName != dr["boss_id"].ToString().Trim())
                        {
                            seqno1++;
                        }
                    }

                }
                else
                {
                    seqno++;
                    if (seqno > int.Parse(dr["team_max"].ToString()))
                    {
                        seqno1++;
                    }
                }
                if (seqno1 > 0)
                {
                    dtDr["報名編號"] = "備取:" + seqno1.ToString();
                }
                else
                {
                    dtDr["報名編號"] = "正取:" + seqno.ToString();
                }
                dtDr["部門代號"] = dr["DEPT_ID"].ToString();
                dtDr["部門"] = dr["C_DEPT_NAME"].ToString();
                dtDr["工號"] = dr["WORK_ID"].ToString();
                dtDr["姓名"] = dr["NATIVE_NAME"].ToString();
                dtDr["分機"] = dr["OFFICE_PHONE"].ToString();
                dtDr["EMAIL"] = dr["OFFICE_MAIL"].ToString();
                dtDr["進度狀態"] = dr["check_status"].ToString();
                dtDr["身份證_護照"] = dr["idno"].ToString();
                if (dr["activity_type"].ToString() == "2")
                {
                    if (dr["boss_id"].ToString() != teamName)
                    {
                        // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["boss_id"].ToString());
                        GetCustomFieldNew(dr["id"].ToString(), dr["boss_id"].ToString(), ref dtDr);
                        dtDr["隊名"] = dr["team_name"].ToString().Trim();
                        dtDr["隊長"] = dr["boss_id"].ToString().Trim();
                    }

                    teamName = dr["boss_id"].ToString().Trim();
                }
                else
                {
                    // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["emp_id"].ToString());
                    GetCustomFieldNew(dr["id"].ToString(), dr["emp_id"].ToString(), ref dtDr);
                }
                dt.Rows.Add(dtDr);
            }
            //加入未報名

            if (dtUnReg.Rows.Count > 0)
            {
                foreach (DataRow dr2 in dtUnReg.Rows)
                {
                    dtDr = dt.NewRow();
                    dtDr["部門代號"] = dr2["DEPT_ID"].ToString();
                    dtDr["部門"] = dr2["C_DEPT_NAME"].ToString();
                    dtDr["工號"] = dr2["WORK_ID"].ToString();
                    dtDr["姓名"] = dr2["NATIVE_NAME"].ToString();
                    dtDr["分機"] = dr2["OFFICE_PHONE"].ToString();
                    dtDr["EMAIL"] = dr2["OFFICE_MAIL"].ToString();
                    dtDr["進度狀態"] = "未報名";

                    dt.Rows.Add(dtDr);
                }
            }

            if ( table.Rows.Count > 0 || dtUnReg.Rows .Count >0)
            {
                table.Columns[0].ColumnName = "員工編號";
                table.Columns[1].ColumnName = "員工姓名";
                table.Columns[2].ColumnName = "員工部門";

                // 產生 Excel 資料流。
                //MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(table) as MemoryStream;
                MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(dt) as MemoryStream;
                // 設定強制下載標頭。
                Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", Server.UrlEncode("RegistedList")));
                // 輸出檔案。
                Response.BinaryWrite(ms.ToArray());

                ms.Close();
                ms.Dispose();
            }
            else
            {
                clsMyObj.ShowMessage("沒有資料!");
            }

        }
        catch (Exception ex)

        {
            WriteErrorLog("ExportExcel", ex.Message, "0");
        }
    }
Beispiel #3
0
    //個人報名成功寄信
    public static void RegistSuccess(string activity_id, string emp_id, string regist_by, string webPath, string path)
    {
        //andy

        ACMS.VO.ActivatyVO vo = new ACMS.VO.ActivatyVO();
        ACMS.BO.ActivatyBO bo = new ACMS.BO.ActivatyBO();
        string[] smtpto = System.Configuration.ConfigurationManager.AppSettings["SMTPTo"].Split(',');
        Guid id = new Guid(activity_id);
        vo = bo.SelectActivatyByActivatyID(id);

        MailMessage mail = new MailMessage();

        //收件者
        string mailtype = System.Configuration.ConfigurationManager.AppSettings["MailType"].ToLower();

        EmployeeVO empVO = new EmployeeVO();
        EMPloyeeDAO empDAO = new EMPloyeeDAO();
        empVO = empDAO.getEmployee(emp_id);
        ACMS.BO.ActivityRegistBO regBO = new ACMS.BO.ActivityRegistBO();
        ACMS.VO.ActivityRegistVO regVO = regBO.SelectActivityRegistByPK(id, emp_id);

        if ((string.Compare(mailtype, "online") != 0))
        {
            foreach (string st1 in smtpto)
            {
                mail.To.Add(st1);
            }

        }
        else
        {

            mail.To.Add(empVO.OFFICE_MAIL);
            if (emp_id != regist_by)
            {
                empVO = empDAO.getEmployee(regist_by);
                mail.To.Add(empVO.OFFICE_MAIL);
            }
        }

        //取得附加檔案
        ACMS.DAO.UpFilestDAO uDAO = new ACMS.DAO.UpFilestDAO();
        List<ACMS.VO.UpFileVO> listUpfileVo = uDAO.SELECT(path + "\\" + activity_id);
        Attachment data;
        foreach (ACMS.VO.UpFileVO UFvo in listUpfileVo)
        {
            data = new Attachment(UFvo.path);

            mail.Attachments.Add(data);

        }

        mail.Subject = vo.activity_name + ":個人報名成功通知";
        //寄件者
        mail.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["SMTPFrom"], "報名系統通知");
        mail.IsBodyHtml = true;

        ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();
        List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(id, emp_id);
        ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO();
        List<ACMS.VO.CustomFieldItemVO> custFieldItemList;
        string custFieldSt = "";
        decimal ttl = 0;
        string[] FieldIDs;
        #region "自訂欄位"

        foreach (CustomFieldValueVO custFieldVO in myCustomFieldValueVOList)
        {
            if (custFieldVO.field_control.ToLower() == "textbox")
            {
                custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font><br/>" + "<font color='black'>  " + custFieldVO.field_value.Trim() + "</font></td></tr>";
            }
            if (custFieldVO.field_control.ToLower() == "textboxlist")
            {
                ttl = 0;
                custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font></td></tr>";

                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                custFieldSt += "<tr><td><table>";
                foreach (string fieldID in FieldIDs)
                {
                    foreach (CustomFieldItemVO custFieldItem in custFieldItemList)
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            custFieldSt += "<tr><td>" + "  " + "<font color='black'>" + custFieldItem.field_item_name + "</font></td><td><font color='black'>$" + custFieldItem.field_item_text + "</font></td></tr>";
                            ttl += decimal.Parse(custFieldItem.field_item_text);
                        }
                }

                custFieldSt += "<tr><td>" + "" + "<font color='Red'>  合計:</font></td><td><font color='Red'>$" + ttl.ToString() + "</font></td></tr>";
                custFieldSt += "</table></td></tr>";

            }
            if (custFieldVO.field_control.ToLower() == "checkboxlist")
            {

                custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font></td></tr>";

                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                bool doIt = false;
                foreach (string fieldID in FieldIDs)
                {
                    foreach (CustomFieldItemVO custFieldItem in custFieldItemList)
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            if (!doIt)
                            {
                                custFieldSt += "";
                            }
                            custFieldSt += "<tr><td><font color='black'>  " + custFieldItem.field_item_name + custFieldItem.field_item_text + "</font></td></tr>";
                            doIt = true;
                        }
                }
               //' custFieldSt = custFieldSt.Substring(0, custFieldSt.Length - 1);
                //custFieldSt += "<br/>";

            }
            if (custFieldVO.field_control.ToLower() == "radiobuttonlist")
            {
                custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + "</b>:</font></td></tr>";
                //custFieldSt += "" + "<font color='black'>" + custFieldVO.field_value + "</font>";
                FieldIDs = custFieldVO.field_value.Split(',');
                custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id);
                foreach (string fieldID in FieldIDs)
                {
                    foreach (CustomFieldItemVO custFieldItem in custFieldItemList)
                        if (int.Parse(fieldID) == custFieldItem.field_item_id)
                        {
                            custFieldSt += "<tr><td>  " + "<font color='black'>" + custFieldItem.field_item_name + custFieldItem.field_item_text + "</font></td></tr>";

                        }
                }
               // custFieldSt += "<br/>";
            }

        }
        #endregion
        ACMS.VO.EmployeeVO regByEmpVO = empDAO.getEmployee(regist_by);
        empVO = empDAO.getEmployee(emp_id);
        if (custFieldSt != "")//有自訂欄位
        {
            mail.Body = "<table border='1' width='400px'><tr><td style='background:#548DD4;Color:White' align='center'  ><b>個人報名成功通知</b></td> </tr><tr><td style ='padding-right :50px;padding-left :50px'>"
                + "<table style='background:White;Color:Black'><tr><td> </td></tr><tr><td> </td></tr><tr><td>" + "<font color='Blue'><b>.姓名:</b></font><font color='black'>" + empVO.NATIVE_NAME + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.工號:</b></font><font color='black'>" + empVO.WORK_ID + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.活動名稱:</b></font><font color='black'>" + vo.activity_name + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.報名日期:</b></font><font color='black'>" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "</font></td></tr><tr><td>";

            //   + "" + "<font color='Blue'><b>.工號:</b></font>" + empVO.WORK_ID + "<br/>";
            if (vo.is_showperson_fix2.ToString().ToUpper() == "Y")
            {
                mail.Body += "" + "<font color='Blue'><b>.攜眷人數:</b></font><font color='black'>" + regVO.ext_people.ToString() + "</td></tr><tr><td>";
            }

            mail.Body += "" + "<font color='Blue'><b>" + @"------------------------------------------------------</b></font></td></tr><tr><td> </td></tr><tr><td>";

            mail.Body += "" + "<font color='Blue'><b>以下為此次您報名登入資料,敬請確認:</b></font><br/></td></tr>";

            mail.Body += "" + custFieldSt;
            //如果是他人代理報名,則顯示以下文字
            if (regist_by != emp_id)
            {
                mail.Body += "<tr><td>" + "<font color='Blue'><b>.此活動由</b></font><font color='Black'><u>" + regByEmpVO.NATIVE_NAME + "</u></font><font color='Blue'><b>代理您完成報名</b></font></td></tr>";
            }
            mail.Body += "<tr><td>" + "<font color='Blue'><b>.編號:</b></font><Font color='Red'>" + regBO.getSNByActivity(id, emp_id) + "<br/><br/></font></td></tr></table>" + "<tr><td align='center'> <a href='" + webPath + "?Type=1&ActID="
                + HttpUtility.UrlEncode(activity_id) + "&RegID=" + HttpUtility.UrlEncode(regist_by)
                + "'>" + "報名系統連結</a></td></tr>" + "<tr><td style='background:#548DD4' align='center'  >   &nbsp; </td> </tr></table>";
        }
        else
        {
            mail.Body = "<table border='1' width='400px'><tr><td style='background:#548DD4;Color:White' align='center'  ><b>個人報名成功通知</b></td> </tr><tr><td style ='padding-right :50px;padding-left :50px'>"
                + "<table style='background:White;Color:Black'><tr><td> </td></tr><tr><td> </td></tr><tr><td>" + "<font color='Blue'><b>.姓名:</b></font><font color='black'>" + empVO.NATIVE_NAME + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.工號:</b></font><font color='black'>" + empVO.WORK_ID + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.活動名稱:</b></font><font color='black'>" + vo.activity_name + "</font></td></tr><tr><td>"
                + "" + "<font color='Blue'><b>.報名日期:</b></font><font color='black'>" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "</font></td></tr>";
            //   + "" + "<font color='Blue'><b>.工號:</b></font>" + empVO.WORK_ID + "<br/>";
            if (vo.is_showperson_fix2.ToString().ToUpper() == "Y")
            {
                mail.Body += "<tr><td>" + "<font color='Blue'><b>.攜眷人數:</b></font><font color='black'>" + regVO.ext_people.ToString() + "</font></td></tr>";
            }

            mail.Body += "<tr><td>" + "<font color='Blue'><b>" + @"--------------------------------------------</b></font></td></tr><tr><td> </td></tr><tr><td>";

            mail.Body += "" + "<font color='Blue'><b>以下為此次您報名登入資料,敬請確認:</b></font><br/></td></tr>";

            //如果是他人代理報名,則顯示以下文字
            if (regist_by != emp_id)
            {
                mail.Body += "<tr><td>" + "<font color='Blue'><b>.此活動由</b></font><font color='Black'><u>" + regByEmpVO.NATIVE_NAME + "</u></font><font color='Blue'><b>代理您完成報名</b></font></td></tr>";
            }
            mail.Body += "<tr><td>" + "<font color='Blue'><b>.編號:</b></font><Font color='Red'>" + regBO.getSNByActivity(id, emp_id) + "<br/><br/></font></td></tr></table>" + "<tr><td align='center'> <a href='" + webPath + "?Type=1&ActID="
                + HttpUtility.UrlEncode(activity_id) + "&RegID=" + HttpUtility.UrlEncode(regist_by)
                + "'>" + "報名系統連結</a></td></tr>" + "<tr><td style='background:#548DD4' align='center'  >   &nbsp; </td> </tr></table>";

        }
        SmtpClient smtp = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"]);

        string emailAddr = "";
        foreach (MailAddress ma in mail.To)
        {
            emailAddr += ma.Address + ",";
        }
        string ccAddr = "";
        foreach (MailAddress ma1 in mail.CC)
        {
            ccAddr += ma1.Address + ",";
        }

        StringBuilder sb = new StringBuilder();

        sb.AppendLine("Insert  into MailItems( MailFrom, MailTo, MailServer, MailCC, MailSubject, MailBody, Status, Description) values( @MailFrom, @MailTo, @MailServer, @MailCC, @MailSubject, @MailBody, 0,'')");

        SqlParameter[] sqlParams = new SqlParameter[6];
        sqlParams[0] = new SqlParameter("@MailServer", SqlDbType.NVarChar);
        sqlParams[0].Value = System.Configuration.ConfigurationManager.AppSettings["SMTPServer"];
        sqlParams[1] = new SqlParameter("@MailTo", SqlDbType.NVarChar);
        sqlParams[1].Value = emailAddr.TrimEnd(',');
        sqlParams[2] = new SqlParameter("@MailCC", SqlDbType.NVarChar);
        sqlParams[2].Value = ccAddr.TrimEnd(',');
        sqlParams[3] = new SqlParameter("@MailSubject", SqlDbType.NVarChar);
        sqlParams[3].Value = mail.Subject;
        sqlParams[4] = new SqlParameter("@MailBody", SqlDbType.NVarChar);
        sqlParams[4].Value = mail.Body;
        sqlParams[5] = new SqlParameter("@MailFrom", SqlDbType.NVarChar);
        sqlParams[5].Value = System.Configuration.ConfigurationManager.AppSettings["SMTPFrom"];

        SqlConnection myConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
        SqlHelper.ExecuteNonQuery(myConn, CommandType.Text, sb.ToString(), sqlParams);

        try
        {
          //  smtp.Send(mail);

        }
        catch (Exception ex)
        {
            LogMsg.Log(ex.Message, 5, false);

        }
    }
    //編輯時載入自訂欄位資料
    private void GetDynamicValue()
    {
        ACMS.DAO.CustomFieldValueDAO myCustomFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();

        List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustomFieldValueDAO.SelectCustomFieldValue(ActivityID, RegistBy);

        foreach (ACMS.VO.CustomFieldValueVO myCustomFieldValueVO in myCustomFieldValueVOList)
        {
            Session["ShowPanel"] = true;
            if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOX")
            {
                TextBox MyControl = new TextBox();
                MyControl.ID = string.Format("txt{0}", myCustomFieldValueVO.field_id);
                try
                {
                    (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value;
                }
                catch
                {

                    InitQueryBlock(ActivityID.ToString());
                    (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value;

                }
            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOXLIST")
            {
                TCheckBoxList MyControl = new TCheckBoxList();
                MyControl.ID = string.Format("plh{0}", myCustomFieldValueVO.field_id);
                try
                {
                    (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;
                    CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null);
                }
                catch
                {

                    InitQueryBlock(ActivityID.ToString());
                    (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;
                    CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null);

                }

            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "CHECKBOXLIST")
            {
                TCheckBoxList MyControl = new TCheckBoxList();

                MyControl.ID = string.Format("cbl{0}", myCustomFieldValueVO.field_id);

                try
                {
                    (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;
                }
                catch
                {

                    InitQueryBlock(ActivityID.ToString());
                    (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;

                }

            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "RADIOBUTTONLIST")
            {
                TRadioButtonList MyControl = new TRadioButtonList();
                MyControl.ID = string.Format("radl{0}", myCustomFieldValueVO.field_id);
                try
                {
                    (MyControl as TRadioButtonList).ClearSelection();
                    (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value;
                }
                catch
                {

                    InitQueryBlock(ActivityID.ToString());
                    (MyControl as TRadioButtonList).ClearSelection();
                    (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value;

                }

            }

        }
    }
    //人員切換之後指定EmpID
    protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
    {
        RadioButton RadioButton1 = sender as RadioButton;
        RadioButton1.Checked = true;

        GridView_RegisterPeoplinfo.SelectedIndex = (RadioButton1.NamingContainer as GridViewRow).RowIndex;

        EmpID = GridView_RegisterPeoplinfo.DataKeys[GridView_RegisterPeoplinfo.SelectedIndex].Value.ToString();

        //載入個人資訊
        //個人固定欄位
        ObjectDataSource_fixA.SelectParameters["activity_id"].DefaultValue = ActivityID.ToString();
        ObjectDataSource_fixA.SelectParameters["emp_id"].DefaultValue = EmpID;

        FormView_fixA.DataBind();

        //載入動態欄位資料

        ACMS.DAO.CustomFieldValueDAO myCustomFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO();

        List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustomFieldValueDAO.SelectCustomFieldValue(ActivityID, EmpID);

        foreach (ACMS.VO.CustomFieldValueVO myCustomFieldValueVO in myCustomFieldValueVOList)
        {

            if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOX")
            {
                TextBox MyControl = new TextBox();
                MyControl.ID = string.Format("txt{0}", myCustomFieldValueVO.field_id);
                (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value;
            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOXLIST")
            {
                TCheckBoxList MyControl = new TCheckBoxList();
                MyControl.ID = string.Format("plh{0}", myCustomFieldValueVO.field_id);
                (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;

                CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null);

            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "CHECKBOXLIST")
            {
                TCheckBoxList MyControl = new TCheckBoxList();

                MyControl.ID = string.Format("cbl{0}", myCustomFieldValueVO.field_id);
                (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value;

            }
            else if (myCustomFieldValueVO.field_control.ToUpper() == "RADIOBUTTONLIST")
            {
                TRadioButtonList MyControl = new TRadioButtonList();
                MyControl.ID = string.Format("radl{0}", myCustomFieldValueVO.field_id);
                (MyControl as TRadioButtonList).ClearSelection();
                (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value;
            }

        }
    }