parent
edf22ff1ca
commit
59dad6f038
|
@ -311,9 +311,9 @@ public class DiscountActionDialogBoxViewModel : BaseViewModel<DiscountLDto>
|
||||||
if (token == null)
|
if (token == null)
|
||||||
throw new Exception("Token is null");
|
throw new Exception("Token is null");
|
||||||
if (product.IsNullOrEmpty())
|
if (product.IsNullOrEmpty())
|
||||||
response = await _restWrapper.ProductRestApi.ReadAll(0,null,null, token);
|
response = await _restWrapper.ProductRestApi.ReadAll(0,null,null,null);
|
||||||
else
|
else
|
||||||
response = await _restWrapper.ProductRestApi.ReadAll(product, token);
|
response = await _restWrapper.ProductRestApi.ReadAll(product);
|
||||||
_products = response.Products;
|
_products = response.Products;
|
||||||
return _products;
|
return _products;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,12 @@
|
||||||
<MudDivider Vertical="true" FlexItem="true" class="mx-1" />
|
<MudDivider Vertical="true" FlexItem="true" class="mx-1" />
|
||||||
|
|
||||||
<MudStack class="min-w-[310px] sm:w-full">
|
<MudStack class="min-w-[310px] sm:w-full">
|
||||||
|
<MudStack Row="true">
|
||||||
<MudText Typo="Typo.h6">1. افزودن محصول به <b> @ViewModel.SelectedCategory?.Name</b></MudText>
|
<MudText Typo="Typo.h6">1. افزودن محصول به <b> @ViewModel.SelectedCategory?.Name</b></MudText>
|
||||||
|
<MudSpacer/>
|
||||||
|
|
||||||
|
<MudButton Disabled="@ViewModel.FormEnable.Not()" Variant="Variant.Outlined" Color="Color.Success" StartIcon="@Icons.Material.Filled.Check" OnClick="@ViewModel.SubmitCreateProduct">ثبت محصول</MudButton>
|
||||||
|
</MudStack>
|
||||||
<MudGrid Spacing="1" class="-ml-1 w-full">
|
<MudGrid Spacing="1" class="-ml-1 w-full">
|
||||||
<MudItem xs="12" md="6">
|
<MudItem xs="12" md="6">
|
||||||
<MudTextField Disabled="@ViewModel.FormEnable.Not()" @bind-Value="@ViewModel.PageDto.PersianName" Variant="Variant.Outlined" T="string" Label="نام فارسی کالا" />
|
<MudTextField Disabled="@ViewModel.FormEnable.Not()" @bind-Value="@ViewModel.PageDto.PersianName" Variant="Variant.Outlined" T="string" Label="نام فارسی کالا" />
|
||||||
|
@ -92,7 +97,7 @@
|
||||||
<MudTextField Disabled="@ViewModel.FormEnable.Not()" @bind-Value="@ViewModel.PageDto.Cost" Format="N0" Variant="Variant.Outlined" T="double" Label="قیمت ( تومان )" />
|
<MudTextField Disabled="@ViewModel.FormEnable.Not()" @bind-Value="@ViewModel.PageDto.Cost" Format="N0" Variant="Variant.Outlined" T="double" Label="قیمت ( تومان )" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
</MudGrid>
|
</MudGrid>
|
||||||
<MudExpansionPanels>
|
<MudExpansionPanels DisableBorders="false">
|
||||||
<MudExpansionPanel Text="ویژگی ها ( اختیاری )">
|
<MudExpansionPanel Text="ویژگی ها ( اختیاری )">
|
||||||
<MudGrid>
|
<MudGrid>
|
||||||
|
|
||||||
|
@ -164,8 +169,6 @@
|
||||||
</MudPaper>
|
</MudPaper>
|
||||||
</ButtonTemplate>
|
</ButtonTemplate>
|
||||||
</MudFileUpload>
|
</MudFileUpload>
|
||||||
|
|
||||||
<MudButton Disabled="@ViewModel.FormEnable.Not()" Color="Color.Success" StartIcon="@Icons.Material.Filled.Check" OnClick="@ViewModel.SubmitCreateProduct">ثبت محصول</MudButton>
|
|
||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -112,10 +112,12 @@ public class FastProductCreateDialogBoxViewModel(ISnackbar snackbar, IRestWrappe
|
||||||
var browserFiles = Files.ToList();
|
var browserFiles = Files.ToList();
|
||||||
var specifications = Specifications.ToList();
|
var specifications = Specifications.ToList();
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var token = await userUtility.GetBearerTokenAsync();
|
var token = await userUtility.GetBearerTokenAsync();
|
||||||
if (token == null)
|
if (token == null)
|
||||||
return;
|
throw new Exception("Token is null");
|
||||||
var files = new List<StorageFileSDto>();
|
var files = new List<StorageFileSDto>();
|
||||||
foreach (var file in browserFiles)
|
foreach (var file in browserFiles)
|
||||||
{
|
{
|
||||||
|
@ -147,11 +149,20 @@ public class FastProductCreateDialogBoxViewModel(ISnackbar snackbar, IRestWrappe
|
||||||
Files = files,
|
Files = files,
|
||||||
Specifications = specifications
|
Specifications = specifications
|
||||||
};
|
};
|
||||||
await restWrapper.CrudApiRest<Product, Guid>(Address.ProductController)
|
var id = await restWrapper.CrudApiRest<Product, Guid>(Address.ProductController)
|
||||||
.Create(command, token);
|
.Create(command, token);
|
||||||
|
}
|
||||||
|
catch (ApiException ex)
|
||||||
|
{
|
||||||
|
snackbar.Add(ex.Message, Severity.Error);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
snackbar.Add(e.Message, Severity.Error);
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
PageDto = new ProductLDto { Stock = 1 };
|
PageDto = new ProductLDto { Stock = 10 };
|
||||||
FileNames.Clear();
|
FileNames.Clear();
|
||||||
//Specifications.Clear();
|
//Specifications.Clear();
|
||||||
Files.Clear();
|
Files.Clear();
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
|
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
|
||||||
<AssemblyVersion>1.1.8.11</AssemblyVersion>
|
<AssemblyVersion>1.1.10.15</AssemblyVersion>
|
||||||
<FileVersion>1.1.8.11</FileVersion>
|
<FileVersion>1.1.10.15</FileVersion>
|
||||||
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
|
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ public class ManageNavMenuPageViewModel : BaseViewModel<NavMenuSetting>
|
||||||
var token = await _userUtility.GetBearerTokenAsync();
|
var token = await _userUtility.GetBearerTokenAsync();
|
||||||
if (token == null)
|
if (token == null)
|
||||||
throw new Exception("Token is null");
|
throw new Exception("Token is null");
|
||||||
var response = await _restWrapper.ProductRestApi.ReadAll(0,product,null, token);
|
var response = await _restWrapper.ProductRestApi.ReadAll(0,product,null,null);
|
||||||
var categories = response.Products;
|
var categories = response.Products;
|
||||||
if (product.IsNullOrEmpty())
|
if (product.IsNullOrEmpty())
|
||||||
return categories;
|
return categories;
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
Clearable="true"
|
Clearable="true"
|
||||||
ValueChanged="@ViewModel.SearchChanged"
|
ValueChanged="@ViewModel.SearchChanged"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" class="my-auto"
|
AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" class="my-auto"
|
||||||
OnAdornmentClick="@ViewModel.SearchAsync"></MudTextField>
|
OnAdornmentClick="@ViewModel.GetEntitiesAsync"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem xs="12" sm="6">
|
<MudItem xs="12" sm="6">
|
||||||
|
@ -86,12 +86,12 @@
|
||||||
<ToolBarContent>
|
<ToolBarContent>
|
||||||
<MudGrid class="collapse md:visible">
|
<MudGrid class="collapse md:visible">
|
||||||
|
|
||||||
<MudItem xs="12" sm="6">
|
<MudItem xs="12" sm="4">
|
||||||
<MudTextField T="string" Placeholder="جست جو بر اساس نام" Adornment="Adornment.Start" Immediate="true"
|
<MudTextField T="string" Placeholder="جست جو بر اساس نام" Adornment="Adornment.Start" Immediate="true"
|
||||||
Clearable="true"
|
Clearable="true"
|
||||||
ValueChanged="@ViewModel.SearchChanged"
|
ValueChanged="@ViewModel.SearchChanged"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" class="my-auto"
|
AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" class="my-auto"
|
||||||
OnAdornmentClick="@ViewModel.SearchAsync"></MudTextField>
|
OnAdornmentClick="@ViewModel.GetEntitiesAsync"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem xs="12" sm="6">
|
<MudItem xs="12" sm="6">
|
||||||
|
@ -117,6 +117,12 @@
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</MudAutocomplete>
|
</MudAutocomplete>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
<MudItem xs="12" sm="2">
|
||||||
|
<MudSwitch class="mt-3" T="bool"
|
||||||
|
Value="ViewModel.IsEnable"
|
||||||
|
ValueChanged="async(flag)=>await ViewModel.ProductEnableChanged(flag)"
|
||||||
|
Label="فقط محصولات موجود" Color="Color.Info" />
|
||||||
|
</MudItem>
|
||||||
</MudGrid>
|
</MudGrid>
|
||||||
</ToolBarContent>
|
</ToolBarContent>
|
||||||
<Columns>
|
<Columns>
|
||||||
|
@ -142,6 +148,21 @@
|
||||||
}
|
}
|
||||||
</CellTemplate>
|
</CellTemplate>
|
||||||
</TemplateColumn>
|
</TemplateColumn>
|
||||||
|
|
||||||
|
<TemplateColumn T="ProductSDto" Title="موجود است">
|
||||||
|
<CellTemplate>
|
||||||
|
@if (@context.Item.IsEnable)
|
||||||
|
{
|
||||||
|
<p>بلی</p>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<p>خیر</p>
|
||||||
|
|
||||||
|
}
|
||||||
|
</CellTemplate>
|
||||||
|
</TemplateColumn>
|
||||||
|
|
||||||
<TemplateColumn T="ProductSDto" Title="قیمتــ">
|
<TemplateColumn T="ProductSDto" Title="قیمتــ">
|
||||||
<CellTemplate>
|
<CellTemplate>
|
||||||
<p>@context.Item.Cost.ToString("N0") ریالــ</p>
|
<p>@context.Item.Cost.ToString("N0") ریالــ</p>
|
||||||
|
|
|
@ -11,11 +11,12 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
private readonly IBrowserViewportService _browserViewportService;
|
private readonly IBrowserViewportService _browserViewportService;
|
||||||
private readonly IRestWrapper _restWrapper;
|
private readonly IRestWrapper _restWrapper;
|
||||||
|
|
||||||
public string Search = string.Empty;
|
public string? Search = string.Empty;
|
||||||
public int CurrentPage = 0;
|
public int CurrentPage = 0;
|
||||||
public int PageCount = 1;
|
public int PageCount = 1;
|
||||||
public int TotalItems = 0;
|
public int TotalItems = 0;
|
||||||
public bool IsXs = false;
|
public bool IsXs = false;
|
||||||
|
public bool IsEnable { get; set; } = true;
|
||||||
|
|
||||||
public ProductsPageViewModel(NavigationManager navigationManager,
|
public ProductsPageViewModel(NavigationManager navigationManager,
|
||||||
ISnackbar snackbar,
|
ISnackbar snackbar,
|
||||||
|
@ -34,6 +35,12 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task InitializeAsync()
|
public override async Task InitializeAsync()
|
||||||
|
{
|
||||||
|
await GetEntitiesAsync();
|
||||||
|
await base.InitializeAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task GetEntitiesAsync()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -42,10 +49,11 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
throw new Exception("Token is null");
|
throw new Exception("Token is null");
|
||||||
IsProcessing = true;
|
IsProcessing = true;
|
||||||
PageDto.Clear();
|
PageDto.Clear();
|
||||||
var dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage,null,null, token);
|
var search = Search.IsNullOrEmpty() ? null : Search;
|
||||||
|
var dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, search, SelectedCategory?.Id, IsEnable);
|
||||||
dto.Products.ForEach(d => PageDto.Add(d));
|
dto.Products.ForEach(d => PageDto.Add(d));
|
||||||
if (PageDto.Count == 20)
|
if (PageDto.Count % 20 == 0)
|
||||||
PageCount = 2;
|
PageCount = CurrentPage + 2;
|
||||||
TotalItems = dto.Pager.TotalItems;
|
TotalItems = dto.Pager.TotalItems;
|
||||||
IsXs = (await _browserViewportService.GetCurrentBreakpointAsync()) == Breakpoint.Xs;
|
IsXs = (await _browserViewportService.GetCurrentBreakpointAsync()) == Breakpoint.Xs;
|
||||||
}
|
}
|
||||||
|
@ -63,52 +71,12 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
|
|
||||||
IsProcessing = false;
|
IsProcessing = false;
|
||||||
}
|
}
|
||||||
await base.InitializeAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ChangePageAsync(int page)
|
public async Task ChangePageAsync(int page)
|
||||||
{
|
{
|
||||||
CurrentPage = page - 1;
|
CurrentPage = page - 1;
|
||||||
if (CurrentPage > PageCount - 2)
|
await GetEntitiesAsync();
|
||||||
{
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var token = await _userUtility.GetBearerTokenAsync();
|
|
||||||
if (token == null)
|
|
||||||
throw new Exception("Token is null");
|
|
||||||
IsProcessing = true;
|
|
||||||
|
|
||||||
GetProductsResponseDto dto = new GetProductsResponseDto();
|
|
||||||
if (Search.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage,null,null, token);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, Search,null, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
dto.Products.ForEach(d => PageDto.Add(d));
|
|
||||||
if (PageDto.Count % 20 == 0)
|
|
||||||
PageCount = CurrentPage + 2;
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (ApiException ex)
|
|
||||||
{
|
|
||||||
var exe = await ex.GetContentAsAsync<ApiResult>();
|
|
||||||
_snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
_snackbar.Add(e.Message, Severity.Error);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
|
|
||||||
IsProcessing = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AddProductClicked()
|
public async Task AddProductClicked()
|
||||||
|
@ -208,47 +176,6 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
await InitializeAsync();
|
await InitializeAsync();
|
||||||
Search = search;
|
Search = search;
|
||||||
}
|
}
|
||||||
public async Task SearchAsync()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (Search.IsNullOrEmpty())
|
|
||||||
throw new AppException("دسته بندی برای جست جو وارد نشده است");
|
|
||||||
|
|
||||||
|
|
||||||
var token = await _userUtility.GetBearerTokenAsync();
|
|
||||||
if (token == null)
|
|
||||||
throw new Exception("Token is null");
|
|
||||||
|
|
||||||
IsProcessing = true;
|
|
||||||
CurrentPage = 0;
|
|
||||||
PageCount = 1;
|
|
||||||
PageDto.Clear();
|
|
||||||
GetProductsResponseDto dto;
|
|
||||||
if (SelectedCategory != null)
|
|
||||||
dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, Search, SelectedCategory.Id, token);
|
|
||||||
else
|
|
||||||
dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, Search,null, token);
|
|
||||||
|
|
||||||
dto.Products.ForEach(d => PageDto.Add(d));
|
|
||||||
if (PageDto.Count == 20)
|
|
||||||
PageCount = 2;
|
|
||||||
}
|
|
||||||
catch (ApiException ex)
|
|
||||||
{
|
|
||||||
var exe = await ex.GetContentAsAsync<ApiResult>();
|
|
||||||
_snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
_snackbar.Add(e.Message, Severity.Error);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
|
|
||||||
IsProcessing = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private List<ProductCategorySDto> _productCategories = new List<ProductCategorySDto>();
|
private List<ProductCategorySDto> _productCategories = new List<ProductCategorySDto>();
|
||||||
|
@ -281,74 +208,13 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
public async Task ProductCategorySelected(ProductCategorySDto productCategory)
|
public async Task ProductCategorySelected(ProductCategorySDto productCategory)
|
||||||
{
|
{
|
||||||
SelectedCategory = productCategory;
|
SelectedCategory = productCategory;
|
||||||
try
|
await GetEntitiesAsync();
|
||||||
{
|
|
||||||
if (SelectedCategory == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
IsProcessing = true;
|
|
||||||
|
|
||||||
var token = await _userUtility.GetBearerTokenAsync();
|
|
||||||
if (token == null)
|
|
||||||
throw new Exception("Token is null");
|
|
||||||
CurrentPage = 0;
|
|
||||||
PageCount = 1;
|
|
||||||
PageDto.Clear();
|
|
||||||
GetProductsResponseDto dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, Search, SelectedCategory.Id, token);
|
|
||||||
|
|
||||||
dto.Products.ForEach(d => PageDto.Add(d));
|
|
||||||
if (PageDto.Count == 20)
|
|
||||||
PageCount = 2;
|
|
||||||
}
|
|
||||||
catch (ApiException ex)
|
|
||||||
{
|
|
||||||
var exe = await ex.GetContentAsAsync<ApiResult>();
|
|
||||||
_snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
_snackbar.Add(e.Message, Severity.Error);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
|
|
||||||
IsProcessing = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ClearProductCategorySearch()
|
public async Task ClearProductCategorySearch()
|
||||||
{
|
{
|
||||||
SelectedCategory = null;
|
SelectedCategory = null;
|
||||||
try
|
await GetEntitiesAsync();
|
||||||
{
|
|
||||||
IsProcessing = true;
|
|
||||||
var token = await _userUtility.GetBearerTokenAsync();
|
|
||||||
if (token == null)
|
|
||||||
throw new Exception("Token is null");
|
|
||||||
CurrentPage = 0;
|
|
||||||
PageCount = 1;
|
|
||||||
PageDto.Clear();
|
|
||||||
GetProductsResponseDto dto = await _restWrapper.ProductRestApi.ReadAll(CurrentPage, Search, null, token);
|
|
||||||
|
|
||||||
dto.Products.ForEach(d => PageDto.Add(d));
|
|
||||||
if (PageDto.Count == 20)
|
|
||||||
PageCount = 2;
|
|
||||||
}
|
|
||||||
catch (ApiException ex)
|
|
||||||
{
|
|
||||||
var exe = await ex.GetContentAsAsync<ApiResult>();
|
|
||||||
_snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
_snackbar.Add(e.Message, Severity.Error);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
|
|
||||||
IsProcessing = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DisplayedChanged(ProductSDto product)
|
public async Task DisplayedChanged(ProductSDto product)
|
||||||
|
@ -370,4 +236,13 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
_snackbar.Add(e.Message, Severity.Error);
|
_snackbar.Add(e.Message, Severity.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task ProductEnableChanged(bool? arg)
|
||||||
|
{
|
||||||
|
if (arg == null)
|
||||||
|
return;
|
||||||
|
IsEnable = arg.Value;
|
||||||
|
CurrentPage = 0;
|
||||||
|
await GetEntitiesAsync();
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -9,10 +9,10 @@ public interface IProductRestApi
|
||||||
Task<GetProductResponseDto> ReadOne(Guid productId);
|
Task<GetProductResponseDto> ReadOne(Guid productId);
|
||||||
|
|
||||||
[Get("")]
|
[Get("")]
|
||||||
Task<GetProductsResponseDto> ReadAll([Query] string productName, [Header("Authorization")] string authorization);
|
Task<GetProductsResponseDto> ReadAll([Query] string productName);
|
||||||
|
|
||||||
[Get("")]
|
[Get("")]
|
||||||
Task<GetProductsResponseDto> ReadAll([Query] int page, [Query] string? productName, [Query] Guid? categoryId, [Header("Authorization")] string authorization);
|
Task<GetProductsResponseDto> ReadAll([Query] int page, [Query] string? productName, [Query] Guid? categoryId, [Query] bool? isActive);
|
||||||
|
|
||||||
[Get("")]
|
[Get("")]
|
||||||
Task<GetProductsResponseDto> ReadAll([Query] string productName, [Query] Guid categoryId, [Header("Authorization")] string authorization);
|
Task<GetProductsResponseDto> ReadAll([Query] string productName, [Query] Guid categoryId, [Header("Authorization")] string authorization);
|
||||||
|
|
|
@ -8,11 +8,12 @@
|
||||||
"Microsoft.AspNetCore.Http.Connections": "Debug"
|
"Microsoft.AspNetCore.Http.Connections": "Debug"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"WebSiteUrl": "https://vesmeh.com",
|
"WebSiteUrl": "https://bonsaigallery.shop",
|
||||||
"AdminPanelBaseUrl": "https://admin.vesmeh.com",
|
"AdminPanelBaseUrl": "https://admin.bonsaigallery.shop",
|
||||||
"StorageBaseUrl": "https://storage.vesmeh.com/",
|
"StorageBaseUrl": "https://storage.bonsaigallery.shop",
|
||||||
//"ApiUrl": "https://api.vesmeh.com/api"
|
"ApiUrl": "https://api.bonsaigallery.shop/api",
|
||||||
"ApiUrl": "http://localhost:32770/api"
|
"IsShop": true
|
||||||
|
//"ApiUrl": "http://localhost:32770/api"
|
||||||
|
|
||||||
//"WebSiteUrl": "https://hamyanedalat.com",
|
//"WebSiteUrl": "https://hamyanedalat.com",
|
||||||
//"AdminPanelBaseUrl": "https://admin.hamyanedalat.com",
|
//"AdminPanelBaseUrl": "https://admin.hamyanedalat.com",
|
||||||
|
|
|
@ -1045,6 +1045,9 @@ input:checked + .toggle-bg {
|
||||||
.top-0 {
|
.top-0 {
|
||||||
top: 0px;
|
top: 0px;
|
||||||
}
|
}
|
||||||
|
.\!z-\[9999\] {
|
||||||
|
z-index: 9999 !important;
|
||||||
|
}
|
||||||
.z-10 {
|
.z-10 {
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1113,6 +1113,10 @@ input:checked + .toggle-bg {
|
||||||
top: 0px;
|
top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.\!z-\[9999\] {
|
||||||
|
z-index: 9999 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.z-10 {
|
.z-10 {
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div dir="rtl" id="blazor-error-ui" class="!text-black">
|
<div dir="rtl" id="blazor-error-ui" class="!text-black !z-[9999]">
|
||||||
<b>مشکلی رخ داده است</b>
|
<b>مشکلی رخ داده است</b>
|
||||||
<a href="" class="reload">بارگزاری مجدد</a>
|
<a href="" class="reload">بارگزاری مجدد</a>
|
||||||
<a class="dismiss">بستن</a>
|
<a class="dismiss">بستن</a>
|
||||||
|
|
Loading…
Reference in New Issue