public IActionResult Dashboard()
        {
            var store     = CurrentStore;
            var storeBlob = store.GetStoreBlob();

            AddPaymentMethods(store, storeBlob,
                              out var derivationSchemes, out var lightningNodes);

            var vm = new StoreDashboardViewModel
            {
                WalletEnabled    = derivationSchemes.Any(scheme => !string.IsNullOrEmpty(scheme.Value) && scheme.Enabled),
                LightningEnabled = lightningNodes.Any(ln => !string.IsNullOrEmpty(ln.Address) && ln.Enabled),
                StoreId          = CurrentStore.Id,
                StoreName        = CurrentStore.StoreName
            };

            return(View("Dashboard", vm));
        }
        public async Task <IActionResult> Dashboard()
        {
            var store     = CurrentStore;
            var storeBlob = store.GetStoreBlob();

            AddPaymentMethods(store, storeBlob,
                              out var derivationSchemes, out var lightningNodes);

            var walletEnabled    = derivationSchemes.Any(scheme => !string.IsNullOrEmpty(scheme.Value) && scheme.Enabled);
            var lightningEnabled = lightningNodes.Any(ln => !string.IsNullOrEmpty(ln.Address) && ln.Enabled);
            var cryptoCode       = _NetworkProvider.DefaultNetwork.CryptoCode;
            var vm = new StoreDashboardViewModel
            {
                WalletEnabled      = walletEnabled,
                LightningEnabled   = lightningEnabled,
                LightningSupported = _NetworkProvider.GetNetwork <BTCPayNetwork>(cryptoCode).SupportLightning,
                StoreId            = CurrentStore.Id,
                StoreName          = CurrentStore.StoreName,
                CryptoCode         = cryptoCode,
                IsSetUp            = walletEnabled || lightningEnabled
            };

            // Widget data
            if (!vm.WalletEnabled && !vm.LightningEnabled)
            {
                return(View(vm));
            }

            var userId = GetUserId();
            var apps   = await _appService.GetAllApps(userId, false, store.Id);

            foreach (var app in apps)
            {
                var appData = await _appService.GetAppDataIfOwner(userId, app.Id);

                vm.Apps.Add(appData);
            }

            return(View(vm));
        }
Exemple #3
0
        public async Task <IActionResult> Dashboard()
        {
            var store     = CurrentStore;
            var storeBlob = store.GetStoreBlob();

            AddPaymentMethods(store, storeBlob,
                              out var derivationSchemes, out var lightningNodes);

            var walletEnabled    = derivationSchemes.Any(scheme => !string.IsNullOrEmpty(scheme.Value) && scheme.Enabled);
            var lightningEnabled = lightningNodes.Any(ln => !string.IsNullOrEmpty(ln.Address) && ln.Enabled);
            var vm = new StoreDashboardViewModel
            {
                WalletEnabled    = walletEnabled,
                LightningEnabled = lightningEnabled,
                StoreId          = CurrentStore.Id,
                StoreName        = CurrentStore.StoreName,
                IsSetUp          = walletEnabled || lightningEnabled
            };

            // Widget data
            if (vm.WalletEnabled || vm.LightningEnabled)
            {
                var userId = GetUserId();
                var apps   = await _appService.GetAllApps(userId, false, store.Id);

                vm.Apps = apps
                          .Where(a => a.AppType == AppType.Crowdfund.ToString())
                          .Select(a =>
                {
                    var appData       = _appService.GetAppDataIfOwner(userId, a.Id, AppType.Crowdfund).Result;
                    appData.StoreData = store;
                    return(appData);
                })
                          .ToList();
            }

            return(View("Dashboard", vm));
        }