@page "/Orders" @using Front.Services @using Shared @using Shared.DTOs @using Front.CUSComponent @using Shared.DTOs.Serch @inject HttpClientController hc; @inject Fixedvalues fv; سفارشات @* search *@

متفرقه / سفارشات

@* action *@
@* alert *@
@* data *@ @if (request != null) { @* pagination *@

@request?.RowCount آیتم یافت شد

} @layout PanelLayout @code { public bool SpinnerVisible { get; set; } = false; //private Modal stuffmodal = default!; [Inject] protected PreloadService PreloadService { get; set; } = default!; ItemSerachOrder itemsearch = new ItemSerachOrder(); public int? ItemSearchOrdertype { get; set; } [Parameter, SupplyParameterFromQuery] public int? PageIndex { get; set; } public Shared.DTOs.PagingDto? request { get; set; } private Modal modal = default!; private Modal Newordermodal = default!; // alert AlertColor alertColor = AlertColor.Primary; IconName alertIconName = IconName.CheckCircleFill; bool Hidealert = true; string alertMessage = ""; protected override async Task OnInitializedAsync() { SpinnerVisible = false; await base.OnInitializedAsync(); } protected override async Task OnParametersSetAsync() { SpinnerVisible = false; if (PageIndex == null) PageIndex = 1; await GetOrders(PageIndex.Value); await base.OnParametersSetAsync(); } } @functions { public async Task GetOrders(int pi=1) { SpinnerVisible = true; if (ItemSearchOrdertype == 0 || ItemSearchOrdertype == null) itemsearch.Status = null; else itemsearch.Status = (StatusOrder)ItemSearchOrdertype; itemsearch.PageSize = 10; itemsearch.PageIndex = pi; PreloadService.Show(SpinnerColor.Dark); var rsp = await hc.Post("Orders/GetAllOrder",itemsearch); if (rsp.IsSuccessStatusCode) request = await rsp.Content.ReadFromJsonAsync?>(); else ShowDangerAlert("خطایی در بارگیری سفارشات رخ داده"); PreloadService.Hide(); SpinnerVisible = false; } private void ShowSuccessAlert(string msg) { Hidealert = false; alertColor = AlertColor.Success; alertIconName = IconName.CheckCircleFill; alertMessage = msg; } private void ShowDangerAlert(string msg) { Hidealert = false; alertColor = AlertColor.Danger; alertIconName = IconName.ExclamationTriangleFill; alertMessage = msg; } public async Task CallBackFromReadItem(ActionInResultComponent result) { if (result.Action == ComponentAction.add) { if (result.Status == ComponentStatus.success) { ShowSuccessAlert("سفارش پرداخت شد"); await fv.LoadDashBoard(true); } } else if (result.Action == ComponentAction.delete) { if (result.Status == ComponentStatus.success) ShowSuccessAlert("سفارش ابطال شد"); } if (result.Status == ComponentStatus.success) await GetOrders(1); await modal.HideAsync(); } public async Task OrderItem(int ID) { await ReadOrderItem(request?.list.Where(w => w.ID == ID).First()); } public async Task ReadOrderItem(OrderDto order) { var parameters = new Dictionary(); parameters.Add("order", order); parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBackFromReadItem)); await modal.ShowAsync(title: $"سفارش {order.ID}", parameters: parameters); } public async Task CallBackFromNewItem(OrderDto result) { await Newordermodal.HideAsync(); await ReadOrderItem(result); await GetOrders(1); } public async Task NewOrderItem() { var parameters = new Dictionary(); parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBackFromNewItem)); await Newordermodal.ShowAsync(title: $"سفارش جدید", parameters: parameters); } }