كود :
Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
If ItemName.Text = "" Then
ErrorProvider1.SetError(ItemName, "رجاً أكتب أسم الصنف")
ItemName.Focus()
Exit Sub
End If
If CategorizationName.Text = "" Then
ErrorProvider1.SetError(CategorizationName, "حدد تصنيفاً لهذا الصنف")
CategorizationName.Focus()
Exit Sub
End If
If FirstUnit.Text = "" Then
ErrorProvider1.SetError(FirstUnit, "أدخل وحدة قياس واحدة على الأقل لهذا الصنف")
FirstUnit.Focus()
Exit Sub
End If
If WholeSaleForFirstUnit.Text = "" Then
ErrorProvider1.SetError(WholeSaleForFirstUnit, "حدد سعر التكلفة لهذا الصنف")
WholeSaleForFirstUnit.Focus()
Exit Sub
End If
If WholeSaleForFirstUnit.Text = "" Then
ErrorProvider1.SetError(EnduserForFirstUnit, "حدد سعر المستهلك لهذا الصنف")
EnduserForFirstUnit.Focus()
Exit Sub
End If
'**********************************************************************************
ItemNumber.Text = Format(GET_LAST_RECORD("Items", "ItemInternal_ID") + 1, "MTR000000")
' **********************************************************************************
Try
'================= تخزين بيانات الصنف في قاعدة البيانات =============
Dim STR = "Select * From Items Where ItemName=N'" & ItemName.Text.Trim & "'"
Dim ADP = New SqlClient.SqlDataAdapter(STR, SQLConn)
Dim DS = New DataSet
ADP.Fill(DS)
Dim DT As DataTable
DT = DS.Tables(0)
If DT.Rows.Count > 0 Then
MessageBox.Show("الصنف موجود مسبقاً ، يرجى التأكد", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
ItemName.Focus()
Else
Dim DR = DT.NewRow
'***********************البيانات ألاساسية**************************************************
DR!ItemNumber = ItemNumber.Text
DR!ItemCode = ItemCode.Text
DR!ItemName = ItemName.Text
DR!CategorizationName = CategorizationName.Text
DR!LocationItem = LocationItem.Text
'DR!QTY = Val(QTY.Text)
DR!Model = Model.Text
DR!Provenance = Provenance.Text
DR!Origin = Origin.Text
DR!Company = Company.Text
DR!SizeItem = SizeItem.Text
DR!Quality = Quality.Text
'DR!Item_Cheack = Item_Cheack.Checked
DR!ColorItem = ColorItem.Text
'DR!Notes = Notes.Text
If ProductionDate.Text.Equals(String.Empty) Then DR!productionDate = ProductionDate.Text
If ExpaireDate.Text.Equals(String.Empty) Then DR!ExpaireDate = ExpaireDate.Text
DR!SaleStrategy = SaleStrategy.SelectedIndex
DR!Status = True
'***********************الوحدات ***************
DR!FirstUnit = FirstUnit.Text
DR!FirstUnitBarcode = FirstUnitBarcode.Text
DR!SecoundUnit = SecoundUnit.Text
DR!SecoundUnitBarcode = SecoundUnitBarcode.Text
DR!SecoundUnitOperatingConvesion = Val(SecoundUnitOperatingConvesion.Text)
DR!ThirdUnit = ThirdUnit.Text
DR!ThirdUnitBarcode = ThirdUnitBarcode.Text
DR!ThirdUnitOperatingConvrt = Val(ThirdUnitOperatingConvesion.Text)
'***********************خيارات الحدود ***************
DR!MaxLimitForFirstUnit = Val(MaxLimitForFirstUnit.Text)
DR!MinLimitForFirstUnit = Val(MinLimitForFirstUnit.Text)
DR!OrderLimitForFirstUnit = Val(OrderLimitForFirstUnit.Text)
DR!MaxLimitForSecoundUnit = Val(MaxLimitForSecoundUnit.Text)
DR!MinLimitForSecoundUnit = Val(MinLimitForSecoundUnit.Text)
DR!OrderLimitSecoundUnit = Val(OrderLimitSecoundUnit.Text)
DR!MinLimitForThirdUnit = Val(MaxLimitForThirdUnit.Text)
DR!MaxLimitForThirdUnit = Val(MinLimitForThirdUnit.Text)
DR!OrderLimitForThirdUnit = Val(OrderLimitForThirdUnit.Text)
If UnitDefault1.Checked = True Then DR!UnitDefault = 1
If UnitDefault2.Checked = True Then DR!UnitDefault = 2
If UnitDefault3.Checked = True Then DR!UnitDefault = 3
'***************************أسعار البيع****************************************************
Dim tableName As String = ""
Dim Flg As Boolean = False
Dim STR1 = ""
If SaleStrategy.SelectedIndex = 0 Then tableName = "ItemNormalPrices"
If SaleStrategy.SelectedIndex = 1 Then tableName = "ItemSecondPrices"
STR1 = "select * from " & tableName & " where ItemCode=N" & ItemName.Text.Trim & "'"
'********************************************************************************************
Dim Adp1 = New SqlClient.SqlDataAdapter(STR1, SQLConn)
Dim DS1 = New DataSet
Adp1.Fill(DS1)
Dim DT1 As DataTable
DT1 = DS1.Tables(0)
Dim DR1 As DataRow
If DT1.Rows.Count = 0 Then
DR1 = DT1.NewRow
Flg = False
Else
DR1 = DT1.Rows(0)
End If
'===========================================================
DR1!ItemNumber = ItemNumber.Text
DR1!ItemCode = ItemCode.Text
DR1!ItemName = ItemName.Text
DR1!wholeSaleForFirstUnit = Val(WholeSaleForFirstUnit.Text)
DR1!wholeSaleForSecondUnit = Val(WholeSaleForSecondUnit.Text)
DR1!wholeSaleForThirdUnit = Val(WholeSaleForThirdUnit.Text)
DR1!HalfwholeSaleForFirstUnit = Val(HalfWholeSaleForFirstUnit.Text)
DR1!HalfwholeSecondUnit = Val(HalfwholeSecondUnit.Text)
DR1!HalfwholeSaleForThirdUnit = Val(HalfWholeSaleForThirdUnit.Text)
DR1!DistributorForFirstUnit = Val(DistributorForFirstUnit.Text)
DR1!DistributorForSecondUnit = Val(DistributorForSecondUnit.Text)
DR1!DistributorForThirdUnit = Val(DistributorForThirdUnit.Text)
DR1!ExportForFirstUnit = Val(ExportForFirstUnit.Text)
DR1!ExportForSecondUnit = Val(ExportForSecondUnit.Text)
DR1!ExportForThirdUnit = Val(ExportForThirdUnit.Text)
DR1!RetailForFirstUnit = Val(RetailForFirstUnit.Text)
DR1!RetailForSecondUnit = Val(RetailForSecondUnit.Text)
DR1!RetailForThirdUnit = Val(RetailForThirdUnit.Text)
DR1!EndUserForFirstUnit = Val(EnduserForFirstUnit.Text)
DR1!EndUserForSecondUnit = Val(EnduserForSecondUnit.Text)
DR1!EndUserForThirdUnit = Val(EnduserForThirdUnit.Text)
DR1!Amanufacturing = Amanufacturing.Checked
If SaleStrategy.SelectedIndex = 1 Then
DR1!FromDate = FromDate.Value
DR1!ToDate = ToDate.Value
End If
If PriceDefault1.Checked = True Then DR1!PriceDefault = 1
If PriceDefault2.Checked = True Then DR1!PriceDefault = 2
If PriceDefault3.Checked = True Then DR1!PriceDefault = 3
If PriceDefault4.Checked = True Then DR1!PriceDefault = 4
If PriceDefault5.Checked = True Then DR1!PriceDefault = 5
If PriceDefault6.Checked = True Then DR1!PriceDefault = 6
If Flg = False Then DT1.Rows.Add(DR1)
Dim Cmd1 As New SqlClient.SqlCommandBuilder(Adp1)
Adp1.Update(DT1)
'***********************تشفير الصورة******************
If OpenFileDialog1.FileName <> "" Then
Dim ImgByteArry() As Byte
Dim Stream As New MemoryStream
ItemImage.Image.Save(Stream, ImageFormat.Jpeg)
ImgByteArry = Stream.ToArray()
Stream.Close()
DR!ItemImage = ImgByteArry
End If
'**************************************
DT.Rows.Add(DR)
Dim cmd As New SqlClient.SqlCommandBuilder(ADP)
ADP.Update(DT)
BtnNew_Click(Nothing, Nothing)
ItemImage.Image = Nothing
MsgBox(" تم حفظ بيانات الصنف فى قاعدة البيانات بنجاح", MsgBoxStyle.Information, "رسالة تأكيد")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "فشل فى عملية الحفظ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
End Try
End Sub