namespace EgwCoreLib.Lux.Data.Services.General { /// /// Interfaccia per ImageCacheService - caching e publishing immagini via Redis /// public interface IImageCacheService { #region Public Methods /// /// Effettua una generica chiamata ApiRest GET /// /// URL Api di base /// Richiesta completa /// Risposta RestSharp Task CallRestGet(string ApiUrl, string ApiRequest); /// /// Effettua una generica chiamata ApiRest POST /// /// URL Api di base /// Richiesta completa /// Corpo Json trasmesso con richiesta /// Risposta RestSharp Task CallRestPost(string ApiUrl, string ApiRequest, object rawBody); /// /// Elimina da cache Redis SVG per il record richiesto /// /// UID immagine /// Environment /// True se eliminato con successo bool DeleteSvg(string imgId, Constants.EXECENVIRONMENTS env); /// /// Elimina da cache Redis SVG per il record richiesto (async) /// /// UID immagine /// Environment /// True se eliminato con successo Task DeleteSvgAsync(string imgId, Constants.EXECENVIRONMENTS env); /// /// Esegue flush memoria Redis dato pattern /// /// Pattern di cancellazione /// True se eseguito con successo Task ExecFlushRedisPatternAsync(RedisValue pat2Flush); /// /// Genera URL immagine dato /// /// Base url IMG server /// Live = in fase di calcolo (cache REDIS) /// UID elemento/immagine /// Environment item (opzionale) /// URL immagine completa string ImageUrl(string baseUrl, bool isLive, string imgUID, Constants.EXECENVIRONMENTS envir = Constants.EXECENVIRONMENTS.WINDOW); /// /// Rilettura risposta da debug in formato string /// /// UID record /// Environment /// Contenuto da debug Task LoadDebug(string uID, Constants.EXECENVIRONMENTS env); /// /// Recupera immagine PNG x id item richiesto /// /// UID item /// Environment item (opzionale) /// Contenuto PNG come stringa base64 string LoadPng(string imgUid, Constants.EXECENVIRONMENTS envir = Constants.EXECENVIRONMENTS.WINDOW); /// /// Recupera immagine PNG x id item richiesto (async) /// /// UID item /// Environment item (opzionale) /// Contenuto PNG come stringa base64 Task LoadPngAsync(string imgUid, Constants.EXECENVIRONMENTS envir = Constants.EXECENVIRONMENTS.WINDOW); /// /// Recupera immagine SVG x id item richiesto /// /// UID item /// Environment item (opzionale) /// Contenuto SVG come stringa XML string LoadSvg(string imgUid, Constants.EXECENVIRONMENTS envir = Constants.EXECENVIRONMENTS.WINDOW); /// /// Recupera immagine SVG x id item richiesto (async) /// /// UID item /// Environment item (opzionale) /// Contenuto SVG come stringa XML Task LoadSvgAsync(string imgId, Constants.EXECENVIRONMENTS envir = Constants.EXECENVIRONMENTS.WINDOW); /// /// Salva e invia su channel richiesto un update x UID /// È atteso un refresh per chi sottoscrive il canale /// /// UID record /// Environment /// True se pubblicato con successo Task PublishUpdateAsync(string uid, Constants.EXECENVIRONMENTS env); /// /// Salva e invia su channel BOM redis il doc richiesto /// /// UID record /// Environment /// Contenuto BOM serializzato /// True se salvato e pubblicato con successo Task SaveBomAsync(string uid, Constants.EXECENVIRONMENTS env, string bomContent); /// /// Salvataggio risposta x debug in formato RAW /// /// UID record /// Environment /// Dati raw /// True se salvato con successo Task SaveDebug(string uID, Constants.EXECENVIRONMENTS env, string rawData); /// /// Salva e invia su channel dedicato HML l'elenco degli HardwareModel (conf preferiti) gestiti /// /// UID record /// Environment /// Dati raw /// True se salvato e pubblicato con successo Task SaveHmlAsync(string uid, Constants.EXECENVIRONMENTS env, string rawData); /// /// Salva e invia su channel l'XML delle HW options per il doc richiesto /// /// UID record /// Environment /// Contenuto XML /// True se salvato e pubblicato con successo Task SaveHwOptAsync(string uid, Constants.EXECENVIRONMENTS env, string xmlContent); /// /// Salva immagine PNG su Redis e pubblica notifica sul channel /// /// UID immagine /// Environment /// Contenuto PNG come stringa base64 /// True se salvato e pubblicato con successo bool SavePng(string imgId, Constants.EXECENVIRONMENTS env, string pngContent); /// /// Salva immagine PNG su Redis e pubblica notifica sul channel (async) /// /// UID immagine /// Environment /// Contenuto PNG come stringa base64 /// True se salvato e pubblicato con successo Task SavePngAsync(string imgId, Constants.EXECENVIRONMENTS env, string pngContent); /// /// Salva e invia su channel risultato balance per POR (UID.GroupId.Type) richiesto /// /// UID record /// Environment /// Contenuto stima serializzato /// True se salvato e pubblicato con successo Task SaveProdBalanceAsync(string uid, Constants.EXECENVIRONMENTS env, string estimContent); /// /// Salva e invia su channel risultato stima per POR (UID.GroupId) richiesto /// /// UID record /// Environment /// Contenuto stima serializzato /// True se salvato e pubblicato con successo Task SaveProdEstimateAsync(string uid, Constants.EXECENVIRONMENTS env, string estimContent); /// /// Salva e invia su channel areaProfElem ricevuta /// /// UID record /// Environment /// Contenuto areaProfElem serializzato /// True se salvato e pubblicato con successo Task SaveProfileElemAsync(string uID, Constants.EXECENVIRONMENTS env, string areaProfElem); /// /// Salva e invia su channel profile list gestiti /// /// UID record /// Environment /// Dati raw /// True se salvato e pubblicato con successo Task SaveProfileListAsync(string uid, Constants.EXECENVIRONMENTS env, string rawData); /// /// Salva e invia su channel info Threshold e Data x profili gestiti /// /// UID record /// Environment /// Info Threshold /// Info generiche /// True se salvato e pubblicato con successo Task SaveProfileThreshAsync(string uid, Constants.EXECENVIRONMENTS env, string rawDataThresh, string rawProfData); /// /// Salva e invia su channel shape per item (UID.GroupId) richiesto /// /// UID record /// Environment /// Contenuto shape serializzato /// True se salvato e pubblicato con successo Task SaveShapeAsync(string uid, Constants.EXECENVIRONMENTS env, string shapeContent); /// /// Salva immagine SVG su Redis e pubblica notifica sul channel /// /// UID immagine /// Environment /// Contenuto SVG come stringa XML /// True se salvato e pubblicato con successo bool SaveSvg(string imgId, Constants.EXECENVIRONMENTS env, string svgContent); /// /// Salva immagine SVG su Redis e pubblica notifica sul channel (async) /// /// UID immagine /// Environment /// Contenuto SVG come stringa XML /// True se salvato e pubblicato con successo Task SaveSvgAsync(string imgId, Constants.EXECENVIRONMENTS env, string svgContent); #endregion Public Methods } }