/// <summary>
 /// Constructor for regular use.
 /// Verification will run against public key in settings.
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="settings"></param>
 public Connection(Logger logger, SettingsCapsula settings)
 {
     this.logger        = logger;
     this.verificator   = new ConnectionVerificator(logger, settings.ServerPublicCertificate);
     this.serverAddress = settings.ServerAddress;
     this.MyCertificate = settings.ClientCertificate;
     this.UserName      = settings.UserName;
     this.config        = settings.Config;
     this.ClientId      = (int)settings.ClientId;
 }
 /// <summary>
 /// Constructor for init operations.
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="verificator"></param>
 /// <param name="serverAddress"></param>
 /// <param name="clientCertificate"></param>
 /// <param name="userName"></param>
 public Connection(Logger logger, IConnectionVerificator verificator, String serverAddress,
                   X509Certificate2 clientCertificate, IClientDatabaseConfig config, String userName = null)
 {
     this.logger        = logger;
     this.verificator   = verificator;
     this.serverAddress = serverAddress;
     this.MyCertificate = clientCertificate;
     this.UserName      = userName;
     this.config        = config;
     this.ClientId      = null;
 }