protected override void SetupProvider() { // Transports var comTransport = new ComTransport(); var tcpTransport = new TcpTransport(); // Drivers var datecsXIsl = new BgDatecsXIslFiscalPrinterDriver(); //var datecsPIsl = new BgDatecsPIslFiscalPrinterDriver(); //var datecsCIsl = new BgDatecsCIslFiscalPrinterDriver(); //var eltradeIsl = new BgEltradeIslFiscalPrinterDriver(); //var daisyIsl = new BgDaisyIslFiscalPrinterDriver(); //var incotexIsl = new BgIncotexIslFiscalPrinterDriver(); //var islIcp = new BgIslIcpFiscalPrinterDriver(); //var tremolZfp = new BgTremolZfpFiscalPrinterDriver(); //var tremolV2Zfp = new BgTremolZfpV2FiscalPrinterDriver(); // Add drivers and their compatible transports to the provider. Provider = new Provider(configOptions) // Isl X Frame .Register(datecsXIsl, comTransport) .Register(datecsXIsl, tcpTransport); // Isl Frame //.Register(datecsCIsl, comTransport) //.Register(datecsCIsl, tcpTransport) //.Register(datecsPIsl, comTransport) //.Register(datecsPIsl, tcpTransport) //.Register(eltradeIsl, comTransport) //.Register(eltradeIsl, tcpTransport) // Isl Frame + constants //.Register(daisyIsl, comTransport) //.Register(daisyIsl, tcpTransport) //.Register(incotexIsl, comTransport) //.Register(incotexIsl, tcpTransport) // Icp Frame //.Register(islIcp, comTransport) //.Register(islIcp, tcpTransport) // Zfp Frame //.Register(tremolZfp, comTransport) //.Register(tremolZfp, tcpTransport) //.Register(tremolV2Zfp, comTransport) //.Register(tremolV2Zfp, tcpTransport); }
static Provider GetProviderOfSupportedTransportsAndDrivers() { // Transports var comTransport = new ComTransport(); //var btTransport = new BtTransport(); //var httpTransport = new HttpTransport(); // Cloud transport with account. // var cloudPrintTransport = new CloudPrintTransport("user", "pwd"); // Drivers var daisyIsl = new BgDaisyIslFiscalPrinterDriver(); var datecsPIsl = new BgDatecsPIslFiscalPrinterDriver(); var datecsCIsl = new BgDatecsCIslFiscalPrinterDriver(); var datecsXIsl = new BgDatecsXIslFiscalPrinterDriver(); var eltradeIsl = new BgEltradeIslFiscalPrinterDriver(); var tremolZfp = new BgTremolZfpFiscalPrinterDriver(); var tremolV2Zfp = new BgTremolZfpV2FiscalPrinterDriver(); // Add ErpNet Json driver, which can be used to forward the commands to: // 1. Another ErpNet print server. // 2. Cloud printing instance. // var erpNetJson = new ErpNetJsonDriver(); // Add drivers and their compatible transports to the provider. var provider = new Provider() .Register(daisyIsl, comTransport) .Register(datecsCIsl, comTransport) .Register(datecsPIsl, comTransport) .Register(eltradeIsl, comTransport) .Register(datecsXIsl, comTransport) .Register(tremolZfp, comTransport) .Register(tremolV2Zfp, comTransport); return(provider); }
public PrintersControllerContext(IConfiguration configuration, ILogger logger) { this.logger = logger; var autoDetect = configuration.GetValue <bool>("AutoDetect", true); // Transports var comTransport = new ComTransport(); // Drivers var daisyIsl = new BgDaisyIslFiscalPrinterDriver(); var datecsPIsl = new BgDatecsPIslFiscalPrinterDriver(); var datecsCIsl = new BgDatecsCIslFiscalPrinterDriver(); var datecsXIsl = new BgDatecsXIslFiscalPrinterDriver(); var eltradeIsl = new BgEltradeIslFiscalPrinterDriver(); var tremolZfp = new BgTremolZfpFiscalPrinterDriver(); var tremolV2Zfp = new BgTremolZfpV2FiscalPrinterDriver(); // Add drivers and their compatible transports to the provider. var provider = new Provider() .Register(daisyIsl, comTransport) .Register(datecsCIsl, comTransport) .Register(datecsPIsl, comTransport) .Register(eltradeIsl, comTransport) .Register(datecsXIsl, comTransport) .Register(tremolZfp, comTransport) .Register(tremolV2Zfp, comTransport); if (autoDetect) { logger.LogInformation("Autodetecting local printers..."); var printers = provider.DetectAvailablePrinters(); foreach (KeyValuePair <string, IFiscalPrinter> printer in printers) { AddPrinter(printer.Value); } } logger.LogInformation("Detecting configured printers..."); var printersSettings = configuration.GetSection("Printers").Get <Dictionary <string, PrinterConfig> >(); if (printersSettings != null) { foreach (var printerSetting in printersSettings) { string logString = $"Trying {printerSetting.Key}: {printerSetting.Value.Uri}"; var uri = printerSetting.Value.Uri; if (uri.Length > 0) { try { var printer = provider.Connect(printerSetting.Value.Uri, null); logger.LogInformation($"{logString}, OK"); PrintersInfo.Add(printerSetting.Key, printer.DeviceInfo); Printers.Add(printerSetting.Key, printer); } catch { logger.LogInformation($"{logString}, failed"); // Do not add this printer, it fails to connect. } } } } logger.LogInformation($"Detecting done. Found {Printers.Count} available printer(s)."); }