Imports iMESExceptionManager Public Class frmSubcontractorDef Inherits COM_Kit.frmDefTemplat '//Public Variables Public EditDataRow As DataRow Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy Public PrivFunNo As String = defString '//Web Service相關變數 ' 2016 YF, Dim wsENT As New wsENT.wsENT Dim InXml As String Dim OutXml As String Dim strIdentity As String Dim strParameter As String Friend WithEvents lblJT21699 As Label Friend WithEvents txtJT21699 As TextBox Dim intDataStamp As Integer '紀錄DataStamp #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox Friend WithEvents lblDescription As System.Windows.Forms.Label Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor Private Sub InitializeComponent() Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() Me.txtDescription = New System.Windows.Forms.RichTextBox() Me.lblDescription = New System.Windows.Forms.Label() Me.lblSubcontractorNo = New System.Windows.Forms.Label() Me.lblSubcontractorName = New System.Windows.Forms.Label() Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtJT21699 = New System.Windows.Forms.TextBox() Me.lblJT21699 = New System.Windows.Forms.Label() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxSubcontractorData.SuspendLayout() CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'gbxBasisData ' Me.gbxBasisData.Location = New System.Drawing.Point(12, 225) Me.gbxBasisData.Size = New System.Drawing.Size(562, 70) ' 'btnApply ' Me.btnApply.Location = New System.Drawing.Point(486, 304) ' 'btnConfirm ' Me.btnConfirm.Location = New System.Drawing.Point(298, 304) ' 'btnClose ' Me.btnClose.Location = New System.Drawing.Point(392, 304) ' 'gbxSubcontractorData ' Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.gbxSubcontractorData.Controls.Add(Me.lblJT21699) Me.gbxSubcontractorData.Controls.Add(Me.txtJT21699) Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) Me.gbxSubcontractorData.Name = "gbxSubcontractorData" Me.gbxSubcontractorData.Size = New System.Drawing.Size(562, 209) Me.gbxSubcontractorData.TabIndex = 7 Me.gbxSubcontractorData.TabStop = False Me.gbxSubcontractorData.Text = "Subcontractor Data" ' 'txtDescription ' Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtDescription.Location = New System.Drawing.Point(128, 86) Me.txtDescription.Name = "txtDescription" Me.txtDescription.Size = New System.Drawing.Size(334, 67) Me.txtDescription.TabIndex = 2 Me.txtDescription.Text = "" ' 'lblDescription ' Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblDescription.Location = New System.Drawing.Point(56, 88) Me.lblDescription.Name = "lblDescription" Me.lblDescription.Size = New System.Drawing.Size(64, 14) Me.lblDescription.TabIndex = 13 Me.lblDescription.Text = "Description" Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'lblSubcontractorNo ' Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) Me.lblSubcontractorNo.Name = "lblSubcontractorNo" Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) Me.lblSubcontractorNo.TabIndex = 5 Me.lblSubcontractorNo.Text = "Subcontractor No" Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'lblSubcontractorName ' Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) Me.lblSubcontractorName.Name = "lblSubcontractorName" Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) Me.lblSubcontractorName.TabIndex = 9 Me.lblSubcontractorName.Text = "Subcontractor Name" Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'txtSubcontractorNo ' Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorNo.Appearance = Appearance1 Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) Me.txtSubcontractorNo.Name = "txtSubcontractorNo" Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) Me.txtSubcontractorNo.TabIndex = 0 ' 'txtSubcontractorName ' Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorName.Appearance = Appearance2 Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) Me.txtSubcontractorName.Name = "txtSubcontractorName" Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) Me.txtSubcontractorName.TabIndex = 1 ' 'txtJT21699 ' Me.txtJT21699.Cursor = System.Windows.Forms.Cursors.IBeam Me.txtJT21699.Location = New System.Drawing.Point(347, 25) Me.txtJT21699.Name = "txtJT21699" Me.txtJT21699.Size = New System.Drawing.Size(115, 21) Me.txtJT21699.TabIndex = 14 ' 'lblJT21699 ' Me.lblJT21699.AutoSize = True Me.lblJT21699.Location = New System.Drawing.Point(291, 24) Me.lblJT21699.Name = "lblJT21699" Me.lblJT21699.Size = New System.Drawing.Size(50, 15) Me.lblJT21699.TabIndex = 15 Me.lblJT21699.Text = "JT21699" ' 'frmSubcontractorDef ' Me.ClientSize = New System.Drawing.Size(586, 349) Me.Controls.Add(Me.gbxSubcontractorData) Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Name = "frmSubcontractorDef" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "ENT Subcontractor Define" Me.Controls.SetChildIndex(Me.btnClose, 0) Me.Controls.SetChildIndex(Me.btnConfirm, 0) Me.Controls.SetChildIndex(Me.btnApply, 0) Me.Controls.SetChildIndex(Me.gbxBasisData, 0) Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() Me.gbxSubcontractorData.ResumeLayout(False) Me.gbxSubcontractorData.PerformLayout() CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub #End Region Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Cursor.Current = Cursors.WaitCursor Select Case DefMode Case 0 Me.Text = Me.Text & "(ADD)" Case 1 Me.Text = Me.Text & "(EDIT)" Case 2 Me.Text = Me.Text & "(Copy)" Case Else Me.Text = Me.Text & "(Unknown)" End Select '做為MainForm判斷是否重新LoadData的依據 gReturnKeyValue = "" ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) ' 2016 YF, wsENT.EnableDecompression = True If Not EditDataRow Is Nothing Then txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString txtSubcontractorName.Text = EditDataRow.Item("JT21699").ToString 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 txtDescription.Text = EditDataRow.Item("Description").ToString End If If DefMode = 0 Or DefMode = 2 Then 'Add or Copy SetCreator(gUserNo) SetCreateDate(Now) ElseIf DefMode = 1 Then 'Edit txtSubcontractorNo.ReadOnly = True SetCreator(EditDataRow.Item("Creator").ToString) SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) SetReviser(gUserNo) SetReviseDate(Now) intDataStamp = EditDataRow.Item("DataStamp") End If btnApplyEnabled = False '語系切換 Call ExeChangeResource(Me, gLanguageMode) ExeGroupControlPriv(Me, PrivFunNo) Cursor.Current = Cursors.Default End Sub Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated If DefMode = 0 Or DefMode = 2 Then txtSubcontractorNo.Focus() Else txtSubcontractorName.Focus() End If End Sub Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Cursor.Current = Cursors.WaitCursor If funAddorEdit(sender) < 0 Then Exit Sub Me.Close() Cursor.Current = Cursors.Default End Sub Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Close() End Sub Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Cursor.Current = Cursors.WaitCursor If funAddorEdit(sender) < 0 Then Exit Sub If DefMode = 0 Or DefMode = 2 Then txtSubcontractorNo.Focus() Else txtSubcontractorName.Focus() End If Cursor.Current = Cursors.Default btnApplyEnabled = False End Sub Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() End Sub #Region "Control KeyPress" Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click txtSubcontractorNo.SelectAll() End Sub Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter txtSubcontractorNo.SelectAll() End Sub Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress If e.KeyChar = Convert.ToChar(13) Then SendKeys.Send("{TAB}") End If End Sub Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) End Sub Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged btnApplyEnabled = True End Sub Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click txtSubcontractorName.SelectAll() End Sub Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter txtSubcontractorName.SelectAll() End Sub Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress If e.KeyChar = Convert.ToChar(13) Then SendKeys.Send("{TAB}") End If End Sub Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged btnApplyEnabled = True End Sub Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click txtDescription.SelectAll() End Sub Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter txtDescription.SelectAll() End Sub Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged btnApplyEnabled = True End Sub #End Region #Region "Others" Private Function funAddorEdit(sender As Object) As Integer funAddorEdit = -1 '****************************************************************************** '1.基本檢查 '****************************************************************************** If txtSubcontractorNo.Text = "" Then iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) txtSubcontractorNo.Focus() Exit Function End If If txtSubcontractorName.Text = "" Then iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) txtSubcontractorName.Focus() Exit Function End If '2. '****************************************************************************** '寫回資料庫 '****************************************************************************** Dim XmlDoc As New XmlDocument Try strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") strParameter = strParameter & CombineXMLParameter("jt21699", "JT21699", "String", CInput(txtJT21699.Text), "") If DefMode = 0 Or DefMode = 2 Then 'Add or Copy strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) Else '修改 strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") ' 增加Datastamp strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") InXml = CombineXMLRequest(strIdentity, strParameter) ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) End If XmlDoc.LoadXml(OutXml) If ChkExecutionSuccess(XmlDoc) Then gReturnKeyValue = txtSubcontractorNo.Text funAddorEdit = 0 If sender.Equals(btnApply) Then intDataStamp += 1 End If Else ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) End If Catch ex As Exception 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) End Try XmlDoc = Nothing End Function #End Region End Class