public void TestGetPlatform() { // Arrange var ms = new MarketplaceService(); // there should be no platforms in the system, normally var t = DateTime.Now; var mp = new ManagedPlatform { Name = "MyServer", DatabaseId = "myserver.foo.con", LastContact = t }; mp.Save(); // Act Action a = () => ms.GetPlatform(null); a.ShouldNotThrow(); // Should pull the most recently heard from platform... for now var p = ms.GetPlatform(null); // Assert p.Should().NotBeNull(); p.Name.Should().Be(mp.Name); p.DatabaseId.Should().Be(mp.DatabaseId); p.LastContact.Should().Be(t); }
public void TestGetCustomer() { var ms = new MarketplaceService(); Action f1 = () => ms.GetCustomer(null); f1.ShouldThrow <ArgumentNullException>().WithMessage("Value cannot be null.\r\nParameter name: email"); Action f2 = () => ms.GetCustomer("invalidemail.address"); f2.ShouldThrow <ArgumentException>().WithMessage("The email address is not correctly structured."); var c = ms.GetCustomer("*****@*****.**"); c.Should().BeNull(); var mc = new ManagedCustomer { Name = "Alan Elbow", FirstName = "Alan", LastName = "Elbow", Email = "*****@*****.**" }; mc.Save(); var r = ms.GetCustomer("*****@*****.**"); r.Should().NotBeNull(); r.Name.Should().Be(mc.Name); r.FirstName.Should().Be(mc.FirstName); r.LastName.Should().Be(mc.LastName); }
public SettingsPageViewModel() { if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled) { _settings = new Services.SettingsService(); _marketplace = new MarketplaceService(); } }
protected override async Task OnInitializedAsync() { session = AuthService.GetSession(); isAdmin = session != null && session.Administrator; items = await MarketplaceService.GetMarketItemsAsync(); canCancelItems = isAdmin || items.Any(CanCancelItem); }
private async void CancelListing(Guid id) { if (!CanCancelItem(id)) { return; } if (await MarketplaceService.CancelListingAsync(id)) { items = await MarketplaceService.GetMarketItemsAsync(); await InvokeAsync(StateHasChanged); } }
public void TestCreateTenant() { // Arrange var ms = new MarketplaceService(); var c = new ManagedCustomer { Email = "*****@*****.**", FirstName = "Foo", LastName = "Bar" }; c.Save(); Action f1 = () => ms.CreateTenant(null); f1.ShouldThrow <ArgumentNullException>().WithMessage("Value cannot be null.\r\nParameter name: customer"); // Act var t = ms.CreateTenant(c); // Assert t.Should().NotBeNull(); t.Customer.Should().NotBeNull(); t.Customer.Id.Should().Be(c.Id); t.IsTemporaryId.Should().BeTrue(); t.Name.Should().Be("FOOBARCOM"); // The means for determining the tenant name... not 100% solid yet. c.Name = "Foo Bar"; t = ms.CreateTenant(c); t.Name.Should().Be("FOOBAR"); c.Company = "Elbow Inc."; t = ms.CreateTenant(c); t.Name.Should().Be("ELBOWINC"); // If the tenant name already exists?... not 100% solid yet. t.Save(); t = ms.CreateTenant(c); t.Name.Should().NotBe("ELBOWINC"); t.Name.Should().StartWith("ELBOWINC_"); }
public void TestCreateCustomer() { var ms = new MarketplaceService(); Action f1 = () => ms.CreateCustomer(null, null, null); f1.ShouldThrow <ArgumentNullException>().WithMessage("Value cannot be null.\r\nParameter name: email"); Action f2 = () => ms.CreateCustomer("*****@*****.**", null, null); f2.ShouldNotThrow(); var mc = ms.CreateCustomer("*****@*****.**", null, null); mc.Should().NotBeNull(); mc.Name.Should().Be("*****@*****.**"); mc.IsTemporaryId.Should().BeTrue(); mc = ms.CreateCustomer("*****@*****.**", "Foo", null); mc.Should().NotBeNull(); mc.Name.Should().Be("*****@*****.**"); mc.IsTemporaryId.Should().BeTrue(); mc = ms.CreateCustomer("*****@*****.**", null, "Bar"); mc.Should().NotBeNull(); mc.Name.Should().Be("Bar"); mc.IsTemporaryId.Should().BeTrue(); mc = ms.CreateCustomer("*****@*****.**", "Foo", "Bar"); mc.Should().NotBeNull(); mc.Name.Should().Be("Foo Bar"); mc.IsTemporaryId.Should().BeTrue(); Action a = () => mc.Save(); a.ShouldNotThrow(); mc.IsTemporaryId.Should().BeFalse(); }
public SettingsPageViewModel() { _settings = Services.SettingsService.GetInstance(); _marketplace = MarketplaceService.Create(); }
/// <summary> /// Runs when the activity is run by the workflow. /// </summary> /// <param name="context">The run state.</param> /// <param name="inputs">The inputs.</param> public void OnRunNow(IRunState context, ActivityInputs inputs) { var startedKey = GetArgumentKey(StartedArgumentAlias); var listKey = GetArgumentKey(ListArgumentAlias); var appIdKey = GetArgumentKey(ApplicationIdArgumentAlias); var appVersionKey = GetArgumentKey(ApplicationVersionArgumentAlias); var ids = new List <Guid>(); var started = context.GetArgValue <bool?>(ActivityInstance, startedKey) ?? false; if (!started) { // set that the activity has started context.SetArgValue(ActivityInstance, startedKey, true); // retrieve the product var productSku = GetArgumentValue <string>(inputs, ProductSkuArgumentAlias); var product = MarketplaceService.GetProduct(productSku); if (product == null) { throw new WorkflowRunException("Product {0} was not found.", productSku); } // process the included apps and app versions and sort their ids ids.AddRange(GetSortedApplicationIds(product)); } else { // retrieve the current state of the ordered list from the context var list = context.GetArgValue <string>(ActivityInstance, listKey); if (!string.IsNullOrEmpty(list)) { ids.AddRange(list.Split(',').Select(Guid.Parse)); } } // loop over the next id on the list var current = ids.FirstOrDefault(); if (current != default(Guid)) { // set the application id and any specific version info on the output var variables = GetAppVariables(context, current); if (variables.Item1 != Guid.Empty) { context.SetArgValue(ActivityInstance, appIdKey, variables.Item1); context.SetArgValue(ActivityInstance, appVersionKey, variables.Item2); } // remove this id from the list and store it again ids = ids.Skip(1).ToList(); var list = string.Join(",", ids); context.SetArgValue(ActivityInstance, listKey, list); context.ExitPointId = new EntityRef(LoopExitPointAlias); } else { // we have finished context.SetArgValue(ActivityInstance, startedKey, false); context.SetArgValue(ActivityInstance, listKey, null); context.ExitPointId = new EntityRef(FinishedExitPointAlias); } }