Sub datasave()
Try
cn = New SqlConnection(My.Settings.PharmacyConnectionString)
cn.Open()
tr = cn.BeginTransaction
For i = 0 To DgvStockAdj.RowCount - 1
q = "insert into stock_header (grn_id,item_id,uom_id,quantity,batch_no,expiry_date,mrp_rate,ep_rate,Stock_Type,user_id,created_date,sale_price,stock_quantity,itemtype)values(@grn_id,@item_id,@uom_id,@quantity,@batch_no,@expiry_date,@mrp_rate,@ep_rate,@Stock_Type,@user_id,@created_date,@sale_price,@stock_quantity,@item_type)"
cmd = New SqlCommand(q, cn)
cmd.Parameters.AddWithValue("@grn_id", 0)
cmd.Parameters.AddWithValue("@item_id", DgvStockAdj.Rows(i).Cells("ItemId").Value)
cmd.Parameters.AddWithValue("@uom_id", lbluom.Text) ''
cmd.Parameters.AddWithValue("@quantity", DgvStockAdj.Rows(i).Cells("add").Value)
cmd.Parameters.AddWithValue("@batch_no", CStr(DgvStockAdj.Rows(i).Cells("Batch").Value))
cmd.Parameters.AddWithValue("@expiry_date", DtpDate.Value.Date)
cmd.Parameters.AddWithValue("@mrp_rate", DgvStockAdj.Rows(i).Cells("MRP").Value)
cmd.Parameters.AddWithValue("@ep_rate", DgvStockAdj.Rows(i).Cells("Rate").Value)
If CInt(DgvStockAdj.Rows(i).Cells("add").Value) <> 0 Then
cmd.Parameters.AddWithValue("@Stock_Type", "stock in")
cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("add").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
ElseIf CInt(DgvStockAdj.Rows(i).Cells("deduct").Value) <> 0 Then
cmd.Parameters.AddWithValue("@Stock_Type", "stock out")
cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("deduct").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
End If
cmd.Parameters.AddWithValue("@user_id", 1)
cmd.Parameters.AddWithValue("@created_date", Now)
cmd.Parameters.AddWithValue("@sale_price", DgvStockAdj.Rows(i).Cells("Rate").Value)
cmd.Parameters.AddWithValue("@item_type", DgvStockAdj.Rows(i).Cells("Type").Value)
cmd.Transaction = tr
cmd.ExecuteNonQuery()
q1 = "insert into stock_adjustment(id,item_id,item_name,batch_no,add1,deduct,uomid,ep_rate,amount,type,manf,expiry_date,mrp,created_date)values(@id,@item_id,@item_name,@batch_no,@add1,@deduct,@uomid,@ep_rate,@amount,@type,@manf,@expiry_date,@mrp,@created_date)"
cmd1 = New SqlCommand(q1, cn)
cmd1.Parameters.AddWithValue("@id", TxtBillNo1.Text)
cmd1.Parameters.AddWithValue("@item_id", DgvStockAdj.Rows(i).Cells("itemid").Value) ''
cmd1.Parameters.AddWithValue("@item_name", DgvStockAdj.Rows(i).Cells("itemname").Value)
cmd1.Parameters.AddWithValue("@batch_no", DgvStockAdj.Rows(i).Cells("Batch").Value)
cmd1.Parameters.AddWithValue("@add1", DgvStockAdj.Rows(i).Cells("add").Value)
cmd1.Parameters.AddWithValue("@deduct", DgvStockAdj.Rows(i).Cells("deduct").Value)
cmd1.Parameters.AddWithValue("@uomid", lbluom.Text)
cmd1.Parameters.AddWithValue("@ep_rate", DgvStockAdj.Rows(i).Cells("Rate").Value)
cmd1.Parameters.AddWithValue("@amount", DgvStockAdj.Rows(i).Cells("amount").Value)
cmd1.Parameters.AddWithValue("@type", DgvStockAdj.Rows(i).Cells("type").Value)
cmd1.Parameters.AddWithValue("@manf", DgvStockAdj.Rows(i).Cells("manf.").Value)
cmd1.Parameters.AddWithValue("@expiry_date", DtpDate.Value.Date)
cmd1.Parameters.AddWithValue("@mrp", DgvStockAdj.Rows(i).Cells("mrp").Value)
cmd1.Parameters.AddWithValue("@created_date", Now)
cmd1.Transaction = tr
cmd1.ExecuteNonQuery()
tr.Commit()
Next
cn.Close()
MsgBox("DataSaved")
Catch ex As Exception
MsgBox(ex.Message)
End Try