Try
If IsNothing(Session("People_Name")) Then
Response.Redirect("~/Error.aspx")
Return
End If
If FormView1.CurrentMode <> FormViewMode.ReadOnly Then
FormView1.ChangeMode(FormViewMode.ReadOnly)
FormView1.DataBind()
End If
If FormView2.CurrentMode <> FormViewMode.ReadOnly Then
FormView2.ChangeMode(FormViewMode.ReadOnly)
FormView2.DataBind()
End If
Dim formview As FormView = FormView2
Dim d_formview As FormView = FormView1
Dim local_message As Label = DirectCast(formview.FindControl("Message"), Label)
local_message.Text = ""
Dim order_quantity As Label = DirectCast(formview.FindControl("Order_QuantityLabel"), Label)
Dim ie_price As Label = DirectCast(d_formview.FindControl("IE_PriceLabel"), Label)
Dim commission_percentage As Label = DirectCast(d_formview.FindControl("Commission_PercentageLabel"), Label)
Dim customer_price As Label = DirectCast(d_formview.FindControl("Customer_PriceLabel"), Label)
Dim profit_percentage As Label = DirectCast(d_formview.FindControl("Profit_PercentageLabel"), Label)
Dim New_ID As String = ""
Using cn As New SqlConnection()
cn.ConnectionString = ConfigurationManager.ConnectionStrings("CostingConnectionString").ConnectionString
cn.Open()
Dim sqlStr As String = "INSERT INTO Costing(Factory, Factory_Style_No, Style_Add_On, Customer_Style_No, Customer_Brand, Season, Season_Year, Sales_Team, " & _
"Main_Fabric,Trim_Fabric,Order_Quantity,IE_Price," & _
"Commission_Percentage, Customer_Price, Profit_Percentage, Writer, Main_Remarks)" & _
_
"VALUES(@Factory, @Factory_Style_No, @Style_Add_On, @Customer_Style_No, @Customer_Brand, @Season, @Season_Year, @Sales_Team,@Main_Fabric,@Trim_Fabric," & _
"@Order_Quantity,@IE_Price,@Commission_Percentage, @Customer_Price, @Profit_Percentage, @Writer, @Main_Remarks)"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.Parameters.Add(New SqlParameter("@Factory", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Factory_Style_No", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Style_Add_On", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Customer_Style_No", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Customer_Brand", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Season", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Season_Year", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Sales_Team", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Main_Fabric", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Trim_Fabric", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Order_Quantity", SqlDbType.Float))
cmd.Parameters.Add(New SqlParameter("@IE_Price", SqlDbType.Float))
cmd.Parameters.Add(New SqlParameter("@Commission_Percentage", SqlDbType.Float))
cmd.Parameters.Add(New SqlParameter("@Customer_Price", SqlDbType.Float))
cmd.Parameters.Add(New SqlParameter("@Profit_Percentage", SqlDbType.Float))
cmd.Parameters.Add(New SqlParameter("@Writer", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Main_Remarks", SqlDbType.NVarChar))
cmd.Parameters("@Factory").Value = DirectCast(formview.FindControl("FactoryLabel"), Label).Text
cmd.Parameters("@Factory_Style_No").Value = DirectCast(formview.FindControl("Factory_Style_NoLabel"), Label).Text
cmd.Parameters("@Style_Add_On").Value = DirectCast(formview.FindControl("Style_Add_OnLabel"), Label).Text
cmd.Parameters("@Customer_Style_No").Value = DirectCast(formview.FindControl("Customer_Style_NoLabel"), Label).Text
cmd.Parameters("@Customer_Brand").Value = DirectCast(formview.FindControl("Customer_BrandLabel"), Label).Text
cmd.Parameters("@Season").Value = DirectCast(formview.FindControl("SeasonLabel"), Label).Text
cmd.Parameters("@Season_Year").Value = DirectCast(formview.FindControl("Season_YearLabel"), Label).Text
cmd.Parameters("@Sales_Team").Value = DirectCast(formview.FindControl("Sales_TeamLabel"), Label).Text
cmd.Parameters("@Main_Fabric").Value = DirectCast(formview.FindControl("Main_FabricLabel"), Label).Text
cmd.Parameters("@Trim_Fabric").Value = DirectCast(formview.FindControl("Trim_FabricLabel"), Label).Text
cmd.Parameters("@Order_Quantity").Value = IIf(order_quantity.Text = "", 0, order_quantity.Text)
cmd.Parameters("@IE_Price").Value = IIf(ie_price.Text = "", 0, Microsoft.VisualBasic.Right(ie_price.Text, Len(ie_price.Text) - 1))
cmd.Parameters("@Commission_Percentage").Value = IIf(commission_percentage.Text = "", 0, commission_percentage.Text)
cmd.Parameters("@Customer_Price").Value = IIf(customer_price.Text = "", 0, customer_price.Text)
cmd.Parameters("@Profit_Percentage").Value = IIf(profit_percentage.Text = "", 0, profit_percentage.Text)
cmd.Parameters("@Writer").Value = Session("People_Name")
cmd.Parameters("@Main_Remarks").Value = DirectCast(formview.FindControl("Main_RemarksTextBox"), TextBox).Text
If cmd.ExecuteNonQuery() = 1 Then
Dim sqlCmd As New SqlCommand("Select @@IDENTITY", cn)
Dim dr As SqlDataReader = sqlCmd.ExecuteReader()
If dr.Read() Then
New_ID = dr.GetValue(0).ToString()
End If
dr.Close()
End If
End Using
Using cn As New SqlConnection()
cn.ConnectionString = ConfigurationManager.ConnectionStrings("CostingConnectionString").ConnectionString
cn.Open()
Dim sqlStr As String = "INSERT INTO Costing_Consumption(Costing_ID,Fabric,Width,Weight,Consumption_Y,Consumption_P,Fabric_Price)" & _
" SELECT '" & New_ID & "',Fabric,Width,Weight,Consumption_Y,Consumption_P,Fabric_Price FROM Costing_Consumption Where Costing_ID = '" & Request.QueryString("Costing_ID") & "'"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.ExecuteNonQuery()
End Using
Using cn As New SqlConnection()
cn.ConnectionString = ConfigurationManager.ConnectionStrings("CostingConnectionString").ConnectionString
cn.Open()
Dim sqlStr As String = "INSERT INTO Costing_Plus(Costing_ID, Costing_Plus_Type, Costing_Plus_Name, Price)" & _
" SELECT '" & New_ID & "',Costing_Plus_Type, Costing_Plus_Name, Price FROM Costing_Plus Where Costing_ID = '" & Request.QueryString("Costing_ID") & "'"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.ExecuteNonQuery()
End Using
Dim Original_Front As String = TryCast(FormView3.FindControl("Picture_FrontLabel"), Label).Text
Dim Original_Back As String = TryCast(FormView3.FindControl("Picture_BackLabel"), Label).Text
Dim New_Front As String = New_ID & "_F" & Right(Original_Front, 4)
Dim New_Back As String = New_ID & "_B" & Right(Original_Back, 4)
Using cn As New SqlConnection()
cn.ConnectionString = ConfigurationManager.ConnectionStrings("CostingConnectionString").ConnectionString
cn.Open()
Dim sqlStr As String = ""
If Not String.IsNullOrEmpty(Original_Front) And Not String.IsNullOrEmpty(Original_Back) Then
sqlStr = "UPDATE Costing SET Picture_Front=@Picture_Front,Picture_Back=@Picture_Back WHERE Costing_ID=@Costing_ID"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.Parameters.Add(New SqlParameter("@Costing_ID", SqlDbType.Int))
cmd.Parameters.Add(New SqlParameter("@Picture_Front", SqlDbType.NVarChar))
cmd.Parameters.Add(New SqlParameter("@Picture_Back", SqlDbType.NVarChar))
cmd.Parameters("@Costing_ID").Value = New_ID
cmd.Parameters("@Picture_Front").Value = New_Front
cmd.Parameters("@Picture_Back").Value = New_Back
cmd.ExecuteNonQuery()
If Not Dir(Path & "\" & Original_Front, vbDirectory) = "" Then
File.Copy(Path & "\" & Original_Front, Path & "\" & New_Front, True)
End If
If Not Dir(Path & "\" & Original_Back, vbDirectory) = "" Then
File.Copy(Path & "\" & Original_Back, Path & "\" & New_Back, True)
End If
ElseIf Not String.IsNullOrEmpty(Original_Front) Then
sqlStr = "UPDATE Costing SET Picture_Front=@Picture_Front WHERE Costing_ID=@Costing_ID"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.Parameters.Add(New SqlParameter("@Costing_ID", SqlDbType.Int))
cmd.Parameters.Add(New SqlParameter("@Picture_Front", SqlDbType.NVarChar))
cmd.Parameters("@Costing_ID").Value = New_ID
cmd.Parameters("@Picture_Front").Value = New_Front
cmd.ExecuteNonQuery()
If Not Dir(Path & "\" & Original_Front, vbDirectory) = "" Then
File.Copy(Path & "\" & Original_Front, Path & "\" & New_Front, True)
End If
ElseIf Not String.IsNullOrEmpty(Original_Back) Then
sqlStr = "UPDATE Costing SET Picture_Back=@Picture_Back WHERE Costing_ID=@Costing_ID"
Dim cmd As New SqlCommand(sqlStr, cn)
cmd.Parameters.Add(New SqlParameter("@Costing_ID", SqlDbType.Int))
cmd.Parameters.Add(New SqlParameter("@Picture_Back", SqlDbType.NVarChar))
cmd.Parameters("@Costing_ID").Value = New_ID
cmd.Parameters("@Picture_Back").Value = New_Back
cmd.ExecuteNonQuery()
If Not Dir(Path & "\" & Original_Back, vbDirectory) = "" Then
File.Copy(Path & "\" & Original_Back, Path & "\" & New_Back, True)
End If
End If
End Using
Response.Redirect("Costing_Details.aspx?Costing_ID=" & New_ID)
Catch ex As Exception
DirectCast(FormView2.FindControl("Message"), Label).Text = ex.Message.ToString
End Try