Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports DevExpress.Web.ASPxTreeView
Imports System.Configuration
Imports System.Globalization
Imports DevExpress.Web.ASPxNavBar
Public NotInheritable Class UIUtils
Private Sub New()
End Sub
Public Shared Sub CreateAccountsNavBar(ByVal nbAccounts As ASPxNavBar)
Dim accounts = DataProvider.Instance.GetAccounts()
Dim cashGroup = nbAccounts.Groups.Add("Cash & Checking")
Dim creditGroup = nbAccounts.Groups.Add("Credit Cards")
Dim loansGroup = nbAccounts.Groups.Add("Loans")
Dim assetsGroup = nbAccounts.Groups.Add("Assets")
For Each acc In accounts
Dim item = New NavBarItem(acc.Title, String.Format("account_{0}", acc.ID)) With {.DataItem = acc}
If acc.Category = AccountCategory.Cash Then
cashGroup.Items.Add(item)
ElseIf acc.Category = AccountCategory.Credit Then
creditGroup.Items.Add(item)
ElseIf acc.Category = AccountCategory.Loans Then
loansGroup.Items.Add(item)
ElseIf acc.Category = AccountCategory.Assets Then
assetsGroup.Items.Add(item)
End If
Next acc
cashGroup.Expanded = True
creditGroup.Expanded = True
assetsGroup.Expanded = True
loansGroup.Expanded = True
End Sub
Public Shared Sub CreateAllAccountsNavBar(ByVal nbAccounts As ASPxNavBar)
Dim accounts = DataProvider.Instance.GetAccounts()
Dim accGroup = nbAccounts.Groups.Add("Accounts")
For Each acc In accounts
accGroup.Items.Add(New NavBarItem(acc.Title, String.Format("account_{0}", acc.ID)) With {.DataItem = acc})
Next acc
If accGroup.Items.Count > 1 Then
accGroup.Items.Insert(0, New NavBarItem("All Accounts", "allAccounts") With {.DataItem = New With {Key .Description = String.Format("{0} accounts", accGroup.Items.Count)}})
End If
End Sub
Public Shared Function GetBudgetProgressBarInnerText(ByVal budgetAmount As Decimal, ByVal spentAmount As Decimal) As String
If budgetAmount = 0 Then
Return String.Format("{0} of an unestimated budget. Set the Amount value.", spentAmount.AsCurrency())
End If
Return String.Format("{0} of an estimated {1}", spentAmount.AsCurrency(), budgetAmount.AsCurrency())
End Function
Public Shared Function GetBudgetProgressBarClassName(ByVal spentAmountPercent As Integer) As String
If spentAmountPercent > 90 AndAlso spentAmountPercent < 100 Then
Return "orange"
Else
If spentAmountPercent >= 100 Then
Return "red"
Else
Return ""
End If
End If
End Function
End Class