-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathheader.ascx.vb
More file actions
138 lines (130 loc) · 7.59 KB
/
header.ascx.vb
File metadata and controls
138 lines (130 loc) · 7.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Imports System.Data
Imports System.Data.SqlClient
Public Class header
Inherits System.Web.UI.UserControl
Private dt As DataTable
Private ds As DataSet
Private dr() As DataRow
Private sqlstring As String
Private con As SqlConnection
Private sdr As SqlDataReader
Private i As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim currentUri As Uri = New Uri(Request.Url.ToString())
sqlstring = ";WITH CTERecursion AS (" & _
"SELECT menuID, parent " & _
"FROM masterMenu " & _
"WHERE url = '" & Trim(currentUri.AbsolutePath.ToString()) & "' " & _
"UNION ALL " & _
"SELECT masterMenu.menuID, masterMenu.parent " & _
"FROM masterMenu " & _
"INNER JOIN CTERecursion CTE ON masterMenu.menuid = CTE.parent " & _
"AND masterMenu.menuID <> CTE.menuid" & _
") SELECT menuID FROM CTERecursion"
ds = SQLExecuteQuery(sqlstring)
dt = ds.Tables(0)
Dim activeMenu(dt.Rows.Count + 1) As String
i = 0
For Each row As DataRow In dt.Rows
activeMenu(i) = dt.Rows(i).Item("menuID").ToString
i = i + 1
Next
sqlstring = "SELECT D.[menuID], D.[name], D.[order], D.[level], D.[parent], D.[icon], D.[cssClass], D.[url] " & _
"FROM roles A INNER JOIN rolesDetail B " & _
"ON A.[roleID] = B.[RoleID] " & _
"INNER JOIN masterMenu C " & _
"ON C.[menuID] = B.[menuID] " & _
"INNER JOIN masterMenu D " & _
"ON D.[parent] = C.[menuID] " & _
"WHERE A.[roleID] = '" & Session("roleID") & "' " & _
"AND A.[status] = 1 " & _
"AND B.[active] = 1 " & _
"AND D.[status] = 1 " & _
"ORDER BY D.[order]"
ds = SQLExecuteQuery(sqlstring)
dt = ds.Tables(0)
Dim hasil As String = ""
i = 0
Dim ul As Boolean = 0
Dim j As Integer = dt.Rows.Count
If j > 0 Then
For Each row As DataRow In dt.Rows
If (i + 1) < j Then
If dt.Rows(i).Item("level").ToString < dt.Rows(i + 1).Item("level").ToString Then
hasil = hasil & "<li class=""treeview "
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i>"
If dt.Rows(i).Item("level").ToString = "1" Then
hasil = hasil & "<span>" & dt.Rows(i).Item("name").ToString & "</span>"
Else
hasil = hasil & dt.Rows(i).Item("name").ToString
End If
hasil = hasil & "<span class=""pull-right-container""><i class=""fa fa-angle-left pull-right""></i></span></a><ul class=""treeview-menu"">"
ElseIf dt.Rows(i).Item("level").ToString = dt.Rows(i + 1).Item("level").ToString Then
If dt.Rows(i).Item("level").ToString = "1" Then
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i><span>" & dt.Rows(i).Item("name").ToString & "</span></a></li>"
Else
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i>" & dt.Rows(i).Item("name").ToString & "</a></li>"
End If
Else
If dt.Rows(i).Item("level").ToString = "1" Then
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i><span>" & dt.Rows(i).Item("name").ToString & "</span></a></li></ul></li>"
Else
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i>" & dt.Rows(i).Item("name").ToString & "</a></li></ul></li>"
End If
End If
Else
If dt.Rows(i).Item("level").ToString = "1" Then
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i><span>" & dt.Rows(i).Item("name").ToString & "</span></a>"
Else
hasil = hasil & "<li class="""
If activeMenu.Contains(dt.Rows(i).Item("menuID").ToString) = True Then
hasil = hasil & "active"
End If
hasil = hasil & """><a href=""" & dt.Rows(i).Item("url").ToString & """><i class=""" & dt.Rows(i).Item("icon").ToString & """></i>" & dt.Rows(i).Item("name").ToString & "</a>"
End If
If dt.Rows(i).Item("level").ToString = 1 Then
hasil = hasil & "</li>"
ElseIf dt.Rows(i).Item("level").ToString = 2 Then
hasil = hasil & "</li></ul></li>"
ElseIf dt.Rows(i).Item("level").ToString = 3 Then
hasil = hasil & "</li></ul></li></ul></li>"
ElseIf dt.Rows(i).Item("level").ToString = 4 Then
hasil = hasil & "</li></ul></li></ul></li></ul></li>"
ElseIf dt.Rows(i).Item("level").ToString = 5 Then
hasil = hasil & "</li></ul></li></ul></li></ul></li></ul></li>"
End If
End If
i = i + 1
Next
End If
ltrCompanyID.Text = Session("companyID")
ltrCompanyName.Text = Session("companyName")
ltrName.Text = Session("userName")
ltrName2.Text = Session("userName")
ltrCompanyDetail.Text = Session("companyAddress") & "<br/>" & Session("companyPhone")
ltrSidebar.Text = hasil
End Sub
End Class