mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-24 06:47:50 +01:00
* Add dashboard and chart basics * More widgets * Make widgets responsive * Layout dashboard * Prepare ExplorerClient * Switch to Chartist * Dynamic data for store numbers and recent transactions tiles * Dynamic data for recent invoices tile * Improvements * Plug NBXPlorer DB * Properly filter by code * Reorder cheat mode button * AJAX update for graph data * Fix create invoice button * Retry connection on transient issues * App Top Items stats * Design updates * App Sales stats * Add points for weekly histogram, set last point to current balance Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.Common;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using BTCPayServer.Data;
|
|
using BTCPayServer.Services;
|
|
using BTCPayServer.Services.Stores;
|
|
using BTCPayServer.Services.Wallets;
|
|
using Dapper;
|
|
using Microsoft.AspNetCore.Identity;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using NBXplorer;
|
|
using NBXplorer.Client;
|
|
|
|
namespace BTCPayServer.Components.StoreWalletBalance;
|
|
|
|
public class StoreWalletBalance : ViewComponent
|
|
{
|
|
private const string CryptoCode = "BTC";
|
|
private const WalletHistogramType DefaultType = WalletHistogramType.Week;
|
|
|
|
private readonly StoreRepository _storeRepo;
|
|
private readonly WalletHistogramService _walletHistogramService;
|
|
|
|
public StoreWalletBalance(StoreRepository storeRepo, WalletHistogramService walletHistogramService)
|
|
{
|
|
_storeRepo = storeRepo;
|
|
_walletHistogramService = walletHistogramService;
|
|
}
|
|
|
|
public async Task<IViewComponentResult> InvokeAsync(StoreData store)
|
|
{
|
|
var walletId = new WalletId(store.Id, CryptoCode);
|
|
var data = await _walletHistogramService.GetHistogram(store, walletId, DefaultType);
|
|
|
|
var vm = new StoreWalletBalanceViewModel
|
|
{
|
|
Store = store,
|
|
CryptoCode = CryptoCode,
|
|
WalletId = walletId,
|
|
Series = data?.Series,
|
|
Labels = data?.Labels,
|
|
Balance = data?.Balance ?? 0,
|
|
Type = DefaultType
|
|
};
|
|
|
|
return View(vm);
|
|
}
|
|
}
|