ICurrencyCache
Der Dienst ICurrencyCache bietet zwischengespeicherten Zugriff auf das transactioncurrency Set der Organisation plus die Basiswährung der Organisation. Währungen werden beim ersten Zugriff als einziger Schnappschuss geladen und in einem groben Schiebefenster aktualisiert – Administratoren fügen selten neue Währungen hinzu, sodass der Cache einen kleinen Speicherbedarf eintauscht, um Währungssuchen pro Datensatz auf dem Hot-Record-Retrieve-Pfad zu eliminieren.
Automatische Bestandsaufnahme in den Unterlagen
Du musst normalerweise nicht direkt berühren ICurrencyCache . Immer wenn der Abruf eines Datensatzes mindestens eine Geldspalte enthält, projiziert transactioncurrencyid der Server automatisch und hängt die aufgelöste Währung an die Currency Eigenschaft des Datensatzes an. MoneyEdit Konsumiert diese Karte, um das korrekte Symbol in seiner Startverzierung darzustellen.
// 'record.currency' wird automatisch bei jedem eingegebenen Datensatz ausgefüllt
// Client-Returns, bezogen aus dem Währungscache des Servers.
const { ppp } = usePowerPortalsPro();
const account = await ppp.retrieveRecordAsync('account', id);
const symbol = account.currency?.symbol; // z. B. "$"
const isoCode = account.currency?.isoCode; // z. B. "USD"
const name = account.currency?.name; // z. B. "US-Dollar"// Auf jedem über IPowerPortalsProService abgerufenen Datensatz:
var account = await _powerPortalsProService.RetrieveRecordAsync("account", id);
var symbol = account.Currency?.Symbol; // z. B. "$"
var isoCode = account.Currency?.IsoCode; // z. B. "USD"
var name = account.Currency?.Name; // z. B. "US-Dollar"Direkter Zugang
Für benutzerdefinierten serverseitigen Code, der eine Währung nach id nachschlagen, jede Währung in der Organisation aufzählen muss (einen Währungspicker, eine Wechselkursanzeige) oder die Basiswährung auflösen muss, injizieren ICurrencyCacheSie :
[Inject]
private ICurrencyCache _currencyCache { get; set; } = null!;
protected override async Task OnInitializedAsync()
{
// Suche nach ID (z. B. aus der Transactioncurrencyid eines Datensatzes)
var currency = await _currencyCache.GetAsync(transactionCurrencyId);
// Zähle jede in der Organisation konfigurierte Währung auf
var allCurrencies = await _currencyCache.GetAllAsync();
// Lösen Sie die Basiswährung der Organisation auf (organization.basecurrencyid)
var baseCurrency = await _currencyCache.GetBaseCurrencyAsync();
}
Tipp
ICurrencyCacheist nur serverseitig. Browserseitiger Code, der die Währung der Zeile benötigt,TableRecord.Currencyliest sich direkt (Blazor) /record.currency(React) – wird automatisch ausgefüllt, wenn der Datensatz eine Geldspalte enthält.
ICurrencyCache Interface
Methoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
Get | Guid id | Currency? | Gibt die Währung mit der gegebenen |
GetAll | IReadOnlyDictionary<Guid, Currency> | Es gibt jede in der Organisation konfigurierte Währung zurück, die nach id verschlüsselt ist. Als Single geladen Schnappschuss — Aufrufer, die das Wörterbuch iterieren, sehen keine teilweisen Aktualisierungen, wenn die Der Cache wird mitten in der Aufzählung aktualisiert. | |
GetAllAsync | CancellationToken token | Task<IReadOnlyDictionary<Guid, Currency>> | Asynchron gibt jede in der Organisation konfigurierte Währung zurück, die nach id eingeschlüsselt ist. |
GetAsync | Guid id CancellationToken token | Task<Currency> | Asynchron gibt die Währung mit der angegebenen |
GetBaseCurrency | Currency? | Die Grundwährung der Organisation, gelöst von | |
GetBaseCurrencyAsync | CancellationToken token | Task<Currency> | Asynchron gibt die Grundwährung der Organisation zurück. |
GetGetAllGetAllAsyncGetAsyncCancellationToken token
GetBaseCurrencyGetBaseCurrencyAsyncCurrency Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
ExchangeRate | decimal | 1 | Wechselkurs gegen die Basiswährung der Organisation, aus dem |
IsoCode | string | Der ISO 4217 dreibuchstabige Code (z. B. | |
Name | string | Der lokalisierte Währungsname von | |
Precision | int | 2 | Dezimalstellen zum Anzeigen, bezogen aus MoneyMetadata.Precision, was die Säulengenauigkeit ist; Das ist der Währungsstandard. |
Symbol | string | Das Anzeigesymbol, das Dataverse im |
ExchangeRateIsoCodeNamePrecisionMoneyMetadata.Precision, was die Säulengenauigkeit ist; Das ist der Währungsstandard.Symbol