public void RemoveAdapter() { if (PharmacySystemAdapter != null) { PharmacySystemAdapter.CloseConnections(); } PharmacySystemAdapter = null; }
public IPharmacySystemAdapter SetPharmacySystemAdapter(PharmacySystem pharmacySystem) { RemoveAdapter(); _pharmacySystem = pharmacySystem; PharmacySystemAdapterParameters parameters = _mapper.Map <PharmacySystemAdapterParameters>(_pharmacySystem); parameters.HospitalName = _hospitalName; try { if (_environment == "Development") { PharmacySystemAdapter = (IPharmacySystemAdapter)Activator.CreateInstance(Type.GetType($"IntegrationAdapters.Adapters.{_environment}.PharmacySystemAdapter_Id{_pharmacySystem.Id}")); var config = Startup.Configuration.GetSection("SftpConfig"); parameters.SftpConfig = new SftpConfig() { Host = config["Host"], Port = int.Parse(config["Port"]), Username = config["Username"], Password = config["Password"] }; PharmacySystemAdapter.Initialize(parameters, _httpClientFactory.CreateClient()); } else if (_environment == "Production" || _environment == "Test") { PharmacySystemAdapter = (IPharmacySystemAdapter)Activator.CreateInstance(Type.GetType($"IntegrationAdapters.Adapters.{_environment}.PharmacySystemAdapter_Id{_pharmacySystem.Id}")); PharmacySystemAdapter.Initialize(parameters, _httpClientFactory.CreateClient()); } else if (_environment == "Production-Multi") { if (_pharmacySystem.Id == 1) { PharmacySystemAdapter = (IPharmacySystemAdapter)Activator.CreateInstance(Type.GetType("IntegrationAdapters.Adapters.Development.PharmacySystemAdapter_Id1")); var config = Startup.Configuration.GetSection("SftpConfig"); parameters.SftpConfig = new SftpConfig() { Host = config["Host"], Port = int.Parse(config["Port"]), Username = config["Username"], Password = config["Password"] }; } else if (_pharmacySystem.Id == 2) { PharmacySystemAdapter = (IPharmacySystemAdapter)Activator.CreateInstance(Type.GetType("IntegrationAdapters.Adapters.Production.PharmacySystemAdapter_Id1")); } PharmacySystemAdapter.Initialize(parameters, _httpClientFactory.CreateClient()); } } catch (Exception ex) { Console.WriteLine(ex); PharmacySystemAdapter = null; } return(PharmacySystemAdapter); }