diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor index 3da0607..b428ad5 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor @@ -9,53 +9,126 @@ @inject IUserUtility UserUtility @inject IRestWrapper RestWrapper - + + + + + + + سفارشات امروز + @ViewModel.PageDto.TodayOrdersCount + عدد + + + + + سفارشات در انتظار تایید + @ViewModel.PageDto.PayedOrdersCount + عدد + + + + + سفارشات ارسال نشده + @ViewModel.PageDto.UnSendOrdersCount + عدد + + + + + مجموع سفارش ماه + @ViewModel.PageDto.ThisMonthOrdersCount + عدد + + + + + + - - - - سفارشات امروز + + + + سفارشات امروز @ViewModel.PageDto.TodayOrdersCount عدد - - - - سفارشات در انتظار تایید + + + سفارشات در انتظار تایید @ViewModel.PageDto.PayedOrdersCount عدد - - - - سفارشات ارسال نشده + + + سفارشات ارسال نشده @ViewModel.PageDto.UnSendOrdersCount عدد - - - - مجموع سفارش ماه + + + مجموع سفارش ماه @ViewModel.PageDto.ThisMonthOrdersCount عدد - - + + - + + + + + + + + + + + + + + + + + - @* *@ + + + + + + + + + + + + + + @@ -91,20 +164,20 @@ break; case OrderStatus.Paid: - @context.Item.OrderStatus.ToDisplay() + @context.Item.OrderStatus.ToDisplay() break; case OrderStatus.Processing: @context.Item.OrderStatus.ToDisplay() break; - + case OrderStatus.Delivered: @context.Item.OrderStatus.ToDisplay() break; - + case OrderStatus.Done: @context.Item.OrderStatus.ToDisplay() break; - + case OrderStatus.Canceled: @context.Item.OrderStatus.ToDisplay() break; diff --git a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs index 9b76f24..813c127 100644 --- a/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs +++ b/Netina.AdminPanel.PWA/Pages/OrdersPage.razor.cs @@ -32,7 +32,7 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); IsProcessing = true; MainOrders.Clear(); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, null, null, null,token); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage,null, null, null, null,token); dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) MainGridPageCount = 2; @@ -43,6 +43,11 @@ public class OrdersPageViewModel : BaseViewModel catch (ApiException ex) { var exe = await ex.GetContentAsAsync(); + if (ex.StatusCode == HttpStatusCode.Unauthorized) + { + await _userUtility.LogoutAsync(); + _navigationManager.NavigateTo("login", true, true); + } _snackbar.Add(exe != null ? exe.Message : ex.Content, Severity.Error); } catch (Exception e) @@ -71,7 +76,7 @@ public class OrdersPageViewModel : BaseViewModel throw new Exception("Token is null"); - var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, null, null, null, token); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage,FactorCodeSearch, null, _orderStatusSearch, null, token); dto.ForEach(d => MainOrders.Add(d)); if (MainOrders.Count == 15) MainGridPageCount = MainGridCurrentPage + 2; @@ -94,7 +99,6 @@ public class OrdersPageViewModel : BaseViewModel } } - public async Task ShowClicked(OrderSDto order) { DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.False, NoHeader = true, FullWidth = true, DisableBackdropClick = true }; @@ -108,5 +112,50 @@ public class OrdersPageViewModel : BaseViewModel } } + public string? FactorCodeSearch { get; set; } = null; + private OrderStatus? _orderStatusSearch; + public async Task SearchAsync() + { + try + { + var token = await _userUtility.GetBearerTokenAsync(); + if (token == null) + throw new Exception("Token is null"); + IsProcessing = true; + MainOrders.Clear(); + var dto = await _restWrapper.OrderRestApi.ReadAll(MainGridCurrentPage, FactorCodeSearch,null, _orderStatusSearch, null, token); + dto.ForEach(d => MainOrders.Add(d)); + if (MainOrders.Count == 15) + MainGridPageCount = 2; + + var orderDashboardDto = await _restWrapper.DashboardApiRest.GetOrdersDashboardAsync(token); + PageDto = orderDashboardDto; + } + catch (ApiException ex) + { + var exe = await ex.GetContentAsAsync(); + if (ex.StatusCode == HttpStatusCode.Unauthorized) + { + await _userUtility.LogoutAsync(); + _navigationManager.NavigateTo("login", true, true); + } + _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 OrderStatusSearchChanged(OrderStatus arg) + { + _orderStatusSearch = arg; + await SearchAsync(); + } } \ No newline at end of file diff --git a/Netina.AdminPanel.PWA/Pages/ProductsPage.razor b/Netina.AdminPanel.PWA/Pages/ProductsPage.razor index f92a369..e6562b4 100644 --- a/Netina.AdminPanel.PWA/Pages/ProductsPage.razor +++ b/Netina.AdminPanel.PWA/Pages/ProductsPage.razor @@ -77,7 +77,7 @@ SortMode="@SortMode.None" Groupable="false"> - + > ReadAll([Query]int page, [Query] long? selectedDate, [Query] OrderStatus? orderStatus, [Query] OrderQueryDateFilter? dateFilter, [Header("Authorization")] string authorization); + Task> ReadAll([Query]int page, [Query] string? factorCode, [Query] long? selectedDate, [Query] OrderStatus? orderStatus, [Query] OrderQueryDateFilter? dateFilter, [Header("Authorization")] string authorization); [Get("/{id}")] Task ReadOne(Guid id, [Header("Authorization")] string authorization); diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css index 9c8fb94..63da851 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.min.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.min.css @@ -1313,9 +1313,6 @@ input:checked + .toggle-bg { .min-h-\[33rem\] { min-height: 33rem; } -.min-h-screen { - min-height: 100vh; -} .w-1\/2 { width: 50%; } @@ -2332,6 +2329,11 @@ code { padding-left: 5rem; padding-right: 5rem; } + + .lg\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } } .rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *) { diff --git a/Netina.AdminPanel.PWA/wwwroot/css/app.output.css b/Netina.AdminPanel.PWA/wwwroot/css/app.output.css index a27e1fe..e22251b 100644 --- a/Netina.AdminPanel.PWA/wwwroot/css/app.output.css +++ b/Netina.AdminPanel.PWA/wwwroot/css/app.output.css @@ -2673,6 +2673,11 @@ code { padding-left: 5rem; padding-right: 5rem; } + + .lg\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } } .rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *) {