using EgwCoreLib.Lux.Data; using EgwCoreLib.Lux.Data.DbModel; using EgwCoreLib.Lux.Data.Services; using Microsoft.AspNetCore.Components; using static EgwCoreLib.Lux.Core.Enum; namespace Lux.UI.Components.Compo { public partial class OfferRowMan { #region Public Properties [Parameter] public DisplayMode DisplayMode { get; set; } = DisplayMode.Standard; [Parameter] public int OfferID { get; set; } = 0; #endregion Public Properties #region Protected Properties [Inject] protected IConfiguration Config { get; set; } = null!; [Inject] protected DataLayerServices DLService { get; set; } = null!; [Inject] protected ImageCacheService ICService { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected void DoEdit(OfferRowModel curRec) { EditRecord = curRec; } protected string imgUrl(string imgUid, string env) { // cast string su env.. EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS envir = EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.WINDOW; Enum.TryParse(env, out envir); return ICService.ImageUrl($"{apiUrl}/{imgBasePath}", false, imgUid, envir); } protected override void OnInitialized() { apiUrl = Config.GetValue("ServerConf:Prog.ApiUrl") ?? ""; imgBasePath = Config.GetValue("ServerConf:ImageBaseUrl") ?? ""; } protected override void OnParametersSet() { ReloadData(); UpdateTable(); } #endregion Protected Methods #region Private Fields private List AllRecords = new List(); private string apiUrl = ""; private int currPage = 1; private OfferRowModel? EditRecord = null; private string imgBasePath = ""; private bool isLoading = false; private List ListRecords = new List(); private int numRecord = 10; private int totalCount = 0; #endregion Private Fields #region Private Methods /// /// Legge i dati dei record completi /// private void ReloadData() { if (OfferID > 0) { AllRecords = DLService.OfferRowGetByOffer(OfferID); totalCount = AllRecords.Count(); } } /// /// Filtro e paginazione /// private void UpdateTable() { // fix paginazione ListRecords = AllRecords .Skip(numRecord * (currPage - 1)) .Take(numRecord) .ToList(); } #endregion Private Methods } }