diff --git a/src/BackOffice/Common/BaseComponents/BasePageComponent.razor b/src/BackOffice/Common/BaseComponents/BasePageComponent.razor
new file mode 100644
index 0000000..715341f
--- /dev/null
+++ b/src/BackOffice/Common/BaseComponents/BasePageComponent.razor
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+ فیلتر ها
+
+ @if (IsFilterd)
+ {
+ خذف فیلتر
+ }
+
+
+
+
+ @Filters
+
+ جستجو
+
+
+
+
+
+
+
+
+
+
+ @Content
+
+
+
+
+
diff --git a/src/BackOffice/Common/BaseComponents/BasePageComponent.razor.cs b/src/BackOffice/Common/BaseComponents/BasePageComponent.razor.cs
new file mode 100644
index 0000000..d7086be
--- /dev/null
+++ b/src/BackOffice/Common/BaseComponents/BasePageComponent.razor.cs
@@ -0,0 +1,17 @@
+using Microsoft.AspNetCore.Components;
+
+namespace BackOffice.Common.BaseComponents;
+public partial class BasePageComponent
+{
+ [Parameter] public RenderFragment Filters { get; set; }
+ [Parameter] public RenderFragment Content { get; set; }
+ [Parameter] public bool IsFilterd { get; set; }
+ [Parameter] public EventCallback OnSubmitClick { get; set; }
+ [Parameter] public EventCallback OnClearFilterClick { get; set; }
+ private bool _open = true;
+
+ private void ToggleDrawer()
+ {
+ _open = !_open;
+ }
+}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/Package/Components/PackageDataTable.razor b/src/BackOffice/Pages/Package/Components/PackageDataTable.razor
deleted file mode 100644
index 14ad96d..0000000
--- a/src/BackOffice/Pages/Package/Components/PackageDataTable.razor
+++ /dev/null
@@ -1,89 +0,0 @@
-@using BackOffice.BFF.Package.Protobuf.Protos.Package
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.Package.Protobuf.Protos.Package.GetAllPackageByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @if (string.IsNullOrWhiteSpace(context.Item.Title))
- {
- -
- }
- else
- {
-
-
-
- @(context.Item.Title.Truncate(20, true))
-
-
- }
-
-
-
-
-
-
- @if (string.IsNullOrWhiteSpace(context.Item.Description))
- {
- -
- }
- else
- {
-
-
-
- @(context.Item.Description.HtmlToText().Truncate(20, true))
-
-
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BackOffice/Pages/Package/PackageMainPage.razor b/src/BackOffice/Pages/Package/PackageMainPage.razor
index a88eec4..e5e43ad 100644
--- a/src/BackOffice/Pages/Package/PackageMainPage.razor
+++ b/src/BackOffice/Pages/Package/PackageMainPage.razor
@@ -2,35 +2,95 @@
@using BackOffice.BFF.Package.Protobuf.Protos.Package
@using BackOffice.Pages.Package.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.Package.Protobuf.Protos.Package.GetAllPackageByFilterResponseModel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ مدیریت پکیج
+
+
+ افزودن
+
+
+
+
+
+
+
+
+
+ @if (string.IsNullOrWhiteSpace(context.Item.Title))
+ {
+ -
+ }
+ else
+ {
+
+
+
+ @(context.Item.Title.Truncate(20, true))
+
+
+ }
+
+
+
+
+
+
+ @if (string.IsNullOrWhiteSpace(context.Item.Description))
+ {
+ -
+ }
+ else
+ {
+
+
+
+ @(context.Item.Description.HtmlToText().Truncate(20, true))
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- مدیریت پکیج
-
- افزودن
-
-
-
-
-
-@code {
-
- private PackageDataTable _table;
-
- public async Task CreateNew()
- {
- var dialog = await DialogService.ShowAsync($"افزودن پکیج", new DialogParameters() { { x => x.Model, new CreateNewPackageRequest() } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
- var result = await dialog.Result;
- if (!result.Canceled)
- {
- _table.ReLoadData();
- Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
- }
- }
-
-}
diff --git a/src/BackOffice/Pages/Package/Components/PackageDataTable.razor.cs b/src/BackOffice/Pages/Package/PackageMainPage.razor.cs
similarity index 71%
rename from src/BackOffice/Pages/Package/Components/PackageDataTable.razor.cs
rename to src/BackOffice/Pages/Package/PackageMainPage.razor.cs
index f333d93..cf7cfc4 100644
--- a/src/BackOffice/Pages/Package/Components/PackageDataTable.razor.cs
+++ b/src/BackOffice/Pages/Package/PackageMainPage.razor.cs
@@ -1,21 +1,18 @@
using BackOffice.BFF.Package.Protobuf.Protos.Package;
-using Google.Protobuf.WellKnownTypes;
-using HtmlAgilityPack;
+using BackOffice.Common.BaseComponents;
+using BackOffice.Pages.Package.Components;
using Mapster;
using Microsoft.AspNetCore.Components;
using MudBlazor;
-using static Google.Rpc.Context.AttributeContext.Types;
using DataModel = BackOffice.BFF.Package.Protobuf.Protos.Package.GetAllPackageByFilterResponseModel;
-namespace BackOffice.Pages.Package.Components;
-
-public partial class PackageDataTable
+namespace BackOffice.Pages.Package;
+public partial class PackageMainPage
{
-
[Inject] public PackageContract.PackageContractClient PackageContract { get; set; }
private bool _isLoading = true;
private MudDataGrid _gridData;
-
+ BasePageComponent _basePage;
private GetAllPackageByFilterRequest _request = new() { Filter = new() };
private async Task> ServerReload(GridState state)
{
@@ -70,12 +67,31 @@ public partial class PackageDataTable
if (_gridData != null)
await _gridData.ReloadServerData();
}
- private async Task SearchTitle(string? title)
+
+ public async Task CreateNew()
{
- _request.Filter ??= new();
- _request.Filter.Title = string.IsNullOrWhiteSpace(title) ? default : title;
+ var dialog = await DialogService.ShowAsync($"افزودن پکیج", new DialogParameters() { { x => x.Model, new CreateNewPackageRequest() } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
+ var result = await dialog.Result;
+ if (!result.Canceled)
+ {
+ ReLoadData();
+ Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
+ }
+ }
+
+
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
ReLoadData();
}
-
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/Role/Components/RoleDataTable.razor b/src/BackOffice/Pages/Role/Components/RoleDataTable.razor
deleted file mode 100644
index 859becc..0000000
--- a/src/BackOffice/Pages/Role/Components/RoleDataTable.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-@using BackOffice.BFF.Role.Protobuf.Protos.Role
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.Role.Protobuf.Protos.Role.GetAllRoleByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BackOffice/Pages/Role/RoleMainPage.razor b/src/BackOffice/Pages/Role/RoleMainPage.razor
index c06d768..7057408 100644
--- a/src/BackOffice/Pages/Role/RoleMainPage.razor
+++ b/src/BackOffice/Pages/Role/RoleMainPage.razor
@@ -2,35 +2,59 @@
@using BackOffice.BFF.Role.Protobuf.Protos.Role
@using BackOffice.Pages.Role.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.Role.Protobuf.Protos.Role.GetAllRoleByFilterResponseModel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ مدیریت نقش
+
+
+ افزودن
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- مدیریت نقش
-
- افزودن
-
-
-
-
-
-@code {
- private RoleDataTable _table;
-
- public async Task CreateNew()
- {
- var dialog = await DialogService.ShowAsync($"افزودن نقش", new DialogParameters() { { x => x.Model, new CreateNewRoleRequest() } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
- var result = await dialog.Result;
- if (!result.Canceled)
- {
- _table.ReLoadData();
- Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
- }
- }
-
-}
diff --git a/src/BackOffice/Pages/Role/Components/RoleDataTable.razor.cs b/src/BackOffice/Pages/Role/RoleMainPage.razor.cs
similarity index 70%
rename from src/BackOffice/Pages/Role/Components/RoleDataTable.razor.cs
rename to src/BackOffice/Pages/Role/RoleMainPage.razor.cs
index cc62718..0fdb165 100644
--- a/src/BackOffice/Pages/Role/Components/RoleDataTable.razor.cs
+++ b/src/BackOffice/Pages/Role/RoleMainPage.razor.cs
@@ -1,17 +1,26 @@
using BackOffice.BFF.Role.Protobuf.Protos.Role;
-using Google.Protobuf.WellKnownTypes;
-using HtmlAgilityPack;
+using BackOffice.Common.BaseComponents;
+using BackOffice.Pages.Role.Components;
using Mapster;
using Microsoft.AspNetCore.Components;
using MudBlazor;
-using static Google.Rpc.Context.AttributeContext.Types;
using DataModel = BackOffice.BFF.Role.Protobuf.Protos.Role.GetAllRoleByFilterResponseModel;
-namespace BackOffice.Pages.Role.Components;
-
-public partial class RoleDataTable
+namespace BackOffice.Pages.Role;
+public partial class RoleMainPage
{
+ BasePageComponent _basePage;
+ public async Task CreateNew()
+ {
+ var dialog = await DialogService.ShowAsync($"افزودن نقش", new DialogParameters() { { x => x.Model, new CreateNewRoleRequest() } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
+ var result = await dialog.Result;
+ if (!result.Canceled)
+ {
+ ReLoadData();
+ Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
+ }
+ }
[Inject] public RoleContract.RoleContractClient RoleContract { get; set; }
private bool _isLoading = true;
private MudDataGrid _gridData;
@@ -70,5 +79,18 @@ public partial class RoleDataTable
if (_gridData != null)
await _gridData.ReloadServerData();
}
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
+ ReLoadData();
+ }
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/User/Components/UserDataTable.razor b/src/BackOffice/Pages/User/Components/UserDataTable.razor
deleted file mode 100644
index d4762e5..0000000
--- a/src/BackOffice/Pages/User/Components/UserDataTable.razor
+++ /dev/null
@@ -1,71 +0,0 @@
-@using BackOffice.BFF.User.Protobuf.Protos.User
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.User.Protobuf.Protos.User.GetAllUserByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @($"{context.Item.FirstName} {context.Item.LastName}")
-
-
-
-
-
-
-
-
-
-
-
- فاکتور ها
- آدرس ها
- مدیریت نقش
- آرشیو
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BackOffice/Pages/User/UserMainPage.razor b/src/BackOffice/Pages/User/UserMainPage.razor
index 910a9c9..b8ea98e 100644
--- a/src/BackOffice/Pages/User/UserMainPage.razor
+++ b/src/BackOffice/Pages/User/UserMainPage.razor
@@ -2,21 +2,66 @@
@using BackOffice.BFF.User.Protobuf.Protos.User
@using BackOffice.Pages.User.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.User.Protobuf.Protos.User.GetAllUserByFilterResponseModel
-
-
-
- مدیریت کاربر
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ مدیریت کاربر
+
+
+
+
+
+
+
+ @($"{context.Item.FirstName} {context.Item.LastName}")
+
+
+
+
-@code {
- private UserDataTable _table;
-
-}
+
+
+
+
+ فاکتور ها
+ آدرس ها
+ مدیریت نقش
+ آرشیو
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BackOffice/Pages/User/Components/UserDataTable.razor.cs b/src/BackOffice/Pages/User/UserMainPage.razor.cs
similarity index 86%
rename from src/BackOffice/Pages/User/Components/UserDataTable.razor.cs
rename to src/BackOffice/Pages/User/UserMainPage.razor.cs
index 647ce7e..9dda340 100644
--- a/src/BackOffice/Pages/User/Components/UserDataTable.razor.cs
+++ b/src/BackOffice/Pages/User/UserMainPage.razor.cs
@@ -1,23 +1,17 @@
using BackOffice.BFF.User.Protobuf.Protos.User;
-using BackOffice.BFF.UserRole.Protobuf.Protos.UserRole;
-using Google.Protobuf.WellKnownTypes;
-using HtmlAgilityPack;
-using Mapster;
+using BackOffice.Common.BaseComponents;
+using BackOffice.Pages.User.Components;
using Microsoft.AspNetCore.Components;
using MudBlazor;
-using static Google.Rpc.Context.AttributeContext.Types;
-using static MudBlazor.CategoryTypes;
using DataModel = BackOffice.BFF.User.Protobuf.Protos.User.GetAllUserByFilterResponseModel;
-namespace BackOffice.Pages.User.Components;
-
-public partial class UserDataTable
+namespace BackOffice.Pages.User;
+public partial class UserMainPage
{
-
[Inject] public UserContract.UserContractClient UserContract { get; set; }
private bool _isLoading = true;
private MudDataGrid _gridData;
-
+ BasePageComponent _basePage;
private GetAllUserByFilterRequest _request = new() { Filter = new() };
private async Task> ServerReload(GridState state)
{
@@ -91,4 +85,18 @@ public partial class UserDataTable
Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
}
}
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
+ ReLoadData();
+ }
+
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor b/src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor
deleted file mode 100644
index e2396f6..0000000
--- a/src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-@using BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress.GetAllUserAddressByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor b/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor
index c66240c..ecb2f13 100644
--- a/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor
+++ b/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor
@@ -1,36 +1,57 @@
-@attribute [Route(RouteConstance.UserAddress+"{UserId:long}")]
+@attribute [Route(RouteConstance.UserAddress + "{UserId:long}")]
@using BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress
@using BackOffice.Pages.UserAddress.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress.GetAllUserAddressByFilterResponseModel
-
-
-
- مدیریت آدرس
-
- افزودن
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ مدیریت آدرس
+
+
+ افزودن
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-@code {
- [Parameter] public long UserId { get; set; }
- private UserAddressDataTable _table;
-
- public async Task CreateNew()
- {
- var dialog = await DialogService.ShowAsync($"افزودن آدرس", new DialogParameters() { { x => x.Model, new CreateNewUserAddressRequest() { UserId = UserId } } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
- var result = await dialog.Result;
- if (!result.Canceled)
- {
- _table.ReLoadData();
- Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
- }
- }
-
-}
-
diff --git a/src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor.cs b/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor.cs
similarity index 71%
rename from src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor.cs
rename to src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor.cs
index f5b295a..4525371 100644
--- a/src/BackOffice/Pages/UserAddress/Components/UserAddressDataTable.razor.cs
+++ b/src/BackOffice/Pages/UserAddress/UserAddressMainPage.razor.cs
@@ -1,21 +1,19 @@
using BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress;
-using Google.Protobuf.WellKnownTypes;
-using HtmlAgilityPack;
+using BackOffice.Common.BaseComponents;
+using BackOffice.Pages.UserAddress.Components;
using Mapster;
using Microsoft.AspNetCore.Components;
using MudBlazor;
-using static Google.Rpc.Context.AttributeContext.Types;
using DataModel = BackOffice.BFF.UserAddress.Protobuf.Protos.UserAddress.GetAllUserAddressByFilterResponseModel;
-namespace BackOffice.Pages.UserAddress.Components;
-
-public partial class UserAddressDataTable
+namespace BackOffice.Pages.UserAddress;
+public partial class UserAddressMainPage
{
[Parameter] public long UserId { get; set; }
[Inject] public UserAddressContract.UserAddressContractClient UserAddressContract { get; set; }
private bool _isLoading = true;
private MudDataGrid _gridData;
-
+ BasePageComponent _basePage;
private GetAllUserAddressByFilterRequest _request = new() { Filter = new() };
private async Task> ServerReload(GridState state)
{
@@ -73,5 +71,28 @@ public partial class UserAddressDataTable
if (_gridData != null)
await _gridData.ReloadServerData();
}
+ public async Task CreateNew()
+ {
+ var dialog = await DialogService.ShowAsync($"افزودن آدرس", new DialogParameters() { { x => x.Model, new CreateNewUserAddressRequest() { UserId = UserId } } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
+ var result = await dialog.Result;
+ if (!result.Canceled)
+ {
+ ReLoadData();
+ Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
+ }
+ }
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
+ ReLoadData();
+ }
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor b/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor
index 17ae14d..c65238f 100644
--- a/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor
+++ b/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor
@@ -1,51 +1,2 @@
-@using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder.GetAllUserOrderByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @if (context.Item.PaymentStatus)
- {
- پرداخت شده
- }
- else
- {
- پرداخت نشده
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor.cs b/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor.cs
index dea0d1e..24f0639 100644
--- a/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor.cs
+++ b/src/BackOffice/Pages/UserOrder/Components/UserOrderDataTable.razor.cs
@@ -13,50 +13,6 @@ public partial class UserOrderDataTable
{
[Parameter] public long UserId { get; set; }
- [Inject] public UserOrderContract.UserOrderContractClient UserOrderContract { get; set; }
- private bool _isLoading = true;
- private MudDataGrid _gridData;
-
- private GetAllUserOrderByFilterRequest _request = new() { Filter = new() };
- private async Task> ServerReload(GridState state)
- {
- _request.Filter ??= new();
- _request.PaginationState ??= new();
- _request.PaginationState.PageNumber = state.Page + 1;
- _request.PaginationState.PageSize = state.PageSize;
-
- _request.Filter.UserId = UserId;
-
- var result = await UserOrderContract.GetAllUserOrderByFilterAsync(_request);
- if (result != null && result.Models != null && result.Models.Any())
- {
- return new GridData() { Items = result.Models.ToList(), TotalItems = (int)result.MetaData.TotalCount };
- }
-
- return new GridData();
- }
- private async Task OnDelete(DataModel model)
- {
- var options = new DialogOptions { CloseOnEscapeKey = true, MaxWidth = MaxWidth.Small };
- bool? result = await DialogService.ShowMessageBox(
- "اخطار",
- "آیا از حذف این مورد مطمئن هستید؟",
- yesText: "حذف", cancelText: "لغو",
- options: options);
- if (result != null && result.Value)
- {
- await UserOrderContract.DeleteUserOrderAsync(new()
- {
- Id = model.Id
- });
- ReLoadData();
- }
- StateHasChanged();
- }
- public async void ReLoadData()
- {
- if (_gridData != null)
- await _gridData.ReloadServerData();
- }
+
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
index 6a2ed7a..c8a477d 100644
--- a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
+++ b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
@@ -2,22 +2,67 @@
@using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder
@using BackOffice.Pages.UserOrder.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder.GetAllUserOrderByFilterResponseModel
-
-
-
- فاکتور
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ فاکتور
+
+
+
+
+
+
+
+ @if (context.Item.PaymentStatus)
+ {
+ پرداخت شده
+ }
+ else
+ {
+ پرداخت نشده
+ }
+
+
+
+
-@code {
- [Parameter] public long UserId { get; set; }
- private UserOrderDataTable _table;
-
-}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs
new file mode 100644
index 0000000..26c7ad9
--- /dev/null
+++ b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs
@@ -0,0 +1,71 @@
+using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder;
+using BackOffice.Common.BaseComponents;
+using Microsoft.AspNetCore.Components;
+using MudBlazor;
+using DataModel = BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder.GetAllUserOrderByFilterResponseModel;
+
+namespace BackOffice.Pages.UserOrder;
+public partial class UserOrderMainPage
+{
+ [Parameter] public long UserId { get; set; }
+ [Inject] public UserOrderContract.UserOrderContractClient UserOrderContract { get; set; }
+ private bool _isLoading = true;
+ private MudDataGrid _gridData;
+ BasePageComponent _basePage;
+
+ private GetAllUserOrderByFilterRequest _request = new() { Filter = new() };
+ private async Task> ServerReload(GridState state)
+ {
+ _request.Filter ??= new();
+ _request.PaginationState ??= new();
+ _request.PaginationState.PageNumber = state.Page + 1;
+ _request.PaginationState.PageSize = state.PageSize;
+
+ _request.Filter.UserId = UserId;
+
+ var result = await UserOrderContract.GetAllUserOrderByFilterAsync(_request);
+ if (result != null && result.Models != null && result.Models.Any())
+ {
+ return new GridData() { Items = result.Models.ToList(), TotalItems = (int)result.MetaData.TotalCount };
+ }
+
+ return new GridData();
+ }
+ private async Task OnDelete(DataModel model)
+ {
+ var options = new DialogOptions { CloseOnEscapeKey = true, MaxWidth = MaxWidth.Small };
+ bool? result = await DialogService.ShowMessageBox(
+ "اخطار",
+ "آیا از حذف این مورد مطمئن هستید؟",
+ yesText: "حذف", cancelText: "لغو",
+ options: options);
+ if (result != null && result.Value)
+ {
+ await UserOrderContract.DeleteUserOrderAsync(new()
+ {
+ Id = model.Id
+ });
+ ReLoadData();
+ }
+ StateHasChanged();
+ }
+ public async void ReLoadData()
+ {
+ if (_gridData != null)
+ await _gridData.ReloadServerData();
+ }
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
+ ReLoadData();
+ }
+
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
+}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor b/src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor
deleted file mode 100644
index c197683..0000000
--- a/src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-@using BackOffice.BFF.UserRole.Protobuf.Protos.UserRole
-@using BackOffice.Common.BaseComponents
-@using DataModel = BackOffice.BFF.UserRole.Protobuf.Protos.UserRole.GetAllUserRoleByFilterResponseModel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor b/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor
index 8ade2ea..dbfe885 100644
--- a/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor
+++ b/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor
@@ -2,36 +2,55 @@
@using BackOffice.BFF.UserRole.Protobuf.Protos.UserRole
@using BackOffice.Pages.UserRole.Components
+@using BackOffice.Common.BaseComponents
+@using DataModel = BackOffice.BFF.UserRole.Protobuf.Protos.UserRole.GetAllUserRoleByFilterResponseModel
-
-
-
- مدیریت نقش های کاربر
-
- افزودن
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ مدیریت نقش های کاربر
+
+ افزودن
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-@code {
- [Parameter] public long UserId { get; set; }
-
- private UserRoleDataTable _table;
-
- public async Task CreateNew()
- {
- var dialog = await DialogService.ShowAsync($"افزودن نقش های کاربر", new DialogParameters() { { x => x.Model, new CreateNewUserRoleRequest() { UserId = UserId } } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
- var result = await dialog.Result;
- if (!result.Canceled)
- {
- _table.ReLoadData();
- Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
- }
- }
-
-}
diff --git a/src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor.cs b/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor.cs
similarity index 70%
rename from src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor.cs
rename to src/BackOffice/Pages/UserRole/UserRoleMainPage.razor.cs
index 507fb21..b397833 100644
--- a/src/BackOffice/Pages/UserRole/Components/UserRoleDataTable.razor.cs
+++ b/src/BackOffice/Pages/UserRole/UserRoleMainPage.razor.cs
@@ -1,21 +1,19 @@
using BackOffice.BFF.UserRole.Protobuf.Protos.UserRole;
-using Google.Protobuf.WellKnownTypes;
-using HtmlAgilityPack;
+using BackOffice.Common.BaseComponents;
+using BackOffice.Pages.UserRole.Components;
using Mapster;
using Microsoft.AspNetCore.Components;
using MudBlazor;
-using static Google.Rpc.Context.AttributeContext.Types;
using DataModel = BackOffice.BFF.UserRole.Protobuf.Protos.UserRole.GetAllUserRoleByFilterResponseModel;
-namespace BackOffice.Pages.UserRole.Components;
-
-public partial class UserRoleDataTable
+namespace BackOffice.Pages.UserRole;
+public partial class UserRoleMainPage
{
[Parameter] public long UserId { get; set; }
[Inject] public UserRoleContract.UserRoleContractClient UserRoleContract { get; set; }
private bool _isLoading = true;
private MudDataGrid _gridData;
-
+ BasePageComponent _basePage;
private GetAllUserRoleByFilterRequest _request = new() { Filter = new() };
private async Task> ServerReload(GridState state)
{
@@ -73,4 +71,28 @@ public partial class UserRoleDataTable
await _gridData.ReloadServerData();
}
+ public async Task CreateNew()
+ {
+ var dialog = await DialogService.ShowAsync($"افزودن نقش های کاربر", new DialogParameters() { { x => x.Model, new CreateNewUserRoleRequest() { UserId = UserId } } }, new DialogOptions() { CloseButton = true, FullWidth = true, MaxWidth = MaxWidth.Small });
+ var result = await dialog.Result;
+ if (!result.Canceled)
+ {
+ ReLoadData();
+ Snackbar.Add("عملیات با موفقیت انجام شد", Severity.Success);
+ }
+ }
+ public async Task OnFilterSubmit()
+ {
+ _basePage.IsFilterd = true;
+ StateHasChanged();
+ ReLoadData();
+ }
+
+ public async Task OnFilterCleard()
+ {
+ _basePage.IsFilterd = false;
+ StateHasChanged();
+ _request = new() { Filter = new() { } };
+ ReLoadData();
+ }
}
\ No newline at end of file
diff --git a/src/BackOffice/Pages/_Imports.razor b/src/BackOffice/Pages/_Imports.razor
new file mode 100644
index 0000000..992c394
--- /dev/null
+++ b/src/BackOffice/Pages/_Imports.razor
@@ -0,0 +1,3 @@
+@using BackOffice.BFF.Package.Protobuf.Protos.Package
+@using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder
+@using BackOffice.BFF.UserRole.Protobuf.Protos.UserRole
\ No newline at end of file
diff --git a/src/BackOffice/Shared/MainLayout.razor b/src/BackOffice/Shared/MainLayout.razor
index f9de7f7..541ea1d 100644
--- a/src/BackOffice/Shared/MainLayout.razor
+++ b/src/BackOffice/Shared/MainLayout.razor
@@ -22,7 +22,7 @@
-
+
diff --git a/src/BackOffice/Shared/MainLayout.razor.cs b/src/BackOffice/Shared/MainLayout.razor.cs
index 78f6927..6aa7911 100644
--- a/src/BackOffice/Shared/MainLayout.razor.cs
+++ b/src/BackOffice/Shared/MainLayout.razor.cs
@@ -5,7 +5,7 @@ using MudBlazor;
namespace BackOffice.Shared;
public partial class MainLayout
{
- bool _drawerOpen = true;
+ bool _drawerOpen = false;
private string Details { get; set; }
void DrawerToggle()
diff --git a/src/BackOffice/wwwroot/favicon.png b/src/BackOffice/wwwroot/favicon.png
index 3d8d15c..c60f928 100644
Binary files a/src/BackOffice/wwwroot/favicon.png and b/src/BackOffice/wwwroot/favicon.png differ
diff --git a/src/BackOffice/wwwroot/icon-512.png b/src/BackOffice/wwwroot/icon-512.png
index 0498e41..e67c57d 100644
Binary files a/src/BackOffice/wwwroot/icon-512.png and b/src/BackOffice/wwwroot/icon-512.png differ
diff --git a/src/BackOffice/wwwroot/index.html b/src/BackOffice/wwwroot/index.html
index b92ddb9..e87d275 100644
--- a/src/BackOffice/wwwroot/index.html
+++ b/src/BackOffice/wwwroot/index.html
@@ -4,7 +4,7 @@
- مدیریت آفرینو
+ مدیریت فرصت
diff --git a/src/BackOffice/wwwroot/manifest.json b/src/BackOffice/wwwroot/manifest.json
index 3f85c08..f8fd30f 100644
--- a/src/BackOffice/wwwroot/manifest.json
+++ b/src/BackOffice/wwwroot/manifest.json
@@ -1,6 +1,6 @@
{
- "name": "Afrino",
- "short_name": "Afrino",
+ "name": "Foursat",
+ "short_name": "Foursat",
"start_url": "./",
"display": "standalone",
"background_color": "#ffffff",