Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/VB/MoneyMonkey/App_Code/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/VB/MoneyMonkey/App_Code/UIUtils.vb

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