using EgwCoreLib.Lux.Data.DbModel.Job; namespace Lux.UI.Components.Compo.Item { public partial class SellingItemEdit { #region Public Properties [Parameter] public SellingItemModel? CurrRecord { get; set; } = null; [Parameter] public EventCallback EC_Close { get; set; } [Parameter] public EventCallback EC_Updated { get; set; } [Parameter] public List ListItemGroup { get; set; } = null!; [Parameter] public List ListJobTask { get; set; } = null!; #endregion Public Properties #region Private Fields private string folderPath = "static"; #endregion Private Fields #region Private Properties [Inject] private IDataLayerServices DLService { get; set; } = null!; [Inject] private IFileService FService { get; set; } = null!; /// /// Wrapper per valore margine in modalità decimal /// private decimal MarginDec { get => CurrRecord != null ? (decimal)CurrRecord.Margin : 0M; set { if (CurrRecord != null) { CurrRecord.Margin = (double)value; } } } [Inject] private ISellingItemService SIService { get; set; } = null!; #endregion Private Properties #region Private Methods private bool DeleteOld() { bool answ = false; return answ; } private Task DoCancel() { return EC_Close.InvokeAsync(true); } private Task DoSave() { // richiede di effettuare salvataggio record... return EC_Updated.InvokeAsync(CurrRecord); } private List ListEnvir() { var tmpList = Enum.GetValues(typeof(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS)) .Cast() .Where(e => Convert.ToInt32(e) != 0) .ToList(); return tmpList; } private async Task UploadFile(InputFileChangeEventArgs e) { IBrowserFile file = e.File; var maxAllowedSize = 10 * 1024 * 1024; if (CurrRecord is null) return; string extension = Path.GetExtension(file.Name); string newFileName = $"{SellingItemModel.CodeUid(CurrRecord.SellingItemID)}{extension}"; // elimino vecchio file FService.DeleteOldFile(folderPath, CurrRecord.FileName); // salvo nuovo file (stream → file) using var stream = file.OpenReadStream(maxAllowedSize); await FService.SaveFileStreamAsync(folderPath, newFileName, stream); CurrRecord.FileName = newFileName; await SIService.UpdateFileDataAsync(CurrRecord); } #endregion Private Methods } }