Files
CMS/src/CMSMicroservice.Application/NetworkMembershipCQ/Queries/GetUserNetworkPosition/UserNetworkPositionDto.cs
masoodafar-web 3c7ac68eeb
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m14s
feat: enhance network membership response with detailed stats and hierarchy
2025-12-12 06:07:23 +03:30

67 lines
2.5 KiB
C#

namespace CMSMicroservice.Application.NetworkMembershipCQ.Queries.GetUserNetworkPosition;
/// <summary>
/// DTO برای نمایش موقعیت کاربر در شبکه
/// </summary>
public class UserNetworkPositionDto
{
// اطلاعات اصلی کاربر
public long UserId { get; set; }
public string? Mobile { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? Email { get; set; }
public string? NationalCode { get; set; }
public string ReferralCode { get; set; } = string.Empty;
public bool IsMobileVerified { get; set; }
public DateTime? BirthDate { get; set; }
public DateTime JoinedAt { get; set; }
// اطلاعات شبکه
public long? NetworkParentId { get; set; }
public string? ParentMobile { get; set; }
public string? ParentFullName { get; set; }
public NetworkLeg? LegPosition { get; set; }
public bool IsInNetwork { get; set; }
// آمار فرزندان مستقیم
public int TotalChildren { get; set; }
public int LeftChildCount { get; set; }
public int RightChildCount { get; set; }
// آمار کل زیرمجموعه (تمام سطوح)
public int TotalLeftLegMembers { get; set; }
public int TotalRightLegMembers { get; set; }
public int TotalNetworkSize { get; set; }
// اطلاعات فرزندان مستقیم
public long? LeftChildId { get; set; }
public string? LeftChildFullName { get; set; }
public string? LeftChildMobile { get; set; }
public DateTime? LeftChildJoinedAt { get; set; }
public long? RightChildId { get; set; }
public string? RightChildFullName { get; set; }
public string? RightChildMobile { get; set; }
public DateTime? RightChildJoinedAt { get; set; }
// اطلاعات پکیج و دایا
public bool HasReceivedDayaCredit { get; set; }
public DateTime? DayaCreditReceivedAt { get; set; }
public PackagePurchaseMethod PackagePurchaseMethod { get; set; }
public bool HasPurchasedGoldenPackage { get; set; }
// آمار مالی
public decimal TotalEarnedCommission { get; set; }
public decimal TotalPaidCommission { get; set; }
public decimal PendingCommission { get; set; }
public int TotalBalancesEarned { get; set; }
// عمق شبکه
public int MaxNetworkDepth { get; set; }
// آمار فعالیت
public int ActiveMembersInNetwork { get; set; }
public int InactiveMembersInNetwork { get; set; }
}