<%@ Control language="vb" Inherits="YourCompany.Modules.WSCModules.ViewWSCModules" CodeFile="MemberRankings.ascx.vb" AutoEventWireup="false" Explicit="True" %>
<%@ Register TagPrefix="dnn" TagName="Audit" src="~/controls/ModuleAuditControl.ascx" %>
Crowd Ranking
OnPageIndexChanging="grdDefinitions_PageIndexChanging" CssClass="memberranking" runat="server" HeaderStyle-Font-Bold="true"
HeaderStyle-Font-Size="Medium" Font-Names="tahoma" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
PageSize="5" Width="784px" OnSorting="grdDefinitions_Sorting" EnableViewState="true">
Wrap="False" />
--------------------------------------------------------------codebehind---------------------------------------------------------
Imports DotNetNuke
Imports System.Web.UI
Imports System.Collections.Generic
Imports System.Reflection
Imports System.Text
Imports System.Drawing
Imports System.data
Namespace YourCompany.Modules.WSCModules
''' -----------------------------------------------------------------------------
'''
''' The ViewDynamicModule class displays the content
'''
'''
'''
'''
'''
''' -----------------------------------------------------------------------------
Partial Class ViewWSCModules
Inherits Entities.Modules.PortalModuleBase
Implements Entities.Modules.IActionable
#Region "Event Handlers"
''' -----------------------------------------------------------------------------
'''
''' Page_Load runs when the control is loaded
'''
'''
'''
'''
'''
''' -----------------------------------------------------------------------------
Public retWin As String
Public theUserID As Integer
Public arr2 As New ArrayList
Public dt As New DataTable
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
'If Request.Params("GameID") = "" Then
If (Request.Params("UserID") = "") Then
theUserID = UserInfo.UserID()
Else
theUserID = Request.Params("UserID")
End If
If Not Page.IsPostBack Then
BindData()
End If
End Sub
#End Region
#Region "Optional Interfaces"
''' -----------------------------------------------------------------------------
'''
''' Registers the module actions required for interfacing with the portal framework
'''
'''
'''
'''
'''
'''
''' -----------------------------------------------------------------------------
Public ReadOnly Property ModuleActions() As Entities.Modules.Actions.ModuleActionCollection Implements Entities.Modules.IActionable.ModuleActions
Get
Dim Actions As New Entities.Modules.Actions.ModuleActionCollection
Actions.Add(GetNextActionID, Localization.GetString(Entities.Modules.Actions.ModuleActionType.AddContent, LocalResourceFile), Entities.Modules.Actions.ModuleActionType.AddContent, "", "", EditUrl(), False, Security.SecurityAccessLevel.Edit, True, False)
Return Actions
End Get
End Property
#End Region
Sub BindData()
Dim Controller As New WSCModulesController
dt = New DataTable
'dt.Columns.Clear()
'dt.Clear()
dt.Columns.Add("UserName")
dt.Columns.Add("CrowdScore")
dt.Columns.Add("PicksPercentage")
dt.Columns.Add("Win")
dt.Columns.Add("ATS")
dt.Columns.Add("OverUnder")
dt.Columns.Add("Avatar")
arr2 = Controller.GetMembersRanking(theUserID)
For Each item As TrophyMembersRankingInfo In arr2
item.PicksPercentage = (item.TotalProcedPicks / item.TotalPosSeasPicks) * 100
Dim intcredscore As Integer
Dim intAvatar As Integer
intcredscore = item.CrowdScore
If intCredScore >= 50 And intCredScore <= 59 Then
intAvatar = 1
ElseIf intCredScore >= 60 And intCredScore <= 69 Then
intAvatar = 5
ElseIf intCredScore >= 70 And intCredScore <= 79 Then
intAvatar = 11
ElseIf intCredScore >= 80 And intCredScore <= 89 Then
intAvatar = 17
ElseIf intCredScore >= 90 Then
intAvatar = 22
Else
intAvatar = 0
End If
'this is avatar image
item.Avatar = PortalSettings.HomeDirectory() & "images/RankHelmet/" & intAvatar & "starssmall.gif"
Dim dr As DataRow
dr = dt.NewRow()
dr.Item(6) = item.Avatar
dr.Item(0) = item.UserName
dr.Item(1) = item.CrowdScore
dr.Item(2) = item.PicksPercentage
dr.Item(3) = item.Win
dr.Item(4) = item.ATS
dr.Item(5) = item.OverUnder
dt.Rows.Add(dr)
Next
grdDefinitions.DataSource = dt
grdDefinitions.DataBind()
'BindGrid()
End Sub
'---------------------------------------------------------------------main sort-----------------------------------------------------
Private Property GridViewSortDirection() As String
Get
Return IIf(ViewState("SortDirection") = Nothing, "ASC", ViewState("SortDirection"))
End Get
Set(ByVal value As String)
ViewState("SortDirection") = value
End Set
End Property
Private Property GridViewSortBLOCKED EXPRESSION As String
Get
Return IIf(ViewState("SortBLOCKED EXPRESSION = Nothing, String.Empty, ViewState("SortBLOCKED EXPRESSION)
End Get
Set(ByVal value As String)
ViewState("SortBLOCKED EXPRESSION = value
End Set
End Property
Private Function GetSortDirection() As String
Select Case GridViewSortDirection
Case "ASC"
GridViewSortDirection = "DESC"
Case "DESC"
GridViewSortDirection = "ASC"
End Select
Return GridViewSortDirection
End Function
Protected Function SortDataTable(ByVal dt As DataTable, ByVal isPageIndexChanging As Boolean) As DataView
If Not dt Is Nothing Then
Dim dataView As New DataView(dt)
If GridViewSortExpression <> String.Empty Then
If isPageIndexChanging Then
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection)
Else
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetSortDirection())
End If
End If
Return dataView
Else
Return New DataView()
End If
End Function
Protected Sub grdDefinitions_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
grdDefinitions.DataSource = SortDataTable(grdDefinitions.DataSource, False)
grdDefinitions.PageIndex = e.NewPageIndex
grdDefinitions.DataBind()
End Sub
Protected Sub grdDefinitions_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles grdDefinitions.Sorting
GridViewSortExpression = e.SortExpression
Dim pageIndex As Integer = grdDefinitions.PageIndex
grdDefinitions.DataSource = SortDataTable(grdDefinitions.DataSource, True).Table
grdDefinitions.DataBind()
grdDefinitions.PageIndex = pageIndex
End Sub
End Class
End Namespace