Merge branch 'develop' of https://gitlab.steamware.net/etis/lux into develop
This commit is contained in:
@@ -102,6 +102,8 @@ namespace EgwCoreLib.Lux.Data
|
||||
// aggiunta servizi finali Singleton...
|
||||
services.TryAddSingleton<IImageCacheService, ImageCacheService>();
|
||||
services.TryAddSingleton<IConfigDataService, ConfigDataService>();
|
||||
services.TryAddSingleton<ICalcRequestService, CalcRequestService>();
|
||||
services.TryAddSingleton<IFileService, FileService>();
|
||||
//services.TryAddSingleton<CalcRequestService>();
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
using NLog;
|
||||
using RestSharp;
|
||||
|
||||
namespace EgwCoreLib.Lux.Data.Services
|
||||
namespace EgwCoreLib.Lux.Data.Services.General
|
||||
{
|
||||
public class CalcRequestService
|
||||
public class CalcRequestService : ICalcRequestService
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
+4
-3
@@ -1,12 +1,12 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
|
||||
namespace EgwCoreLib.Lux.Data.Services
|
||||
namespace EgwCoreLib.Lux.Data.Services.General
|
||||
{
|
||||
/// <summary>
|
||||
/// Gestione IO File-based
|
||||
/// </summary>
|
||||
public class FileService
|
||||
public class FileService : IFileService
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
@@ -98,6 +98,7 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esegue salvataggio del file ricevuto path, securename e content
|
||||
/// </summary>
|
||||
@@ -127,6 +128,7 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua salvataggio di un ContentStream generico (non semplice string)
|
||||
/// </summary>
|
||||
@@ -161,7 +163,6 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
@@ -0,0 +1,24 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using RestSharp;
|
||||
|
||||
namespace EgwCoreLib.Lux.Data.Services.General
|
||||
{
|
||||
/// <summary>
|
||||
/// Interfaccia servizio richiesta calcolo
|
||||
/// </summary>
|
||||
public interface ICalcRequestService
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua una generica chiamata ApiRest POST
|
||||
/// </summary>
|
||||
/// <param name="ApiUrl">URL Api di base</param>
|
||||
/// <param name="ApiRequest">Endpoint richiesta</param>
|
||||
/// <param name="rawBody">Corpo Json trasmesso con richiesta</param>
|
||||
/// <returns>Risposta dalla chiamata REST</returns>
|
||||
Task<RestResponse> CallRestPost(string ApiUrl, string ApiRequest, object rawBody);
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
using System.IO;
|
||||
|
||||
namespace EgwCoreLib.Lux.Data.Services.General
|
||||
{
|
||||
/// <summary>
|
||||
/// Interfaccia servizio gestione IO File-based
|
||||
/// </summary>
|
||||
public interface IFileService
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Eliminazione file
|
||||
/// </summary>
|
||||
/// <param name="folderPath">Cartella del file</param>
|
||||
/// <param name="secureName">Nome secure del file</param>
|
||||
/// <returns>True se eliminato con successo</returns>
|
||||
bool DeleteOldFile(string folderPath, string secureName);
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce il contenuto del file salvato
|
||||
/// </summary>
|
||||
/// <param name="folderPath">Cartella del file</param>
|
||||
/// <param name="secureName">Nome secure del file</param>
|
||||
/// <returns>Contenuto del file come stringa</returns>
|
||||
string LoadFileContent(string folderPath, string secureName);
|
||||
|
||||
/// <summary>
|
||||
/// Salva contenuto file (sincrono)
|
||||
/// </summary>
|
||||
/// <param name="folderPath">Cartella del file</param>
|
||||
/// <param name="secureName">Nome secure del file</param>
|
||||
/// <param name="content">Contenuto file</param>
|
||||
/// <returns>True se salvato con successo</returns>
|
||||
bool SaveFileContent(string folderPath, string secureName, string content);
|
||||
|
||||
/// <summary>
|
||||
/// Salva contenuto file asincrono
|
||||
/// </summary>
|
||||
/// <param name="folderPath">Cartella del file</param>
|
||||
/// <param name="secureName">Nome secure del file</param>
|
||||
/// <param name="content">Contenuto file</param>
|
||||
/// <returns>True se salvato con successo</returns>
|
||||
Task<bool> SaveFileContentAsync(string folderPath, string secureName, string content);
|
||||
|
||||
/// <summary>
|
||||
/// Salva stream file generico
|
||||
/// </summary>
|
||||
/// <param name="folderPath">Cartella del file</param>
|
||||
/// <param name="secureName">Nome secure del file</param>
|
||||
/// <param name="contentStream">Stream contenitore dati</param>
|
||||
/// <returns>True se salvato con successo</returns>
|
||||
Task<bool> SaveFileStreamAsync(string folderPath, string secureName, Stream contentStream);
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ namespace EgwCoreLib.Lux.Data.Services.General
|
||||
// conf tag x cache
|
||||
liveTag = _config.GetValue<string>("ServerConf:ImageLiveTag") ?? "svg";
|
||||
cacheTag = _config.GetValue<string>("ServerConf:ImageFileTag") ?? "svgfile";
|
||||
calcTag = _config.GetValue<string>("ServerConf:ImageCalcTag") ?? "svg-preview";
|
||||
imgCalcTag = _config.GetValue<string>("ServerConf:ImageCalcTag") ?? "live";
|
||||
// verifico la url base
|
||||
apiUrl = _config.GetValue<string>("ServerConf:Prog.ApiUrl") ?? "https://iis01.egalware.com/lux/srv/api";
|
||||
imgBasePath = _config.GetValue<string>("ServerConf:ImageBaseUrl") ?? "window";
|
||||
@@ -548,7 +548,7 @@ namespace EgwCoreLib.Lux.Data.Services.General
|
||||
|
||||
private readonly string cacheTag = "svgfile";
|
||||
|
||||
private readonly string calcTag = "svgpreview";
|
||||
private readonly string imgCalcTag = "live";
|
||||
|
||||
private readonly string chBom = "lux:bom";
|
||||
|
||||
@@ -572,7 +572,7 @@ namespace EgwCoreLib.Lux.Data.Services.General
|
||||
|
||||
private readonly string chSvg = "lux:svg:img";
|
||||
|
||||
private readonly string chUpdate = "lux::update";
|
||||
private readonly string chUpdate = "lux:update";
|
||||
|
||||
private readonly string imgBasePath = "";
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace Lux.UI.Components.Compo.Config
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private DataLayerServices DLService { get; set; } = null!;
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace Lux.UI.Components.Compo.Config
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
private string cssBtnThresh
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
||||
using EgwCoreLib.Lux.Data.DbModel.Job;
|
||||
using EgwCoreLib.Lux.Data.Services;
|
||||
using EgwCoreLib.Lux.Data.Services.General;
|
||||
using EgwCoreLib.Lux.Data.Services.Items;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
@@ -28,16 +29,19 @@ namespace Lux.UI.Components.Compo.Item
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private string folderPath = "static";
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
[Inject]
|
||||
private DataLayerServices DLService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private ISellingItemService SIService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private FileService FService { get; set; } = null!;
|
||||
private IFileService FService { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper per valore margine in modalità decimal
|
||||
@@ -54,6 +58,9 @@ namespace Lux.UI.Components.Compo.Item
|
||||
}
|
||||
}
|
||||
|
||||
[Inject]
|
||||
private ISellingItemService SIService { get; set; } = null!;
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
@@ -75,9 +82,6 @@ namespace Lux.UI.Components.Compo.Item
|
||||
return EC_Updated.InvokeAsync(CurrRecord);
|
||||
}
|
||||
|
||||
|
||||
private string folderPath = "static";
|
||||
|
||||
private List<EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS> ListEnvir()
|
||||
{
|
||||
var tmpList = Enum.GetValues(typeof(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS))
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace Lux.UI.Components.Compo
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private DataLayerServices DLService { get; set; } = null!;
|
||||
|
||||
@@ -301,7 +301,7 @@ namespace Lux.UI.Components.Compo
|
||||
private ICalcRuidService CRService { get; set; } = default!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = default!;
|
||||
private ICalcRequestService CService { get; set; } = default!;
|
||||
|
||||
[Inject]
|
||||
private IWebHostEnvironment CurrEnv { get; set; } = default!;
|
||||
@@ -316,7 +316,7 @@ namespace Lux.UI.Components.Compo
|
||||
private IEnvirParamService EPService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private FileService FService { get; set; } = default!;
|
||||
private IFileService FService { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Costo totale calcolato x offerta
|
||||
|
||||
@@ -359,7 +359,7 @@ namespace Lux.UI.Components.Compo
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private IConfWoodService CWService { get; set; } = null!;
|
||||
|
||||
@@ -269,7 +269,7 @@ namespace Lux.UI.Components.Compo.Templates
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private IConfGlassService CGService { get; set; } = null!;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using EgwCoreLib.Lux.Data.DbModel.Catalog;
|
||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
||||
using EgwCoreLib.Lux.Data.Services;
|
||||
using EgwCoreLib.Lux.Data.Services.General;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
|
||||
namespace Lux.UI.Components.Compo.Templates
|
||||
@@ -35,25 +36,6 @@ namespace Lux.UI.Components.Compo.Templates
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Check visibilità upload dato il selling item ID corrente
|
||||
/// </summary>
|
||||
/// <param name="sellItemId"></param>
|
||||
/// <returns></returns>
|
||||
private bool ShowImgUpload(int sellItemId)
|
||||
{
|
||||
bool answ = false;
|
||||
if (sellItemId > 0)
|
||||
{
|
||||
var selRec = ListSellinglItems.FirstOrDefault(x => x.SellingItemID == sellItemId);
|
||||
if (selRec != null)
|
||||
{
|
||||
answ = selRec.ImgType != EgwCoreLib.Lux.Core.Enums.ImageType.Calculated;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Path da parent record
|
||||
/// </summary>
|
||||
@@ -66,7 +48,7 @@ namespace Lux.UI.Components.Compo.Templates
|
||||
#region Private Properties
|
||||
|
||||
[Inject]
|
||||
private FileService FService { get; set; } = null!;
|
||||
private IFileService FService { get; set; } = null!;
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
@@ -91,6 +73,25 @@ namespace Lux.UI.Components.Compo.Templates
|
||||
return EC_Updated.InvokeAsync(CurrRecord);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check visibilità upload dato il selling item ID corrente
|
||||
/// </summary>
|
||||
/// <param name="sellItemId"></param>
|
||||
/// <returns></returns>
|
||||
private bool ShowImgUpload(int sellItemId)
|
||||
{
|
||||
bool answ = false;
|
||||
if (sellItemId > 0)
|
||||
{
|
||||
var selRec = ListSellinglItems.FirstOrDefault(x => x.SellingItemID == sellItemId);
|
||||
if (selRec != null)
|
||||
{
|
||||
answ = selRec.ImgType != EgwCoreLib.Lux.Core.Enums.ImageType.Calculated;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
private async Task UploadFile(InputFileChangeEventArgs e)
|
||||
{
|
||||
IBrowserFile file = e.File;
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace Lux.UI.Components.Pages
|
||||
private ICalcRuidService CRService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private CalcRequestService CService { get; set; } = null!;
|
||||
private ICalcRequestService CService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private DataLayerServices DLService { get; set; } = null!;
|
||||
|
||||
@@ -185,8 +185,6 @@ builder.Services.AddIdentityCore<ApplicationUser>(options => options.SignIn.Requ
|
||||
builder.Services.AddSingleton<IEmailSender<ApplicationUser>, IdentityNoOpEmailSender>();
|
||||
|
||||
// Aggiunta servizi specifici
|
||||
builder.Services.AddSingleton<FileService>();
|
||||
builder.Services.AddSingleton<CalcRequestService>();
|
||||
builder.Services.AddSingleton<ProdService>();
|
||||
|
||||
// aggiunta componenti Radzen
|
||||
|
||||
Reference in New Issue
Block a user