08-10-20, 05:03 PM
(آخر تعديل لهذه المشاركة : 08-10-20, 05:05 PM {2} بواسطة sofiane-phy.)
السلام عليكم وجدت مشروع على النت وانا بصدد التعديل عليه لكني توقفت عند هذه النقطة وهي كيفية حذف فاتورة مبيعات بعد الحفظ يعني بعدما نقصت الكمية من المخزون ياريت تساعدوني بارك الله فيكم
كود الحفظ هو كالتالي :
كود :
Private Sub BtnSave_Click(sender As System.Object, e As System.EventArgs) Handles BtnSave.Click
Total.Text = Val(Total.Text) + Val(DiscountTotal.Text)
Insert_Sale_Tbl(Sale_ID.Text, Sale_Date.Value, Inv_Type.Text, SalesMan.Text, Cus_ID.Text, Item_Count.Text, Total.Text, TaxValue.Text, TaxTotal.Text, DiscountValue.Text, DiscountTotal.Text, FinalTotal.Text, Paid.Text, UnPaid.Text)
Insert_Sale_Details_Tbl()
UpdateStore()
Update_Cus_Balance()
Insert_Cus_Move_Tbl(Sale_Date.Value, Cus_ID.Text, "فاتورة مبيعات", FinalTotal.Text, Paid.Text, UnPaid.Text, SalesMan.Text)
End Sub
كود :
Public Sub Insert_Sale_Details_Tbl()
For i As Integer = 0 To dgvSale.Rows.Count - 1
Dim SaleID As Integer = Integer.Parse(Sale_ID.Text)
Dim Prd_ID As Integer = Integer.Parse(dgvSale.Rows(i).Cells(0).Value)
Dim SalePrice As Decimal = Decimal.Parse(dgvSale.Rows(i).Cells(4).Value)
Dim Qty As Integer = Integer.Parse(dgvSale.Rows(i).Cells(5).Value)
Dim TotalAmount As Decimal = Decimal.Parse(dgvSale.Rows(i).Cells(6).Value)
Dim Cmd As New SqlCommand
With Cmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Insert Into sale_Details_Tbl ( Sale_ID,Prd_ID,SalePrice,Qty,TotalAmount)values(@Sale_ID,@Prd_ID,@SalePrice,@Qty,@TotalAmount)"
.Parameters.Clear()
.Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = SaleID
.Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Prd_ID
.Parameters.AddWithValue("@SalePrice", SqlDbType.Decimal).Value = SalePrice
.Parameters.AddWithValue("@Qty", SqlDbType.Int).Value = Qty
.Parameters.AddWithValue("@TotalAmount", SqlDbType.Decimal).Value = TotalAmount
End With
If Con.State = 1 Then Con.Close()
Con.Open()
Cmd.ExecuteNonQuery()
Con.Close()
Cmd = Nothing
Next
MsgBox("تم إضافة فاتورة المبيعات بنجاح ", MsgBoxStyle.Information, "حفظ")
End Sub
كود :
Public Sub UpdateStore()
For i As Integer = 0 To dgvSale.Rows.Count - 1
Dim cmd1 As New SqlCommand("select * from Store_Tbl where Prd_ID =@Prd_ID ", Con)
cmd1.Parameters.Clear()
cmd1.Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = dgvSale.Rows(i).Cells(0).Value
Dim dt As New DataTable
Dim adp As New SqlDataAdapter(cmd1)
adp.Fill(dt)
If dt.Rows.Count > 0 Then
Dim Cmd2 As New SqlCommand
With Cmd2
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Update Store_Tbl Set Qty = Qty - " & dgvSale.Rows(i).Cells(5).Value & " Where Prd_ID = @Prd_ID"
.Parameters.Clear()
.Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = dgvSale.Rows(i).Cells(0).Value
End With
If Con.State = 1 Then Con.Close()
Con.Open()
Cmd2.ExecuteNonQuery()
Con.Close()
Cmd2 = Nothing
End If
Next
MsgBox("تم تعديل الكميات في المستودع بنجاح", MsgBoxStyle.Information, "تعديل")
End Sub
كود :
Public Sub Update_Cus_Balance()
Dim Cmd2 As New SqlCommand
With Cmd2
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Update Customer_Tbl Set Onhim = Onhim + " & UnPaid.Text & " Where Cus_ID = @Cus_ID"
.Parameters.Clear()
.Parameters.AddWithValue("@Cus_ID", SqlDbType.Int).Value = Cus_ID.Text
End With
If Con.State = 1 Then Con.Close()
Con.Open()
Cmd2.ExecuteNonQuery()
Con.Close()
Cmd2 = Nothing
'MsgBox(".......", MsgBoxStyle.Information, "حفظ")
End Sub
------------------------
منكم أتعلم
------------------------