| |
تقريباً هذا هو الكود الكامل مع إصلاح مايلزم، لكن تبقت مشكلة واحدة معلمة باللون الأحمر، حيث لا يوجد متغير سابق يصفها.. كود: 'تعريف متغير الاتصال
Dim Con As SqlClient.SqlConnection = New SqlClient.SqlConnection
'تعريف نص الاتصال
Dim ConStr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
'اسناد نص الاتصال لمتغير الاتصال
Con.ConnectionString = ConStr
'تعريف متغير نسند له جملة ال SQL
Dim SQLStr As String = ""
'تعريف الكومند والذي بواسطته سنقوم بتنفيذ جملة السكويل على القاعدة في خطوة لاحقه
Dim Cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand
Dim Adap As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter
'جلب اسم موظف الدعم الفني المتواجد حالياً والذي سيتم تحويل هذا الزبون له
'جلب الموظفين الاون لاين
Dim dsEmployeesSessions As New DataSet
SQLStr = "select ID,EmployeeID from LiveSupportEmployeesSessions where IsOnLine Like 'Y'"
Cmd.CommandText = SQLStr
Cmd.Connection = Con
Con.Open()
Adap.SelectCommand = Cmd
Adap.Fill(dsEmployeesSessions)
Con.Close()
If dsEmployeesSessions.Tables(0).Rows.Count = 0 Then
ErrorLabel.Text = "لايوجد موظفين دعم فني متصلين حاليا"
Exit Sub
End If
ViewState("EmployeesSessionsID") = dsEmployeesSessions.Tables(0).Rows(0)(0)
ViewState("EmployeeIDV") = dsEmployeesSessions.Tables(0).Rows(0)(1)
Dim IEm As Integer = Nothing
For IEm = dsEmployeesSessions.Tables(0).Rows.Count - 1 To 0 Step -1
'جلب عدد المحادثات التي يجريها هذا الموظف الان
Dim dsConvNumber As New DataSet
SQLStr = "select LiveSupportConversationsSessions.ID,LiveGuestSupportConversationsSessions.ID from LiveSupportConversationsSessions,LiveGuestSupportConversationsSessions where LiveSupportConversationsSessions.IsActive Like 'Y' and LiveGuestSupportConversationsSessions.IsActive Like 'Y' and LiveSupportConversationsSessions.EmployeeID=" & dsEmployeesSessions.Tables(0).Rows(IEm)(0) & " and LiveGuestSupportConversationsSessions.EmployeeID=" & dsEmployeesSessions.Tables(0).Rows(IEm)(0)
Cmd.CommandText = SQLStr
Cmd.Connection = Con
Con.Open()
Adap.SelectCommand = Cmd
Adap.Fill(dsConvNumber)
Con.Close()
ViewState("ConvNumber" & IEm) = dsConvNumber.Tables(0).Rows.Count
ViewState("EmployeesSessionsID" & IEm) = dsEmployeesSessions.Tables(0).Rows(IEm)(0)
ViewState("EmployeeIDV" & IEm) = dsEmployeesSessions.Tables(0).Rows(IEm)(1)
If ViewState("ConvNumber" & IEm) < ViewState("ConvNumber" & IEm - 1) Then
ViewState("EmployeesSessionsID") = dsEmployeesSessions.Tables(0).Rows(IEm)(0)
ViewState("EmployeeIDV") = dsEmployeesSessions.Tables(0).Rows(IEm)(1)
End If
Next
Dim EmployeesSessionsIDV As Long = ViewState("EmployeesSessionsID")
Dim EmployeeIDV As Long = ViewState("EmployeeIDV")
'انشاء ملف المحادثه
Dim rInt As Random = New Random
Dim RandomInt As String = rInt.Next(1, 1000000000).ToString
Dim FileName As String = RandomInt & "-" & Date.Now.ToString("mm-HH-dd-MM-yyyy") & ".htm"
Dim dsPublicInfo As New DataSet
'انشاء ملف ووضع فيه معلومات البطاقات
Dim FPath As String = dsPublicInfo.Tables(0).Rows(0)(1) & "livesupport" & "\" & FileName
Dim FilseSa As IO.FileStream = IO.File.Create(FPath)
FilseSa.Close()
'جلب رقم اخر محادثة تمت في جدول محادثات الزوار
Dim dsLastConvInGTable As New DataSet
SQLStr = "select MAX(ID) from LiveGuestSupportConversationsSessions"
Cmd.CommandText = SQLStr
Cmd.Connection = Con
Con.Open()
Adap.SelectCommand = Cmd
Adap.Fill(dsLastConvInGTable)
Con.Close()
'انشاء اسم عشوائي للمستخدم
Dim GuestNameV As String = "زائر" & dsLastConvInGTable.Tables(0).Rows(0)(0)
'زرع معلومات الجلسة الجديدة في قاعدة البيانات
SQLStr = "insert into LiveGuestSupportConversationsSessions(EmployeesSessionsID,EmployeeID,GuestName,StartSessionTim e,EndSessionTime,ConversationFileName,IsActive) Values(" & EmployeesSessionsIDV & "," & EmployeeIDV & ",'" + GuestNameV + "','" + Date.Now.ToString("hh:mm:ss - dd/MM/yyyy") + "','0','" + FileName + "','Y')"
Cmd.CommandText = SQLStr
Cmd.Connection = Con
Con.Open()
Cmd.ExecuteNonQuery()
Con.Close()
'جلب المعلومات الموجوده في الملف
Dim HtmlPageCodeV As String = Nothing
Dim ExistCodeV As New IO.StreamReader(FPath)
HtmlPageCodeV = ExistCodeV.ReadToEnd()
ExistCodeV.Close()
'اضافة الكود على صفحة المحادثه
HtmlPageCodeV &= "<html'>"
HtmlPageCodeV &= "<head>"
HtmlPageCodeV &= "<META http-equiv='Content-Type' content='text/html; charset=UTF-8'>"
HtmlPageCodeV &= "</head>"
HtmlPageCodeV &= "<body>"
HtmlPageCodeV &= "<br>" & Date.Now.ToString("hh:mm:ss - dd/MM/yyyy")
HtmlPageCodeV &= "</body></html>"
'زرع معلومات المحادقه في بداية الملف
Dim ReadHtmlFileV As New IO.StreamWriter(FPath)
ReadHtmlFileV.Write(HtmlPageCodeV)
ReadHtmlFileV.Close()
'تحويل المستخدم لصفحة المحادثة مع رقم الجلسة
Response.Redirect("live-conversation.aspx?id=" & SessionIdV)
__________________
بداية للمشاريع التجارية
ASP.NET,ASP 3.0
المدونة الشخصية : asp2asp.com
عدنا والعود أحمد... |
04-07-2007, 07:32 AM
| | | | |