SendUrgeMail(1)

using System;
using System.Data;

namespace ePOUrgeMail_Service
{
 /// <summary>
 /// Summary description for SendUrgeMail.
 /// </summary>
 public class SendUrgeMail
 {
  Notification.NotificationWS notes = new Notification.NotificationWS();

  public SendUrgeMail()
  {
   //
   // TODO: Add constructor logic here
   //
  }

  /// <summary>
  /// 對ePO中Processes表未完成的紀錄進行催發Mail
  /// </summary>
  public void StartSendUrgeMail()
  {
   try
   {
    PublicModule.bFinished_UrgeMail = false;

    PublicModule clsPublic = new PublicModule();
    string strSql = "EXEC sp_GetUrgeMailData " + PublicModule.Timer_Interval/60000;
    DataSet dsInitData = clsPublic.ExecuteQuerySql( strSql );

    if( dsInitData != null && dsInitData.Tables.Count == 2 )
    {
     DataView dvInitData_Single = dsInitData.Tables[0].DefaultView;
     DataView dvInitData_Collect = dsInitData.Tables[1].DefaultView;

     // 處理單筆催發Mail
     for( int i = 0; i < dvInitData_Single.Count; i ++ )
     {
      string SendRealName = dvInitData_Single[i]["real_name"].ToString().Trim();
      string SendMail = dvInitData_Single[i]["email"].ToString().Trim();

      if( dvInitData_Single[i]["Att_real_name"].ToString().Trim() != "" )
      {
       SendRealName += "," + dvInitData_Single[i]["Att_real_name"].ToString().Trim();
      }

      if( dvInitData_Single[i]["Att_email"].ToString().Trim() != "" )
      {
       SendMail += "," + dvInitData_Single[i]["Att_email"].ToString().Trim();
      }

      SendUrgeMailByWS_Single( SendRealName, SendMail,
       dvInitData_Single[i]["case_no"].ToString(), dvInitData_Single[i]["delay_time"].ToString(), dvInitData_Single[i]["case_type"].ToString() );
     }

     // 處理匯整催發Mail
     if( dvInitData_Collect.Count > 0 )
     {
      dvInitData_Collect.Sort = "real_name, email, case_type";

      string strSendRealName_old = dvInitData_Collect[0]["real_name"].ToString().Trim();
      string strSendMail_old = dvInitData_Collect[0]["email"].ToString().Trim();
      string strCaseType_old = dvInitData_Collect[0]["case_type"].ToString().Trim();
      int iListCout = 1;
      string CaseNoList = dvInitData_Collect[0]["case_no"].ToString().Trim();
      string CreatorList = dvInitData_Collect[0]["creator"].ToString().Trim();
      string DelayTimeList = dvInitData_Collect[0]["delay_time"].ToString().Trim(); 

      for( int i = 1; i < dvInitData_Collect.Count; i ++ )
      {
       string strSendRealName = dvInitData_Collect[i]["real_name"].ToString().Trim();
       string strSendMail = dvInitData_Collect[i]["email"].ToString().Trim();
       string strCaseType = dvInitData_Collect[i]["case_type"].ToString().Trim();

       if( (strSendRealName_old != strSendRealName) ||
        (strSendMail_old != strSendMail) ||
        (strCaseType_old != strCaseType))
       {
        string CaseListHTML = "<br>單號&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
         "&nbsp;&nbsp;&nbsp;&nbsp;經辦人&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
         "&nbsp;&nbsp;&nbsp;&nbsp;逾期時間</br>";
        CaseListHTML += "<br>---------------------------------------------------------------------------</br>";

        string[] arrCaseNoList = CaseNoList.Split( ',' );
        string[] arrCreatorList = CreatorList.Split( ',' );
        string[] arrDelayTimeList = DelayTimeList.Split( ',' );

        for( int j = 0; j < arrCaseNoList.Length; j ++ )
        {
         if( arrCaseNoList[j] != "" )
         {
          CaseListHTML += "<br>" + arrCaseNoList[j].ToString();
          for( int k = arrCaseNoList[j].ToString().Length; k < 23; k ++ )
          {
           CaseListHTML += "&nbsp;";
          }

          CaseListHTML += arrCreatorList[j].ToString();
          for( int k = arrCreatorList[j].ToString().Length; k < 27; k ++ )
          {
           CaseListHTML += "&nbsp;";
          }

          CaseListHTML += arrDelayTimeList[j].ToString() + "小時</br>";
         }
        }

        CaseListHTML += "<br>---------------------------------------------------------------------------</br>";

        string SendRealName = strSendRealName_old;
        string SendMail = strSendMail_old;
        if( dvInitData_Collect[i-1]["Att_real_name"].ToString().Trim() != "" )
        {
         SendRealName += "," + dvInitData_Collect[i-1]["Att_real_name"].ToString().Trim();
        }

        if( dvInitData_Collect[i-1]["Att_email"].ToString().Trim() != "" )
        {
         SendMail += "," + dvInitData_Collect[i-1]["Att_email"].ToString().Trim();
        }

        SendUrgeMailByWS_Collect( SendRealName, SendMail, iListCout, strCaseType_old, CaseListHTML );

        iListCout = 1;
        CaseNoList = dvInitData_Collect[i]["case_no"].ToString().Trim();
        CreatorList = dvInitData_Collect[i]["creator"].ToString().Trim();
        DelayTimeList = dvInitData_Collect[i]["delay_time"].ToString().Trim();
       }
       else
       {
        iListCout ++;
        CaseNoList += "," + dvInitData_Collect[i]["case_no"].ToString().Trim();
        CreatorList += "," + dvInitData_Collect[i]["creator"].ToString().Trim();
        DelayTimeList += "," + dvInitData_Collect[i]["delay_time"].ToString().Trim();
       }

       strSendRealName_old = strSendRealName;
       strSendMail_old = strSendMail;
       strCaseType_old = strCaseType;
      }

 

posted on 2009-01-05 15:17  ChinaLeo  阅读(112)  评论(0)    收藏  举报

导航