This commit is contained in:
MeysamMoghaddam
2025-10-13 22:40:23 +03:30
parent 560694fc28
commit 8abb5dcd5b
9 changed files with 50 additions and 45 deletions
@@ -0,0 +1,147 @@
using static FrontOffice.Main.Pages.Profile.Components.OrganizationChartLevel;
namespace FrontOffice.Main.Pages.Profile.Components;
public partial class OrganizationChart
{
private UserNode? _currentUser;
private bool _isExpanded;
protected override async Task OnInitializedAsync()
{
await LoadCurrentUser();
}
private async Task LoadCurrentUser()
{
// Mock data - replace with actual API call
_currentUser = new UserNode
{
Id = 1,
FirstName = "علی",
LastName = "رضایی",
Avatar = "images/avatar1.jpg",
PersonalPurchase = 2500000,
TeamPurchase = 15000000,
Children = new List<UserNode>
{
new UserNode
{
Id = 2,
FirstName = "مریم",
LastName = "احمدی",
Avatar = "images/avatar2.jpg",
PersonalPurchase = 1800000,
TeamPurchase = 8500000,
Children = new List<UserNode>
{
new UserNode
{
Id = 5,
FirstName = "سارا",
LastName = "کریمی",
PersonalPurchase = 1200000,
TeamPurchase = 3200000,
Children = new List<UserNode>
{
new UserNode
{
Id = 8,
FirstName = "نازنین",
LastName = "رضایی",
PersonalPurchase = 950000,
TeamPurchase = 2100000
},
new UserNode
{
Id = 8,
FirstName = "فرزاد",
LastName = "رضایی",
PersonalPurchase = 950000,
TeamPurchase = 2100000
}
}
},
new UserNode
{
Id = 6,
FirstName = "امیر",
LastName = "حسینی",
PersonalPurchase = 950000,
TeamPurchase = 1800000
}
}
},
new UserNode
{
Id = 3,
FirstName = "حسن",
LastName = "کریمی",
Avatar = "images/avatar3.jpg",
PersonalPurchase = 2200000,
TeamPurchase = 9200000,
Children = new List<UserNode>
{
new UserNode
{
Id = 7,
FirstName = "فاطمه",
LastName = "رضایی",
PersonalPurchase = 1350000,
TeamPurchase = 4100000
},
new UserNode
{
Id = 7,
FirstName = "آرش",
LastName = "رضایی",
PersonalPurchase = 1350000,
TeamPurchase = 4100000
}
}
},
new UserNode
{
Id = 4,
FirstName = "زهرا",
LastName = "محمدی",
Avatar = "images/avatar4.jpg",
PersonalPurchase = 1950000,
TeamPurchase = 7800000
}
}
};
}
private void ToggleExpand()
{
_isExpanded = !_isExpanded;
StateHasChanged();
}
public void ToggleNodeExpand(long userId)
{
var node = FindNode(_currentUser, userId);
if (node != null)
{
node.IsExpanded = !node.IsExpanded;
StateHasChanged();
}
}
private UserNode? FindNode(UserNode? node, long userId)
{
if (node == null) return null;
if (node.Id == userId) return node;
if (node.Children != null)
{
foreach (var child in node.Children)
{
var found = FindNode(child, userId);
if (found != null) return found;
}
}
return null;
}
}