2024-01-15 14:20:27 +08:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using System ;
using System.Data ;
using System.Web.Services ;
using Microsoft.VisualBasic ;
using Microsoft.VisualBasic.CompilerServices ;
using static iMESCore . Base . iMESComXML ;
using static iMESCore . Base . iMESConst ;
using static iMESCore . Base . iMESComSubroutine ;
namespace wsSXS
{
public class wsENT
{
private MEStc_SXS . clsENT objENT = new MEStc_SXS . clsENT ( ) ;
private kcSYS . clsSYSUserLog objSYS = new kcSYS . clsSYSUserLog ( ) ; // 宣告Sys的物件
//private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化
//private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化
private System . Xml . XmlDocument xmlDoc = new System . Xml . XmlDocument ( ) ; // 用以讀取Xml字串
private DateTime ArriveTime ; // 送達時間
private string strIdentity ; // Identity XML字串
private string strReturnValue ; // ReturnValue XML字串
private string strException ; // Exception XML字串
private string strResult ; // Result XML字串
private string strMessage ; // Message XML字串
private iMESCore . Settings . AppSettings objSetting = new iMESCore . Settings . AppSettings ( ) ;
private string strResourceDir = "Resources" ;
public wsENT ( )
{
try
{
strResourceDir = System . IO . Path . Combine ( "wsUpdateResource" , objSetting [ "ResourceDir" ] . ToString ( ) ) ;
}
catch ( Exception )
{ }
}
#region - - - Subcontractor 外 包 商 - - -
[WebMethod(Description = "Load Subcontractor Data")]
public string LoadSubcontractor ( string InXml )
{
string LoadSubcontractorRet = default ( string ) ;
// 先給預設值,以判斷是否有傳入該參數
string SubcontractorNo = defString ;
int IssueState = 2 ;
ArriveTime = DateTime . Now ;
string AdditionalXml = "" ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 判斷是否有傳入IssueState,若有,表示要依IssueState查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
IssueState = Conversions . ToInteger ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ) ;
}
}
// 呼叫副程式處理查詢條件與Additional格式
AdditionalXml = CombineXMLQueryAdditional ( xmlDoc ) ;
// 呼叫Dll執行
strReturnValue = objENT . LoadSubcontractor ( SubcontractorNo , IssueState , AdditionalXml ) ;
strException = "" ;
strResult = "success" ;
}
catch ( iMESException . MESException ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Show Subcontractor Failed!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
catch ( Exception ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( defWSErrCode , ex . Message , "Show Subcontractor Failed!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
finally
{
// 將各部份之XML字串組起來並傳出
LoadSubcontractorRet = CombineXMLResponse ( strIdentity , strReturnValue , strException , strResult , "" ) ;
}
return LoadSubcontractorRet ;
}
[WebMethod(Description = "Add Subcontractor data")]
public string AddSubcontractor ( string InXml )
{
string AddSubcontractorRet = default ( string ) ;
// 先給預設值,以判斷是否有傳入該參數
var SubcontractorNo = default ( string ) ;
string SubcontractorName ;
2024-01-17 16:19:27 +08:00
string TelNo = defString ;
string EMail = defString ;
2024-01-15 14:20:27 +08:00
string Description = defString ;
string Creator = defString ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// Subcontractor一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorName = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorName Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorName Not Found!" ) ;
}
2024-01-17 16:19:27 +08:00
// TelNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
TelNo = xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// EMail
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
EMail = xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
2024-01-15 14:20:27 +08:00
// Description
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Description = xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Creator
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "creator" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "creator" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Creator = xmlDoc . DocumentElement . GetElementsByTagName ( "creator" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 呼叫Dll執行新增資料
2024-01-17 16:19:27 +08:00
objENT . AddSubcontractor ( SubcontractorNo , SubcontractorName , TelNo , EMail , Description , Creator ) ;
2024-01-15 14:20:27 +08:00
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "AddSubcontractor" ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Add Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Add Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
// 將各部份之XML字串組起來並傳出
AddSubcontractorRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return AddSubcontractorRet ;
}
[WebMethod(Description = "Edit Specified Subcontractor Data")]
public string EditSubcontractor ( string InXml )
{
string EditSubcontractorRet = default ( string ) ;
// 參數先給預設值,以判斷是否有傳入該參數
var SubcontractorNo = default ( string ) ;
int IssueState = defInteger ;
string SubcontractorName = defString ;
2024-01-17 16:19:27 +08:00
string TelNo = defString ;
string EMail = defString ;
2024-01-15 14:20:27 +08:00
string Description = defString ;
int DataStamp = defInteger ;
string AdditionalXml = "" ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// Subcontractor一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// IssueState一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
IssueState = Conversions . ToInteger ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ) ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
// SubcontractorName不可空白
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorName = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
if ( string . IsNullOrEmpty ( SubcontractorName ) )
{
throw new iMESException . MESException ( "0000-200001" , "SubcontractorName is empty!" ) ;
}
}
}
2024-01-17 16:19:27 +08:00
// TelNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
TelNo = xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// EMail
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
EMail = xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
2024-01-15 14:20:27 +08:00
// Description
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Description = xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// AdditionalXml
GetXMLTagValue ( ref AdditionalXml , xmlDoc , "additionalxml" ) ;
// DataStamp
GetXMLTagValue ( ref DataStamp , xmlDoc , "datastamp" , true ) ;
if ( IssueState = = 0 ) // Unfrozen時才可修改
{
// 有修改欄位值時
2024-01-17 16:19:27 +08:00
if ( ( SubcontractorName ? ? "" ) ! = defString | ( TelNo ? ? "" ) ! = defString | ( EMail ? ? "" ) ! = defString | ( Description ? ? "" ) ! = defString )
2024-01-15 14:20:27 +08:00
{
// 呼叫Dll執行修改
2024-01-17 16:19:27 +08:00
objENT . EditSubcontractor ( SubcontractorNo , SubcontractorName , TelNo , EMail , Description , AdditionalXml , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
2024-01-15 14:20:27 +08:00
}
}
2024-01-17 16:19:27 +08:00
2024-01-15 14:20:27 +08:00
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "EditSubcontractor" ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Edit Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Edit Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
// 將各部份之XML字串組起來並傳出
EditSubcontractorRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return EditSubcontractorRet ;
}
[WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")]
public string DelSubcontractor ( string InXml )
{
string DelSubcontractorRet = default ( string ) ;
var SubcontractorNo = default ( string ) ;
int IssueState ;
string strDelState ; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除
int DataStamp = defInteger ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// Subcontractor一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// IssueState一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
IssueState = Conversions . ToInteger ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ) ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
// DataStamp
GetXMLTagValue ( ref DataStamp , xmlDoc , "datastamp" , true ) ;
switch ( IssueState )
{
case 0 :
{
objENT . DelSubcontractor ( SubcontractorNo ) ;
strDelState = "未簽核刪除" ;
break ;
}
case 2 :
{
objENT . SetSubcontractorIssueState ( SubcontractorNo , - 1 , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
strDelState = "已簽核刪除" ;
break ;
}
case - 1 :
{
objENT . DelSubcontractor ( SubcontractorNo ) ;
strDelState = "不使用刪除" ;
break ;
}
default :
{
throw new iMESException . MESException ( "0000-200021" , "[%IssueState%]" ) ;
}
}
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "DelSubcontractor:" + strDelState ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Delete Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Delete Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
DelSubcontractorRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return DelSubcontractorRet ;
}
[WebMethod(Description = "Approve Specified Subcontractor Data")]
public string ApproveSubcontractor ( string InXml )
{
string ApproveSubcontractorRet = default ( string ) ;
string IssueNo = "SUBCONTRACTOR BASIS" ; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active.
var SubcontractorNo = default ( string ) ;
int IssueState ;
var objIssue = new kcISSUE . clsIssue ( ) ;
DataRow IssueDR ;
int DataStamp = defInteger ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// Subcontractor一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// IssueState一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
IssueState = Conversions . ToInteger ( xmlDoc . DocumentElement . GetElementsByTagName ( "issuestate" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ) ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "[%IssueState%]" ) ;
}
// DataStamp
GetXMLTagValue ( ref DataStamp , xmlDoc , "datastamp" , true ) ;
if ( IssueState = = 0 ) // 當狀態為Unfrozen時才作
{
// 去IssueManagement中找核准的方式
IssueDR = objIssue . GetIssueJobMap ( IssueNo ) ;
// 找不到表示bypass直接核准
if ( IssueDR [ "JobNo" ] is DBNull )
{
// 直接核准
objENT . SetSubcontractorIssueState ( SubcontractorNo , 2 , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "ApproveSubcontractor" ) ;
}
else
{
// 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准
DataRow tmpDR ;
tmpDR = objIssue . GetIssueJobDetail ( Conversions . ToString ( IssueDR [ "JobNo" ] ) ) ;
if ( tmpDR [ "JobNo" ] is DBNull )
{
objENT . SetSubcontractorIssueState ( SubcontractorNo , 2 , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "ApproveSubcontractor" ) ;
}
else
{
// 將狀態改為Pending,且應以找到的JobNo來進入簽核
// 填入簽核現況檔之Initial
var ApproveSQL = new Collection ( ) ;
var RejectSQL = new Collection ( ) ;
string tmpSQL ;
string IssueSubject ;
string IssueMasterNo ;
// 核准後應將狀態改為Active
2024-01-17 16:19:27 +08:00
tmpSQL = "Update tblENTSubcontractor_21691 Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'" ;
2024-01-15 14:20:27 +08:00
ApproveSQL . Add ( tmpSQL ) ;
// 退回則應將狀態回復到Unfrozen
2024-01-17 16:19:27 +08:00
tmpSQL = "Update tblENTSubcontractor_21691 Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'" ;
2024-01-15 14:20:27 +08:00
RejectSQL . Add ( tmpSQL ) ;
// Creator未傳入表示以目前的User
string Creator ;
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "creator" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "creator" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Creator = xmlDoc . DocumentElement . GetElementsByTagName ( "creator" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
Creator = GetXMLCurUserNo ( xmlDoc ) ;
}
}
else
{
Creator = GetXMLCurUserNo ( xmlDoc ) ;
}
IssueSubject = "SubcontractorNo: " + SubcontractorNo ;
IssueMasterNo = objIssue . InitIssueMasterNo ( ) ;
// 此筆資料進入Issue流程
objIssue . StartIssueProcess ( IssueMasterNo , ApproveSQL , RejectSQL , IssueNo , IssueDR [ "JobNo" ] . ToString ( ) , IssueSubject , Creator ) ;
// 將狀態改為Pending
objENT . SetSubcontractorIssueState ( SubcontractorNo , 1 , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "ApproveSubcontractor" ) ;
// 發Email給JobSerialNo=1之負責群組
objIssue . SendEmailToFirstGroup ( IssueMasterNo , IssueSubject ) ;
}
}
}
strException = "" ;
strResult = "success" ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Approve Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Approve Subcontractor failed!" , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
// 將各部份之XML字串組起來並傳出
ApproveSubcontractorRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return ApproveSubcontractorRet ;
}
// Subcontractor Contactor
[WebMethod(Description = "Load Subcontractor Contactor Data")]
public string LoadSubcontractorCont ( string InXml )
{
string LoadSubcontractorContRet = default ( string ) ;
// 先給預設值,以判斷是否有傳入該參數
string SubcontractorNo = defString ;
string ContactorName = defString ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
ContactorName = xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// 呼叫Dll執行
strReturnValue = objENT . LoadSubcontractorCont ( SubcontractorNo , ContactorName ) ;
strException = "" ;
strResult = "success" ;
}
catch ( iMESException . MESException ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Show Subcontractor Contactor Failed!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
catch ( Exception ex )
{
strReturnValue = "" ;
strException = CombineXMLException ( defWSErrCode , ex . Message , "Show Subcontractor Contactor Failed!!" , ex . StackTrace ) ;
strResult = "fail" ;
}
finally
{
// 將各部份之XML字串組起來並傳出
LoadSubcontractorContRet = CombineXMLResponse ( strIdentity , strReturnValue , strException , strResult , "" ) ;
}
return LoadSubcontractorContRet ;
}
[WebMethod(Description = "Add Subcontractor Contactor data")]
public string AddSubcontractorCont ( string InXml )
{
string AddSubcontractorContRet = default ( string ) ;
// 先給預設值,以判斷是否有傳入該參數
var SubcontractorNo = default ( string ) ;
var ContactorName = default ( string ) ;
string TelNo = defString ;
string FaxNo = defString ;
string Title = defString ;
string Address = defString ;
string EMail = defString ;
string Description = defString ;
string AdditionalXml = "" ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// SubcontractorNo一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// ContactorName一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
ContactorName = xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "ContactorName Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "ContactorName Not Found!" ) ;
}
// TelNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
TelNo = xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// FaxNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "faxno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "faxno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
FaxNo = xmlDoc . DocumentElement . GetElementsByTagName ( "faxno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Title
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "title" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "title" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Title = xmlDoc . DocumentElement . GetElementsByTagName ( "title" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Address
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "address" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "address" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Address = xmlDoc . DocumentElement . GetElementsByTagName ( "address" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// EMail
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
EMail = xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Description
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Description = xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// AdditionalXml
GetXMLTagValue ( ref AdditionalXml , xmlDoc , "additionalxml" ) ;
// 呼叫Dll執行新增資料
objENT . AddSubcontractorCont ( SubcontractorNo , ContactorName , TelNo , FaxNo , Title , Address , EMail , Description , AdditionalXml , GetXMLCurUserNo ( xmlDoc ) , ArriveTime ) ;
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "AddSubcontractorContactor ContactorName:" + ContactorName ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
// 將各部份之XML字串組起來並傳出
AddSubcontractorContRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return AddSubcontractorContRet ;
}
[WebMethod(Description = "Edit Specified Subcontractor Contactor Data")]
public string EditSubcontractorCont ( string InXml )
{
string EditSubcontractorContRet = default ( string ) ;
// 先給預設值,以判斷是否有傳入該參數
var SubcontractorNo = default ( string ) ;
var ContactorName = default ( string ) ;
string TelNo = defString ;
string FaxNo = defString ;
string Title = defString ;
string Address = defString ;
string EMail = defString ;
string Description = defString ;
int DataStamp = defInteger ;
string AdditionalXml = "" ;
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// SubcontractorNo一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// ContactorName一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
ContactorName = xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "ContactorName Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "ContactorName Not Found!" ) ;
}
// TelNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
TelNo = xmlDoc . DocumentElement . GetElementsByTagName ( "telno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// FaxNo
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "faxno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "faxno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
FaxNo = xmlDoc . DocumentElement . GetElementsByTagName ( "faxno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Title
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "title" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "title" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Title = xmlDoc . DocumentElement . GetElementsByTagName ( "title" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Address
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "address" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "address" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Address = xmlDoc . DocumentElement . GetElementsByTagName ( "address" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// EMail
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
EMail = xmlDoc . DocumentElement . GetElementsByTagName ( "email" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// Description
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
Description = xmlDoc . DocumentElement . GetElementsByTagName ( "description" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
// AdditionalXml
GetXMLTagValue ( ref AdditionalXml , xmlDoc , "additionalxml" ) ;
// DataStamp
GetXMLTagValue ( ref DataStamp , xmlDoc , "datastamp" , true ) ;
// If IssueState = 0 Then 'Unfrozen時才可修改
// 有修改欄位值時
if ( ( TelNo ? ? "" ) ! = defString | ( FaxNo ? ? "" ) ! = defString | ( Title ? ? "" ) ! = defString | ( Address ? ? "" ) ! = defString | ( EMail ? ? "" ) ! = defString | ( Description ? ? "" ) ! = defString )
{
// 呼叫Dll執行修改
objENT . EditSubcontractorCont ( SubcontractorNo , ContactorName , TelNo , FaxNo , Title , Address , EMail , Description , AdditionalXml , DataStamp : DataStamp , Reviser : GetXMLCurUserNo ( xmlDoc ) , ReviseDate : ArriveTime ) ;
}
// End If
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "EditSubcontractorContactor ContactorName:" + ContactorName ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
// 將各部份之XML字串組起來並傳出
EditSubcontractorContRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return EditSubcontractorContRet ;
}
[WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")]
public string DelSubcontractorCont ( string InXml )
{
string DelSubcontractorContRet = default ( string ) ;
var SubcontractorNo = default ( string ) ;
string ContactorName = defString ; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor
ArriveTime = DateTime . Now ;
try
{
// 讀取InXml字串
xmlDoc . LoadXml ( InXml ) ;
// 組Identity字串
strIdentity = CombineXMLIdentity ( Environment . MachineName , GetXMLCurUserNo ( xmlDoc ) , Conversions . ToString ( ArriveTime ) ) ;
// 開始解譯InXml字串
// SubcontractorNo一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
SubcontractorNo = xmlDoc . DocumentElement . GetElementsByTagName ( "subcontractorno" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
}
else
{
throw new iMESException . MESException ( "0000-200002" , "SubcontractorNo Not Found!" ) ;
}
// ContactorName一定要傳入
if ( xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Count > 0 )
{
if ( xmlDoc . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Count > 0 )
{
ContactorName = xmlDoc . DocumentElement . GetElementsByTagName ( "contactorname" ) . Item ( 0 ) . SelectNodes ( "value" ) . Item ( 0 ) . InnerText ;
}
}
objENT . DelSubcontractorCont ( SubcontractorNo , ContactorName ) ;
strException = "" ;
strResult = "success" ;
objSYS . AddEventLog ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , "DelSubcontractorContactor ContactorName:" + ContactorName ) ;
}
catch ( iMESException . MESException ex )
{
strException = CombineXMLException ( Conversions . ToString ( ex . ErrorCode ) , TranslateMsg ( ex . Message , GetXMLLanguageMode ( xmlDoc ) , strResourceDir ) , "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : Conversions . ToString ( ex . ErrorCode ) ) ;
}
catch ( Exception ex )
{
strException = CombineXMLException ( defWSErrCode , ex . Message , "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName , ex . StackTrace ) ;
strResult = "fail" ;
objSYS . AddErrorLog_ErrorCode ( "wsENT" , GetXMLCurUserNo ( xmlDoc ) , "SubcontractorNo" , SubcontractorNo , DateTime . Now , strException , ComputerName : GetXMLCurComputer ( xmlDoc ) , ErrorCode : defWSErrCode ) ;
}
finally
{
DelSubcontractorContRet = CombineXMLResponse ( strIdentity , "" , strException , strResult , "" ) ;
}
return DelSubcontractorContRet ;
}
#endregion
}
}