V tomto článku se dozvíte, jak implementovat FiscalClient pomocí NuGetu.
Požadavky
- Znalost vývoje v .NET
- Znalost práce s balíčky NuGet
-
Stáhněte si balíčky
RetailForce.Fiscalisation - Platforma prostředí podporující .NET Standard 2.0
Implementace
Poskytovatel konfigurace
K uložení konfigurace potřebujete FileConfigurationProvider s cestou ke konfiguračnímu souboru a logger:
FileConfigurationProvider fileConfigurationProvider = new FileConfigurationProvider(System.IO.Path.Combine(this.FilesDir.ToString(), "fiscalclient.config.json"), _logger);(Android).
Správa fiskálních modulů
K vytvoření klientů nebo načtení konfigurace z Cloudu potřebujete třídu FiscalModuleManagement:
IClientStatusReporter clientStatusReporter = new EmptyClientStatusReporter();
FiscalModuleManagement moduleManagement = new FiscalModuleManagement(_logger, fileConfigurationProvider, clientStatusReporter);Záznamník je odvozen od rozhraní Microsoft.Extensions.Logging.ILogger.
Je vyžadován reportér stavu klienta (IClientStatusReporter). Pokud zprávy o stavu nezpracováváte sami, použijte EmptyClientStatusReporter.
Načtení klienta z Cloudu
K načtení klienta z Cloudu můžete použít příkaz CreateClientByCloud:
uniqueClientId = moduleManagement.CreateClientByCloud(new CompanyIdentification() { Identification = "ATU1234567", Type = CompanyIdentification.IdentificationType.VatNumber }, "T001", "T001", cloudApiKey, cloudApiSecret);Ruční vytvoření klienta
Klienta lze také vytvořit ručně (FiscalClient). Jakmile je tato třída vytvořena, lze klienta vytvořit pomocí CreateClient.
Vytvoření fiskálního modulu
Fiskální modul lze vytvořit pomocí třídy FiscalModuleCreator:
CloudService cloudService = new CloudService(_logger, storageBasePath, uniqueClientId.Value, cloudApiKey, cloudApiSecret);
FiscalModulCreator creator = new FiscalModulCreator(fileConfigurationProvider, _logger, cloudService, null, clientStatusReporter);Tím se vytvoří fiskální modul. CloudService je třída, která by měla být v softwaru zachována po celou dobu běhu. Stará se o přenos na pozadí do cloudu.
Čtvrtý parametr (IotService) je volitelný a lze jej nastavit na hodnotu null. Třída FiscalModulCreator také akceptuje hodnotu null pro CloudService, ale níže použitý LocalMonitoringClient vyžaduje CloudService.
Vytvoření fiskálního modulu
Po inicializaci třídy FiscalModuleCreator lze vytvořit fiskální modul.
Fiskální modul ukládá svá data prostřednictvím dvou poskytovatelů úložiště: FiscalDataStorageProvider pro fiskální data a AuditLogStorageProvider pro auditní protokol. Pro lokální úložiště použijte LocalFiscalDataStorageProvider a LocalAuditLogStorageProvider. storageBasePath je kořenový adresář bez ID klienta (Android: this.GetExternalFilesDir(Android.OS.Environment.DirectoryDocuments).AbsolutePath); cesta k auditnímu protokolu musí obsahovat ID klienta.
IMonitoringClient monitoringClient = new LocalMonitoringClient(cloudService);
FiscalDataStorageProvider storageProvider = new LocalFiscalDataStorageProvider(_logger, uniqueClientId.Value, monitoringClient, storageBasePath);
AuditLogStorageProvider auditLogStorageProvider = new LocalAuditLogStorageProvider(uniqueClientId.Value, _logger, System.IO.Path.Combine(storageBasePath, uniqueClientId.Value.ToString()));
TrustedFiscalModule fiscalModule = creator.CreateFiscalModuleForClient(uniqueClientId.Value, storageProvider, auditLogStorageProvider, cloudApiKey: cloudApiKey, cloudApiSecret: cloudApiSecret);I zde platí, že pokud není vyžadována podpora Cloudu, lze cloudová zabezpečovací data (cloudApiKey, cloudApiSecret) vynechat.
DŮLEŽITÉ: Konfigurace klienta musí být vytvořena předem. Buď stažením z Cloudu, nebo pomocí funkce CreateClient (viz výše).
Tento článek byl přeložen automaticky.
Komentáře
0 komentářů
Prosím přihlaste se, abyste mohli napsat komentář.