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 txtDescription As TextBox Friend WithEvents PictureBox1 As PictureBox Friend WithEvents txtCompany As TextBox Friend WithEvents lblCompany As Label 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 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 resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSubcontractorDef)) 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.TextBox() Me.PictureBox1 = New System.Windows.Forms.PictureBox() 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.lblCompany = New System.Windows.Forms.Label() Me.txtCompany = New System.Windows.Forms.TextBox() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxSubcontractorData.SuspendLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() 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, 185) Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) ' 'btnApply ' Me.btnApply.Location = New System.Drawing.Point(403, 264) ' 'btnConfirm ' Me.btnConfirm.Location = New System.Drawing.Point(215, 264) ' 'btnClose ' Me.btnClose.Location = New System.Drawing.Point(309, 264) ' '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.txtCompany) Me.gbxSubcontractorData.Controls.Add(Me.lblCompany) Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) Me.gbxSubcontractorData.Controls.Add(Me.PictureBox1) 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(479, 169) Me.gbxSubcontractorData.TabIndex = 7 Me.gbxSubcontractorData.TabStop = False Me.gbxSubcontractorData.Text = "Subcontractor Data" ' 'txtDescription ' Me.txtDescription.Location = New System.Drawing.Point(128, 85) Me.txtDescription.Name = "txtDescription" Me.txtDescription.Size = New System.Drawing.Size(152, 21) Me.txtDescription.TabIndex = 15 ' 'PictureBox1 ' Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) Me.PictureBox1.Location = New System.Drawing.Point(297, 83) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(165, 80) Me.PictureBox1.TabIndex = 14 Me.PictureBox1.TabStop = False ' '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(54, 88) Me.lblDescription.Name = "lblDescription" Me.lblDescription.Size = New System.Drawing.Size(66, 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 ' 'lblCompany ' Me.lblCompany.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblCompany.Location = New System.Drawing.Point(57, 115) Me.lblCompany.Name = "lblCompany" Me.lblCompany.Size = New System.Drawing.Size(63, 14) Me.lblCompany.TabIndex = 16 Me.lblCompany.Text = "Company" Me.lblCompany.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'txtCompany ' Me.txtCompany.Location = New System.Drawing.Point(128, 115) Me.txtCompany.Name = "txtCompany" Me.txtCompany.Size = New System.Drawing.Size(152, 21) Me.txtCompany.TabIndex = 17 ' 'frmSubcontractorDef ' Me.ClientSize = New System.Drawing.Size(503, 309) 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.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() 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 '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) txtDescription.SelectAll() End Sub Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) txtDescription.SelectAll() End Sub Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 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("company", "Company", "String", CInput(txtCompany.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_21681.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_21681.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 Private Sub txtSubcontractorNo_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorNo.ValueChanged End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtDescription.TextChanged End Sub Private Sub lblDescription_Click(sender As Object, e As EventArgs) Handles lblDescription.Click End Sub Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click End Sub Private Sub txtCompany_TextChanged(sender As Object, e As EventArgs) Handles txtCompany.TextChanged End Sub Private Sub txtSubcontractorName_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorName.ValueChanged End Sub #End Region End Class