Files
webdoorcreator/WebDoorCreator.UI/Components/Order/OrderDets.razor.cs
T
2023-05-18 11:55:03 +02:00

172 lines
4.6 KiB
C#

using EgwCoreLib.Razor;
using Microsoft.AspNetCore.Components;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.Data.DTO;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.Order
{
public partial class OrderDets
{
#region Public Properties
protected DataPager? pagerDoors = null!;
public string userId
{
get
{
return WDCUService.userId;
}
}
#endregion Public Properties
#region Protected Properties
protected DoorModel? currDoor { get; set; } = null;
protected int currDoorType { get; set; } = 0;
[Parameter]
public OrderStatusViewModel? OrderView { get; set; }
/// <summary>
/// Unit di misura selezionata
/// </summary>
protected string currMeaUnit { get; set; } = "mm";
protected List<DoorModel>? DoorsList { get; set; } = null;
protected WebDoorCreator.Data.DbModels.Edges edgesFirstInst { get; set; } = new WebDoorCreator.Data.DbModels.Edges();
protected int idOrd { get; set; } = -1;
protected int orderStat { get; set; } = -1;
[Inject]
protected NavigationManager NavManager { get; set; } = null!;
protected OrderStatusViewModel? OrderStatus { get; set; } = null;
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
[Inject]
protected WebDoorCreatorService WDService { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected DDFDto CurrentConf { get; set; } = new DDFDto();
protected async Task createDoor()
{
int doorId = await WDService.createDoor(idOrd, userId, currMeaUnit);
if (doorId > 0)
{
await InvokeAsync(StateHasChanged);
}
// rimando alla pagina... dettaglio...
NavManager.NavigateTo($"DoorDefinition?idOrd={idOrd}&idDoor={doorId}");
}
protected int userCurrCompany
{
get => WDCUService.userCurrComp;
}
protected override async Task OnInitializedAsync()
{
#if false
await Task.Delay(1);
var domani = DateTime.Today.AddDays(1);
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("idOrd", out var _idOrd) && QueryHelpers.ParseQuery(uri.Query).TryGetValue("orderStat", out var _orderStat))
{
idOrd = int.Parse(_idOrd);
orderStat = int.Parse(_orderStat);
}
var orders = await WDService.OrderStatusGetFilt(userCurrCompany, 0, domani.AddYears(-2), domani);
if (orders != null)
{
orderView = orders.Where(x => x.OrderId == idOrd).FirstOrDefault();
}
#endif
}
protected async override Task OnParametersSetAsync()
{
await Task.Delay(1);
}
protected string stepColor { get; set; } = "";
protected async Task setStepColor(string StepColor)
{
await Task.Delay(1);
stepColor = StepColor;
StateHasChanged();
}
#endregion Protected Methods
#region Private Fields
#endregion Private Fields
protected DoorsSelectFilter currFilter { get; set; } = new DoorsSelectFilter();
private int currPage
{
get => currFilter.CurrPage;
set => currFilter.CurrPage = value;
}
private bool isLoading { get; set; } = false;
private int numRecord
{
get => currFilter.NumRec;
set => currFilter.NumRec = value;
}
private string searchValue
{
get => currFilter.searchValue;
set => currFilter.searchValue = value;
}
protected int totalCount { get; set; }
protected void ForceReload(int newNum)
{
numRecord = newNum;
}
protected void ForceReloadPage(int newNum)
{
currPage = newNum;
}
protected void UpdateTotCount(int newTotCount)
{
totalCount = newTotCount;
}
private async Task updateFilter(DoorsSelectFilter newParams)
{
isLoading = true;
await Task.Delay(1);
currPage = 1;
searchValue = newParams.searchValue;
await Task.Delay(1);
await InvokeAsync(() => StateHasChanged());
currFilter = newParams;
isLoading = false;
}
}
}