diff --git a/src/FrontOffice.Main/FrontOffice.Main.csproj b/src/FrontOffice.Main/FrontOffice.Main.csproj index 081ff3b..f1f685c 100644 --- a/src/FrontOffice.Main/FrontOffice.Main.csproj +++ b/src/FrontOffice.Main/FrontOffice.Main.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/FrontOffice.Main/Pages/About.razor b/src/FrontOffice.Main/Pages/About.razor index 32f7f76..b6ddbc0 100644 --- a/src/FrontOffice.Main/Pages/About.razor +++ b/src/FrontOffice.Main/Pages/About.razor @@ -11,10 +11,10 @@ درباره کارا بازار سلامت - پلتفرم هوشمند شبکه‌سازی و مدیریت تیم + پلتفرم هوشمند تیم‌سازی و مدیریت فروش - ما با ارائه ابزارهای نوآورانه، به کسب‌وکارها کمک می‌کنیم تا شبکه‌های فروش خود را گسترش دهند و تیم‌های خود را به صورت کارآمد مدیریت کنند. + ما با ارائه ابزارهای نوآورانه، به کسب‌وکارها کمک می‌کنیم تا تیم‌های فروش خود را گسترش دهند و به صورت کارآمد مدیریت کنند. چشم‌انداز - تبدیل شدن به پیشروترین پلتفرم مدیریت شبکه‌های فروش در منطقه، با ارائه راهکارهای هوشمند و کاربرپسند برای کسب‌وکارهای کوچک و بزرگ. + تبدیل شدن به پیشروترین پلتفرم مدیریت تیم‌های فروش در منطقه، با ارائه راهکارهای هوشمند و کاربرپسند برای کسب‌وکارهای کوچک و بزرگ. diff --git a/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor b/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor index 074c232..c9bf44a 100644 --- a/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor +++ b/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor @@ -1,32 +1,33 @@ @attribute [Route(RouteConstants.Commission.Dashboard)] +@attribute [Route(RouteConstants.Commission.History)] @using FrontOffice.Main.Utilities +@using FrontOffice.Main.Shared @using MudBlazor -داشبورد کمیسیون +پاداش‌های من - داشبورد کمیسیون + پاداش‌های من بازگشت - @if (_isLoading) - { - - } - else - { - - - - - + + + + + + + + همه در انتظار پرداخت شده @@ -35,78 +36,114 @@ شکست خورده لغو شده - - اعمال فیلتر - - - پاک کردن - - - + + + + + اعمال فیلتر + + + پاک کردن + + + + + - + @if (_isLoading) + { + + } + else + { + @if (_payouts.Any()) { - - - - هفته - تعداد تعادل - مبلغ کل - وضعیت - تاریخ - عملیات - - - - @context.WeekDisplayName - - @context.BalancesEarned - - @context.AmountFormatted - - - - @context.StatusText - - - @context.DatePersian - - - جزئیات - - - - + + + + کل پاداش + @GetTotalEarnings() + + + + + تعداد + @_totalCount + + + + + میانگین هفتگی + @GetAverageWeekly() + + + + } + + + @if (_payouts.Any()) + { + + + + + + هفته + امتیاز + مبلغ (تومان) + وضعیت + تاریخ + جزئیات + + + + @context.WeekDisplayName + + @context.BalancesEarned + + @context.AmountFormatted + + + @context.StatusText + + @context.DatePersian + + + + + + - + + @foreach (var payout in _payouts) { - @payout.WeekDisplayName - - @payout.StatusText - + @payout.WeekDisplayName + @payout.StatusText + + + @payout.AmountFormatted + امتیاز: @payout.BalancesEarned + + + @payout.DatePersian + + جزئیات + - @payout.AmountFormatted - تعداد تعادل: @payout.BalancesEarned - @payout.DatePersian - - مشاهده جزئیات هفته - } @@ -114,37 +151,27 @@ - - - کل: @_totalCount کمیسیون - + + + } else { - کمیسیونی برای نمایش وجود ندارد. + پاداشی برای نمایش وجود ندارد. } - - - - تاریخچه کامل - - - تعادل هفتگی - - + + + مشاهده گزارش هفتگی + } diff --git a/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor.cs b/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor.cs index c39dc11..f93ee92 100644 --- a/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor.cs +++ b/src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor.cs @@ -1,3 +1,4 @@ +using FrontOffice.Main.Shared; using FrontOffice.Main.Utilities; using Microsoft.AspNetCore.Components; using MudBlazor; @@ -10,11 +11,13 @@ public partial class CommissionDashboardPage : ComponentBase private List _payouts = new(); private int _totalCount; + private long _totalAmount; private int _pageNumber = 1; private int _pageSize = 10; private bool _isLoading = true; - private int? _filterWeekNumber; + private WeekSelector? _weekSelector; + private WeekDefinitionDto? _selectedWeekDefinition; private string _filterStatus = string.Empty; protected override async Task OnInitializedAsync() @@ -27,18 +30,20 @@ public partial class CommissionDashboardPage : ComponentBase try { _isLoading = true; + var weekDefinitionId = _selectedWeekDefinition?.Id; var result = await CommissionService.GetMyCommissionPayoutsAsync( - _filterWeekNumber, + weekDefinitionId, _filterStatus, _pageNumber, _pageSize ); _payouts = result.Payouts; _totalCount = result.TotalCount; + _totalAmount = _payouts.Sum(p => p.TotalAmount); } catch (Exception ex) { - Snackbar.Add($"خطا در دریافت کمیسیون‌ها: {ex.Message}", Severity.Error); + Snackbar.Add($"خطا در دریافت پاداش‌ها: {ex.Message}", Severity.Error); } finally { @@ -54,7 +59,7 @@ public partial class CommissionDashboardPage : ComponentBase private async Task ClearFiltersAsync() { - _filterWeekNumber = null; + _selectedWeekDefinition = null; _filterStatus = string.Empty; _pageNumber = 1; await LoadPayoutsAsync(); @@ -73,6 +78,19 @@ public partial class CommissionDashboardPage : ComponentBase return (int)Math.Ceiling(_totalCount / (double)_pageSize); } + private string GetTotalEarnings() + { + return $"{_totalAmount:N0} تومان"; + } + + private string GetAverageWeekly() + { + if (_totalCount == 0) + return "0 تومان"; + var avg = _totalAmount / _totalCount; + return $"{avg:N0} تومان"; + } + private Color GetStatusColor(string statusColor) => statusColor.ToLower() switch { "success" => Color.Success, diff --git a/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor b/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor deleted file mode 100644 index ac1a38d..0000000 --- a/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor +++ /dev/null @@ -1,91 +0,0 @@ -@attribute [Route(RouteConstants.Commission.History)] -@using FrontOffice.Main.Utilities -@using MudBlazor - -تاریخچه کمیسیون - - - - - تاریخچه کامل کمیسیون - بازگشت - - - @if (_isLoading) - { - - } - else if (_payouts.Any()) - { - - - - - کل کمیسیون دریافتی - @GetTotalEarnings() - - - - - تعداد هفته‌ها - @_payouts.Count - - - - - میانگین هفتگی - @GetAverageWeekly() - - - - - - - - - هفته - تعادل‌ها - مبلغ (تومان) - وضعیت - تاریخ - جزئیات - - - - @context.WeekDisplayName - - - @context.BalancesEarned - - - @context.AmountFormatted - - - - @context.StatusText - - - - @context.DatePersian - - - - مشاهده - - - - - - } - else - { - - هنوز کمیسیونی دریافت نکرده‌اید. - - } - - diff --git a/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor.cs b/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor.cs deleted file mode 100644 index b93cc48..0000000 --- a/src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor.cs +++ /dev/null @@ -1,65 +0,0 @@ -using FrontOffice.Main.Utilities; -using Microsoft.AspNetCore.Components; -using MudBlazor; - -namespace FrontOffice.Main.Pages.Commission; - -public partial class CommissionHistoryPage : ComponentBase -{ - [Inject] private CommissionService CommissionService { get; set; } = default!; - - private List _payouts = new(); - private bool _isLoading = true; - - protected override async Task OnInitializedAsync() - { - await LoadAllPayoutsAsync(); - } - - private async Task LoadAllPayoutsAsync() - { - try - { - _isLoading = true; - // Load all payouts (large page size to get everything) - var result = await CommissionService.GetMyCommissionPayoutsAsync( - null, - string.Empty, - 1, - 1000 - ); - _payouts = result.Payouts; - } - catch (Exception ex) - { - Snackbar.Add($"خطا در دریافت تاریخچه: {ex.Message}", Severity.Error); - } - finally - { - _isLoading = false; - } - } - - private string GetTotalEarnings() - { - var total = _payouts.Sum(p => p.TotalAmount); - return $"{total:N0} تومان"; - } - - private string GetAverageWeekly() - { - if (!_payouts.Any()) - return "0 تومان"; - var avg = _payouts.Average(p => p.TotalAmount); - return $"{avg:N0} تومان"; - } - - private Color GetStatusColor(string statusColor) => statusColor.ToLower() switch - { - "success" => Color.Success, - "warning" => Color.Warning, - "error" => Color.Error, - "info" => Color.Info, - _ => Color.Default - }; -} diff --git a/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor b/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor index a279d1b..1dc2cfe 100644 --- a/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor +++ b/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor @@ -3,12 +3,12 @@ @using FrontOffice.Main.Shared @using MudBlazor -تعادل هفتگی +گزارش هفتگی - تعادل هفتگی کمیسیون + گزارش هفتگی پاداش بازگشت @@ -72,19 +72,37 @@ - + + + + + + + تیم دوم + @_weeklyBalance.RightBalanceFormatted + + + @GetRightPercentage().ToString("F1")% از کل + + + + - - شاخه چپ + + تیم اول @_weeklyBalance.LeftBalanceFormatted - + @GetLeftPercentage().ToString("F1")% از کل @@ -92,51 +110,39 @@ - - - - - شاخه راست - @_weeklyBalance.RightBalanceFormatted - - - @GetRightPercentage().ToString("F1")% از کل - - - - - + - محاسبات کمیسیون + محاسبات پاداش - حداقل تعادل (پایه کمیسیون): - @_weeklyBalance.MinBalanceFormatted + اعضای جدید تیم اول: + @_weeklyBalance.LeftNewMembersFormatted - تعداد تعادل (دفعات): - @_weeklyBalance.BalanceCount + اعضای جدید تیم دوم: + @_weeklyBalance.RightNewMembersFormatted - - کمیسیون محاسبه شده: - @_weeklyBalance.CalculatedCommissionFormatted + + انتقال از هفته قبل (تیم اول): + @_weeklyBalance.LeftCarryoverFormatted + + انتقال از هفته قبل (تیم دوم): + @_weeklyBalance.RightCarryoverFormatted + + + امتیاز فروش کل (پایه): + @_weeklyBalance.MinBalanceFormatted + + @* *@ + @* کمیسیون محاسبه شده: *@ + @* @_weeklyBalance.CalculatedCommissionFormatted *@ + @* *@ - - @if (_weeklyBalance.LeftCarryover > 0 || _weeklyBalance.RightCarryover > 0) - { - - انتقال به هفته بعد: چپ: @_weeklyBalance.LeftCarryoverFormatted | راست: @_weeklyBalance.RightCarryoverFormatted - - } } else if (_hasError) diff --git a/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor.cs b/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor.cs index c714d83..2323e76 100644 --- a/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor.cs +++ b/src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor.cs @@ -68,8 +68,8 @@ public partial class WeeklyBalancePage : ComponentBase _selectedWeekDefinition = _weekSelector.GetCurrentWeek(); } - StateHasChanged(); await LoadWeeklyBalanceAsync(); + StateHasChanged(); } } } diff --git a/src/FrontOffice.Main/Pages/Index.razor b/src/FrontOffice.Main/Pages/Index.razor index dd702c3..0da1b8c 100644 --- a/src/FrontOffice.Main/Pages/Index.razor +++ b/src/FrontOffice.Main/Pages/Index.razor @@ -51,7 +51,7 @@ +۵۰٪ - رشد میانگین شبکه + رشد میانگین تیم diff --git a/src/FrontOffice.Main/Pages/Network/NetworkStatisticsPage.razor b/src/FrontOffice.Main/Pages/Network/NetworkStatisticsPage.razor index 4c6ac5d..2b2f254 100644 --- a/src/FrontOffice.Main/Pages/Network/NetworkStatisticsPage.razor +++ b/src/FrontOffice.Main/Pages/Network/NetworkStatisticsPage.razor @@ -2,7 +2,7 @@ @using FrontOffice.Main.Utilities @using MudBlazor -آمار شبکه +آمار تیم @@ -57,7 +57,7 @@ - + آمار جمعی فعالیت diff --git a/src/FrontOffice.Main/Pages/Package/MyPackages.razor b/src/FrontOffice.Main/Pages/Package/MyPackages.razor index 6e2b94d..6eda2aa 100644 --- a/src/FrontOffice.Main/Pages/Package/MyPackages.razor +++ b/src/FrontOffice.Main/Pages/Package/MyPackages.razor @@ -29,7 +29,7 @@ شما هنوز پکیجی خریداری نکرده‌اید - با خرید پکیج طلایی، به باشگاه مشتریان بپیوندید و از مزایای ویژه مانند کمیسیون هفتگی و شبکه‌سازی بهره‌مند شوید. + با خرید پکیج طلایی، به باشگاه مشتریان بپیوندید و از مزایای ویژه مانند پاداش هفتگی و تیم‌سازی بهره‌مند شوید. - مشاهده شبکه + مشاهده تیم - کمیسیون‌های من + پاداش‌های من } @@ -164,7 +164,7 @@ - شبکه‌سازی نامحدود + تیم‌سازی نامحدود دعوت دوستان و ساخت تیم @@ -172,8 +172,8 @@ - کمیسیون هفتگی - دریافت سهم از فروش شبکه + پاداش هفتگی + دریافت سهم از فروش تیم diff --git a/src/FrontOffice.Main/Pages/Package/Packages.razor b/src/FrontOffice.Main/Pages/Package/Packages.razor index 18b446d..05c42dc 100644 --- a/src/FrontOffice.Main/Pages/Package/Packages.razor +++ b/src/FrontOffice.Main/Pages/Package/Packages.razor @@ -78,11 +78,11 @@ - دریافت کمیسیون هفتگی + دریافت پاداش هفتگی - شبکه‌سازی نامحدود + تیم‌سازی نامحدود @@ -108,8 +108,8 @@ چرا پکیج طلایی؟ - با خرید پکیج طلایی، علاوه بر دسترسی به محصولات ویژه، می‌توانید در شبکه فروش شرکت کنید - و از کمیسیون‌های هفتگی بهره‌مند شوید. هر چه شبکه شما گسترده‌تر، درآمد شما بیشتر! + با خرید پکیج طلایی، علاوه بر دسترسی به محصولات ویژه، می‌توانید تیم فروش خود را بسازید + و از پاداش‌های هفتگی بهره‌مند شوید. هر چه تیم شما گسترده‌تر، درآمد شما بیشتر! diff --git a/src/FrontOffice.Main/Pages/Profile/Components/OrganizationChart.razor b/src/FrontOffice.Main/Pages/Profile/Components/OrganizationChart.razor index 1068a79..4554ebb 100644 --- a/src/FrontOffice.Main/Pages/Profile/Components/OrganizationChart.razor +++ b/src/FrontOffice.Main/Pages/Profile/Components/OrganizationChart.razor @@ -26,7 +26,7 @@ { - + } diff --git a/src/FrontOffice.Main/Pages/Profile/Index.razor b/src/FrontOffice.Main/Pages/Profile/Index.razor index 1bf983b..86e2f93 100644 --- a/src/FrontOffice.Main/Pages/Profile/Index.razor +++ b/src/FrontOffice.Main/Pages/Profile/Index.razor @@ -21,10 +21,8 @@ - @* تامین اعتبار *@ + + سامانه دایا @@ -111,7 +109,7 @@ - موجودی شبکه + موجودی پاداش تیمی @_walletNetwork @@ -154,7 +152,7 @@ شجره‌نامه - ساختار شبکه + ساختار تیم diff --git a/src/FrontOffice.Main/Pages/Profile/Wallet.razor b/src/FrontOffice.Main/Pages/Profile/Wallet.razor index 2e098cb..3236f00 100644 --- a/src/FrontOffice.Main/Pages/Profile/Wallet.razor +++ b/src/FrontOffice.Main/Pages/Profile/Wallet.razor @@ -24,7 +24,7 @@ - موجودی شبکه + موجودی پاداش تیمی @_balances.Network diff --git a/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor b/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor index abea33f..6703628 100644 --- a/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor +++ b/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor @@ -62,7 +62,7 @@ Variant="Variant.Outlined" Disabled="_withdrawMethod == WithdrawalMethodClient.Diamond" Placeholder="IRxxxxxxxxxxxx" - Adornment="Adornment.Start" + Adornment="Adornment.End" AdornmentText="IR" /> diff --git a/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor.cs b/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor.cs index abd9568..5866666 100644 --- a/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor.cs +++ b/src/FrontOffice.Main/Pages/Profile/WithdrawalRequests.razor.cs @@ -58,7 +58,8 @@ public partial class WithdrawalRequests : ComponentBase try { _isSubmittingWithdrawal = true; - await WalletService.RequestWithdrawalAsync(_selectedPayout.Id, _withdrawMethod, _withdrawIban); + _withdrawIban=_withdrawIban!.Trim().ToUpper().Replace("IR", "").Replace(" ", ""); + await WalletService.RequestWithdrawalAsync(_selectedPayout.Id, _withdrawMethod, "IR"+_withdrawIban); Snackbar.Add("درخواست برداشت ثبت شد.", Severity.Success); // بروزرسانی لیست diff --git a/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor b/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor index b491e98..c032b59 100644 --- a/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor +++ b/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor @@ -245,7 +245,7 @@

ماده ۲ - شرایط عضویت

۲-۱. کاربر با پرداخت مبلغ ۵۶ میلیون تومان (پکیج پایه)، امکان عضویت در باشگاه مشتریان را خواهد داشت.

۲-۲. پس از امضای این قرارداد، لینک دعوت کاربر فعال خواهد شد.

-

۲-۳. کاربر می‌تواند حداکثر ۲ نفر را مستقیماً دعوت کند (یک نفر در شاخه چپ و یک نفر در شاخه راست).

+

۲-۳. کاربر می‌تواند حداکثر ۲ نفر را مستقیماً دعوت کند (یک نفر در تیم اول و یک نفر در تیم دوم).

ماده ۳ - تعهدات کاربر

۳-۱. کاربر متعهد است از لینک دعوت فقط برای معرفی افراد واقعی استفاده کند.

@@ -253,8 +253,8 @@

۳-۳. کاربر حق انتقال یا فروش عضویت خود را ندارد.

ماده ۴ - حقوق کاربر

-

۴-۱. دریافت پاداش معرفی به ازای هر عضو جدید که از طریق شبکه کاربر عضو شود.

-

۴-۲. دسترسی به داشبورد مدیریت شبکه و مشاهده وضعیت زیرمجموعه‌ها.

+

۴-۱. دریافت پاداش معرفی به ازای هر عضو جدید که از طریق تیم کاربر عضو شود.

+

۴-۲. دسترسی به داشبورد مدیریت تیم و مشاهده وضعیت اعضای تیم.

۴-۳. امکان برداشت موجودی کیف پول طبق قوانین سایت.

ماده ۵ - شرایط فسخ

diff --git a/src/FrontOffice.Main/Shared/Footer.razor b/src/FrontOffice.Main/Shared/Footer.razor index 0386f7d..4b88d89 100644 --- a/src/FrontOffice.Main/Shared/Footer.razor +++ b/src/FrontOffice.Main/Shared/Footer.razor @@ -17,7 +17,7 @@ کارا بازار سلامت - پلتفرم هوشمند ساخت شبکه‌های فروش با امکانات پیشرفته مدیریت تیم، محاسبه کارمزد و گزارش‌گیری جامع. + پلتفرم هوشمند ساخت تیم‌های فروش با امکانات پیشرفته مدیریت تیم، محاسبه کارمزد و گزارش‌گیری جامع.