Exemplo n.º 1
0
        public void BuildAppServiceTable(string appSerivceTag)
        {
            AppTierTable.Clear();
            ServiceTableItem tableItem = null;
            AppService       service   = Services.FirstOrDefault(
                x => x.Tag == appSerivceTag);

            AppServiceSubscription subscription = null;

            SelectedAppServiceTableItem = null;

            if (_editApp.Subscriptions != null)
            {
                subscription = _editApp.Subscriptions.FirstOrDefault(
                    x => (x.ServiceTier.OwnedBy as AppService).Type == "app");
            }

            foreach (var tier in service.Tiers)
            {
                tableItem = CreateServiceTableItem(tier);
                AppTierTable.Add(tableItem);

                if (subscription != null &&
                    subscription.ServiceTier.Id == tableItem.Tier.Id)
                {
                    SelectedAppServiceTableItem = tableItem;
                }
            }

            OnPropertyChanged("AppTierTable");
        }
Exemplo n.º 2
0
        public async Task <ResultSingle <AppServiceSubscription> > CreateSubscription(AppServiceTier tier,
                                                                                      bool doCache = true, bool throwIfError = true)
        {
            AppServiceSubscription subscription = new AppServiceSubscription();

            subscription.OwnedBy          = _editApp;
            subscription.ServiceTier      = tier;
            subscription.AppServiceTierId = tier.Id;

            return(await ResultSingleUI <AppServiceSubscription> .WaitForObjectAsync(
                       throwIfError, subscription, new CachedHttpRequest <AppServiceSubscription, ResultSingle <AppServiceSubscription> >(
                           Backend.CreateAsync), doCache));
        }
Exemplo n.º 3
0
        public async Task RemoveDefaultStorageServiceAsync()
        {
            AppServiceSubscription subscription = EditApp.Subscriptions.FirstOrDefault(
                x => (x.ServiceTier.OwnedBy as AppService).Type == "storage");

            if (subscription != null)
            {
                await RemoveSubscriptionAsync(subscription);
            }

            await QueryAppSubscriptions();

            CreateServicesTables();
        }
Exemplo n.º 4
0
        public async Task SwitchAppServiceTierAsync(AppServiceTier newTier)
        {
            AppServiceSubscription subscription = EditApp.Subscriptions.FirstOrDefault(
                x => (x.ServiceTier.OwnedBy as AppService).Type == "app");

            if (subscription != null)
            {
                await RemoveSubscriptionAsync(subscription);
            }

            await CreateSubscription(newTier);
            await QueryAppSubscriptions();

            ResetAppServiceTable();
        }
Exemplo n.º 5
0
        public async Task <ResultMultiple <AppServiceSubscription> > QueryAppSubscriptions(App app      = null,
                                                                                           bool doCache = false, bool throwIfError = true)
        {
            AppServiceSubscription subSeeder = new AppServiceSubscription();

            subSeeder.OwnedBy = (app == null ? _editApp : app);

            ResultMultiple <AppServiceSubscription> result = await ResultMultipleUI <AppServiceSubscription> .WaitForObjectsAsync(
                true, subSeeder, new CachedHttpRequest <AppServiceSubscription, ResultMultiple <AppServiceSubscription> >(
                    Backend.QueryAsyncListAsync), true);

            if (result.Code >= 0)
            {
                ObservableCollection <AppServiceSubscription> serviceSubscriptions = result.Data.Payload;

                foreach (AppServiceSubscription subscription in serviceSubscriptions)
                {
                    subscription.OwnedBy = subSeeder.OwnedBy;

                    foreach (AppService service in _appServices)
                    {
                        foreach (AppServiceTier tier in service.Tiers)
                        {
                            if (subscription.AppServiceTierId == tier.Id)
                            {
                                subscription.ServiceTier = tier;
                            }
                        }
                    }
                }

                (subSeeder.OwnedBy as App).Subscriptions = serviceSubscriptions;
            }

            return(result);
        }
Exemplo n.º 6
0
 public async Task <ResultSingle <AppServiceSubscription> > RemoveSubscriptionAsync(AppServiceSubscription subscription,
                                                                                    bool doCache = false, bool throwIfError = true)
 {
     return(await ResultSingleUI <AppServiceSubscription> .WaitForObjectAsync(
                throwIfError, subscription, new CachedHttpRequest <AppServiceSubscription, ResultSingle <AppServiceSubscription> >(
                    Backend.RemoveAsync), doCache));
 }