using System; using System.Threading.Tasks; using Sony.Filtr.Contracts.Definitions; using Sony.Filtr.Contracts.Entities; namespace Sony.Filtr.Core.LastModified { public class LastModifiedManager { private readonly LastModifiedFactory _lastModifiedFactory; public LastModifiedManager(LastModifiedFactory lastModifiedFactory) { _lastModifiedFactory = lastModifiedFactory; } public DateTime GetLastModifyDate(Application application, EntityType entityType) { return _lastModifiedFactory.GetLastModifyDate(application, entityType); } public async Task GetLastModifyDateAsync(Application application, EntityType entityType) { return await _lastModifiedFactory.GetLastModifyDateAsync(application, entityType); } public void SetLastModifyDate(Application application, EntityType entityType) { _lastModifiedFactory.SetLastModifyDate(application, entityType); } public void SetLastModifyDate(int applicationId, EntityType entityType) { _lastModifiedFactory.SetLastModifyDate(new Application() { ID = applicationId }, entityType); } public async Task SetLastModifyDateAsync(int? applicationId, EntityType entityType) { if (applicationId.HasValue) await _lastModifiedFactory.SetLastModifyDateAsync(new Application() { ID = applicationId.Value }, entityType); else await _lastModifiedFactory.SetLastModifyDateAsync(null, entityType); } } }