diff --git a/ModernKeePass/Interfaces/ILicenseService.cs b/ModernKeePass/Interfaces/ILicenseService.cs deleted file mode 100644 index b1835ab..0000000 --- a/ModernKeePass/Interfaces/ILicenseService.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using Windows.ApplicationModel.Store; - -namespace ModernKeePass.Interfaces -{ - public interface ILicenseService - { - IReadOnlyDictionary Products { get; } - Task Purchase(string addOn); - } -} diff --git a/ModernKeePass/ModernKeePass.App.csproj b/ModernKeePass/ModernKeePass.App.csproj index 7c74128..c889842 100644 --- a/ModernKeePass/ModernKeePass.App.csproj +++ b/ModernKeePass/ModernKeePass.App.csproj @@ -116,7 +116,6 @@ - @@ -135,7 +134,6 @@ - diff --git a/ModernKeePass/Services/LicenseService.cs b/ModernKeePass/Services/LicenseService.cs deleted file mode 100644 index 56d507d..0000000 --- a/ModernKeePass/Services/LicenseService.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Windows.ApplicationModel.Store; -using ModernKeePass.Interfaces; - -namespace ModernKeePass.Services -{ - public class LicenseService : SingletonServiceBase, ILicenseService - { - public enum PurchaseResult - { - Succeeded, - NothingToFulfill, - PurchasePending, - PurchaseReverted, - ServerError, - NotPurchased, - AlreadyPurchased - } - - public IReadOnlyDictionary Products { get; } - - private readonly HashSet _consumedTransactionIds = new HashSet(); - - public LicenseService() - { - var listing = CurrentApp.LoadListingInformationAsync().GetAwaiter().GetResult(); - Products = listing.ProductListings; - } - - public async Task Purchase(string addOn) - { - var purchaseResults = await CurrentApp.RequestProductPurchaseAsync(addOn); - switch (purchaseResults.Status) - { - case ProductPurchaseStatus.Succeeded: - GrantFeatureLocally(purchaseResults.TransactionId); - return (int) await ReportFulfillmentAsync(purchaseResults.TransactionId, addOn); - case ProductPurchaseStatus.NotFulfilled: - // The purchase failed because we haven't confirmed fulfillment of a previous purchase. - // Fulfill it now. - if (!IsLocallyFulfilled(purchaseResults.TransactionId)) - { - GrantFeatureLocally(purchaseResults.TransactionId); - } - return (int) await ReportFulfillmentAsync(purchaseResults.TransactionId, addOn); - case ProductPurchaseStatus.NotPurchased: - return (int) PurchaseResult.NotPurchased; - case ProductPurchaseStatus.AlreadyPurchased: - return (int) PurchaseResult.AlreadyPurchased; - default: - throw new IndexOutOfRangeException("Purchase results status does not have a valid value"); - } - } - - private async Task ReportFulfillmentAsync(Guid transactionId, string productName) - { - var result = await CurrentApp.ReportConsumableFulfillmentAsync(productName, transactionId); - return (PurchaseResult) result; - } - - private void GrantFeatureLocally(Guid transactionId) - { - _consumedTransactionIds.Add(transactionId); - } - - private bool IsLocallyFulfilled(Guid transactionId) - { - return _consumedTransactionIds.Contains(transactionId); - } - } -} diff --git a/ModernKeePassApp.Test/DatabaseTests.cs b/ModernKeePassApp.Test/DatabaseTests.cs index f7979f5..77965ac 100644 --- a/ModernKeePassApp.Test/DatabaseTests.cs +++ b/ModernKeePassApp.Test/DatabaseTests.cs @@ -20,7 +20,7 @@ namespace ModernKeePassApp.Test _database.DatabaseFile = ApplicationData.Current.TemporaryFolder.CreateFileAsync("NewDatabase.kdbx").GetAwaiter().GetResult(); Assert.IsTrue(_database.IsFileOpen); OpenOrCreateDatabase(true); - _database.Close().GetAwaiter().GetResult(); + _database.Close(); Assert.IsTrue(_database.IsClosed); } @@ -39,7 +39,7 @@ namespace ModernKeePassApp.Test TestOpen(); _database.Save(ApplicationData.Current.TemporaryFolder.CreateFileAsync("SaveDatabase.kdbx").GetAwaiter().GetResult()); Assert.IsTrue(_database.IsOpen); - _database.Close().GetAwaiter().GetResult(); + _database.Close(); Assert.IsTrue(_database.IsClosed); TestOpen(); } @@ -47,7 +47,7 @@ namespace ModernKeePassApp.Test private void OpenOrCreateDatabase(bool createNew) { Assert.ThrowsException( - () => _database.Open(null, createNew).GetAwaiter().GetResult()); + () => _database.Open(null, createNew)); var compositeKey = new CompositeKeyVm(_database, new ResourceServiceMock()) { HasPassword = true, diff --git a/ModernKeePassApp.Test/Mock/LicenseServiceMock.cs b/ModernKeePassApp.Test/Mock/LicenseServiceMock.cs deleted file mode 100644 index 18d1fb1..0000000 --- a/ModernKeePassApp.Test/Mock/LicenseServiceMock.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Store; -using ModernKeePass.Interfaces; - -namespace ModernKeePassApp.Test.Mock -{ - public class LicenseServiceMock: ILicenseService - { - public IReadOnlyDictionary Products { get; } - - public LicenseServiceMock() - { - try - { - var proxyFile = Package.Current.InstalledLocation.GetFileAsync("data\\WindowsStoreProxy.xml").GetAwaiter().GetResult(); - CurrentAppSimulator.ReloadSimulatorAsync(proxyFile).GetAwaiter().GetResult(); - } - catch { } - var listing = CurrentAppSimulator.LoadListingInformationAsync().GetAwaiter().GetResult(); - Products = listing.ProductListings; - } - - public Task Purchase(string addOn) - { - throw new System.NotImplementedException(); - } - } -} diff --git a/ModernKeePassApp.Test/ModernKeePass.AppTest.csproj b/ModernKeePassApp.Test/ModernKeePass.AppTest.csproj index 2491611..639fe01 100644 --- a/ModernKeePassApp.Test/ModernKeePass.AppTest.csproj +++ b/ModernKeePassApp.Test/ModernKeePass.AppTest.csproj @@ -121,7 +121,6 @@ - diff --git a/ModernKeePassApp.Test/ViewModelsTests.cs b/ModernKeePassApp.Test/ViewModelsTests.cs index 94f2e1b..056d743 100644 --- a/ModernKeePassApp.Test/ViewModelsTests.cs +++ b/ModernKeePassApp.Test/ViewModelsTests.cs @@ -39,7 +39,7 @@ namespace ModernKeePassApp.Test Assert.IsNotNull(mainVm.SelectedItem); Assert.AreEqual(typeof(OpenDatabasePage), ((MainMenuItemVm) mainVm.SelectedItem).PageType); - database.Open(null, false).GetAwaiter().GetResult(); + database.Open(null); mainVm = new MainVm(null, null, database, _resource, _recent); Assert.IsNotNull(mainVm.SelectedItem); Assert.AreEqual(2, mainVm.MainMenuItems.Count()); @@ -94,10 +94,10 @@ namespace ModernKeePassApp.Test { var database = new DatabaseServiceMock(); var saveVm = new SaveVm(database); - database.Open(null, false).GetAwaiter().GetResult(); - saveVm.Save(false).GetAwaiter().GetResult(); + database.Open(null); + saveVm.Save(false); Assert.IsTrue(database.IsOpen); - saveVm.Save().GetAwaiter().GetResult(); + saveVm.Save(); Assert.IsFalse(database.IsOpen); } @@ -118,7 +118,7 @@ namespace ModernKeePassApp.Test public void TestEntryVm() { var database = new DatabaseServiceMock(); - var entryVm = new EntryVm(new PwEntry(true, true), new GroupVm(), database) + var entryVm = new EntryVm(new PwEntry(true, true), new GroupVm(), database, _resource) { Name = "Test", UserName = "login",