using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using Tango.BL.ActionLogs; using Tango.BL.Entities; using Tango.Core; using Tango.Core.DI; using Tango.FSE.BL.Connectivity; using Tango.FSE.BL.Web; namespace Tango.FSE.BL { public abstract class FSEServiceBase : ExtendedObject, IDisposable { [TangoInject] protected IAuthenticationService Authentication { get; set; } [TangoInject] protected IConnectivityProvider ConnectivityProvider { get; set; } [TangoInject] protected ICryptographyProvider CryptographyProvider { get; set; } [TangoInject] protected IActionLogManager ActionLogManager { get; set; } [TangoInject] protected FSEWebClient WebClient { get; set; } protected FSEServicesContainer Services { get; set; } protected User CurrentUser { get { return Authentication.CurrentUser; } } protected DiskCacheManager DiskCache { get { return DiskCacheManager.Default; } } protected MemoryCacheManager MemoryCache { get { return MemoryCacheManager.Default; } } public FSEServiceBase() { TangoIOC.Default.Inject(this); TangoIOC.Default.GetInstanceWhenAvailable((x) => { Services = x; }); } public void Dispose() { } } }