112 lines
3.1 KiB
C#
112 lines
3.1 KiB
C#
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<bool> EC_Close { get; set; }
|
|
|
|
[Parameter]
|
|
public EventCallback<SellingItemModel> EC_Updated { get; set; }
|
|
|
|
[Parameter]
|
|
public List<ItemGroupModel> ListItemGroup { get; set; } = null!;
|
|
|
|
[Parameter]
|
|
public List<JobTaskModel> 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!;
|
|
|
|
/// <summary>
|
|
/// Wrapper per valore margine in modalità decimal
|
|
/// </summary>
|
|
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<EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS> ListEnvir()
|
|
{
|
|
var tmpList = Enum.GetValues(typeof(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS))
|
|
.Cast<EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS>()
|
|
.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
|
|
}
|
|
} |