@using Front.Services
@using Shared.DTOs
@inject HttpClientController hc;
@* alert *@
@if (order.Status != StatusOrder.Create)
{
}
@context.Title
@context.Type
@context.CreditAmount
@context.APrice.ToString("N0")
@context.Discount.ToString("N0")
@context.Tax.ToString("N0")
@context.Total.ToString("N0")
@*
*@
@if (order.Status == StatusOrder.Create)
{
}
@code {
#region Alert
// alert
AlertColor alertColor = AlertColor.Primary;
IconName alertIconName = IconName.CheckCircleFill;
bool Hidealert = true;
string alertMessage = "";
#endregion
private ConfirmDialog dialog = default!;
public ActionInResultComponent result { get; set; }
Grid grid = default!;
[Inject] protected PreloadService PreloadService { get; set; } = default!;
[Parameter] public EventCallback OnMultipleOfThree { get; set; }
[Parameter] public OrderDto order { get; set; }
List OrderItems = new List();
string titledateapp = "تاریخ";
protected override async Task OnParametersSetAsync()
{
if (order.Status == StatusOrder.Cancel)
{
titledateapp += " ابطال";
}
else if (order.Status == StatusOrder.Cancel)
{
titledateapp += " پرداخت";
}
await base.OnParametersSetAsync();
}
}
@functions {
private async Task> DataProvider(GridDataProviderRequest request)
{
OrderItems = await LoadOrderItem(); // call a service or an API to pull the employees
return await Task.FromResult(request.ApplyTo(OrderItems));
}
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;
}
private async Task> LoadOrderItem()
{
PreloadService.Show(SpinnerColor.Dark);
var rsp = await hc.Get($"Orders/GetOrderDetails/{order.ID}");
PreloadService.Hide();
if (rsp.IsSuccessStatusCode)
return await rsp.Content.ReadFromJsonAsync?>();
else
{
ShowDangerAlert("خطایی در بارگیری");
return new List();
}
}
private async Task OnClickPay()
{
// result.Status = ComponentStatus.success;
// result.Action = ComponentAction.add;
// await OnMultipleOfThree.InvokeAsync(result);
}
private async Task OnClickCancel()
{
var confirmation = await dialog.ShowAsync(
title: "عملیات ابطال سفارش",
message1: $"از ابطال سفارش {order.ID}",
message2: "اطمینان دارید?");
if (confirmation)
{
PreloadService.Show(SpinnerColor.Dark);
var rsp = await hc.Get($"Orders/CancelOrder/{order.ID}");
PreloadService.Hide();
if (rsp.IsSuccessStatusCode)
{
if(await rsp.Content.ReadFromJsonAsync())
{
result.Status = ComponentStatus.success;
result.Action = ComponentAction.delete;
await OnMultipleOfThree.InvokeAsync(result);
}
else
ShowDangerAlert("خطای سیستمی");
}
else if (rsp.StatusCode==System.Net.HttpStatusCode.NotFound)
ShowDangerAlert("سفارش یافت نشد");
else
{
var request = await rsp.Content.ReadFromJsonAsync>();
ShowDangerAlert(request[0]);
}
}
}
}