Web API for the bulk printing desktop application.

ClientFactory.cs 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Microsoft.Extensions.Configuration;
  2. using Microsoft.Extensions.Logging;
  3. namespace MAX
  4. {
  5. public class ClientFactory
  6. {
  7. public ClientFactory(IConfiguration configuration)
  8. {
  9. configuration.Bind(this);
  10. }
  11. public Client GetClient(ILogger logger, int vendorId, string serialNumber, int userId,
  12. string username, string password)
  13. {
  14. var client = new Client(logger, LogResponses, Host, Port, vendorId, serialNumber, userId,
  15. username, password);
  16. client.ConnectTimeout = ConnectTimeout;
  17. client.ReceiveTimeout = ReceiveTimeout;
  18. client.SendTimeout = SendTimeout;
  19. return client;
  20. }
  21. public Client GetClient(ILogger logger, LoginCredentials credentials)
  22. {
  23. var client = new Client(logger, LogResponses, Host, Port, credentials);
  24. client.ConnectTimeout = ConnectTimeout;
  25. client.ReceiveTimeout = ReceiveTimeout;
  26. client.SendTimeout = SendTimeout;
  27. return client;
  28. }
  29. public string Host { get; set; }
  30. public int Port { get; set; }
  31. public int ConnectTimeout { get; set; }
  32. public int ReceiveTimeout { get; set; }
  33. public int SendTimeout { get; set; }
  34. public bool LogResponses { get; set; }
  35. }
  36. }