using EgwCoreLib.Razor; using Microsoft.AspNetCore.Components; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.DTO; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.Order { public partial class OrderDets { #region Public Properties [Parameter] public EventCallback E_isEmpty { get; set; } [Parameter] public EventCallback E_SendDoor { get; set; } [Parameter] public EventCallback E_SendDoorModal { get; set; } [Parameter] public OrderStatusViewModel? OrderView { get; set; } public string userId { get { return WDCUService.userId; } } #endregion Public Properties #region Protected Fields protected DataPager? pagerDoors = null!; #endregion Protected Fields #region Protected Properties protected DoorModel? currDoor { get; set; } = null; protected int currDoorType { get; set; } = 0; protected DDFDto CurrentConf { get; set; } = new DDFDto(); protected DoorsSelectFilter currFilter { get; set; } = new DoorsSelectFilter(); /// /// Unit� di misura selezionata /// protected string currMeaUnit { get; set; } = "mm"; protected List? DoorsList { get; set; } = null; protected WebDoorCreator.Data.DbModels.Edges edgesFirstInst { get; set; } = new WebDoorCreator.Data.DbModels.Edges(); protected int idOrd { get; set; } = -1; [Inject] protected NavigationManager NavManager { get; set; } = null!; protected int orderStat { get; set; } = -1; protected OrderStatusViewModel? OrderStatus { get; set; } = null; protected List pageSizeList { get; set; } = new List() { 4, 8, 12, 16, 20, 24, 28, 64 }; protected string stepColor { get; set; } = ""; protected int totalCount { get; set; } protected int userCurrCompany { get => WDCUService.userCurrComp; } [Inject] protected WDCUserService WDCUService { get; set; } = null!; [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; #endregion Protected Properties #region Protected Methods 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 void ForceReload(int newNum) { numRecord = newNum; currPage = 1; } protected void ForceReloadPage(int newNum) { currPage = newNum; } protected override void OnInitialized() { numRecord = 16; } protected async Task SetCurrDoor(DoorModel door) { await Task.Delay(1); await E_SendDoor.InvokeAsync(door); } protected async Task SetCurrDoorModal(DoorModel door) { await Task.Delay(1); await E_SendDoorModal.InvokeAsync(door); } protected async Task setEmpty() { await E_isEmpty.InvokeAsync(true); } protected async Task setStepColor(string StepColor) { await Task.Delay(1); stepColor = StepColor; StateHasChanged(); } protected void UpdateTotCount(int newTotCount) { totalCount = newTotCount; } #endregion Protected Methods #region Private Properties 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; } #endregion Private Properties #region Private Methods 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; } #endregion Private Methods } }