Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public SettingsPageViewModel()
 {
     if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled)
     {
         _settings    = new Services.SettingsService();
         _marketplace = new MarketplaceService();
     }
 }
Пример #4
0
        protected override async Task OnInitializedAsync()
        {
            session = AuthService.GetSession();
            isAdmin = session != null && session.Administrator;
            items   = await MarketplaceService.GetMarketItemsAsync();

            canCancelItems = isAdmin || items.Any(CanCancelItem);
        }
Пример #5
0
 private async void CancelListing(Guid id)
 {
     if (!CanCancelItem(id))
     {
         return;
     }
     if (await MarketplaceService.CancelListingAsync(id))
     {
         items = await MarketplaceService.GetMarketItemsAsync();
         await InvokeAsync(StateHasChanged);
     }
 }
Пример #6
0
        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_");
        }
Пример #7
0
        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();
        }
Пример #8
0
 public SettingsPageViewModel()
 {
     _settings    = Services.SettingsService.GetInstance();
     _marketplace = MarketplaceService.Create();
 }
Пример #9
0
        /// <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);
            }
        }