private static T GetInstanceContext <T>(Type clientType, string authorizationHeader, IConfigProvider configProvider, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : class { try { if (clientadapter == ClientConfiguration.ClientAdapter.Proxy) { var runtime = DependencyContext.Default.RuntimeLibraries.FirstOrDefault(x => x.Name.Contains("CotorraNube.CotoRRA.ClientProxy")); var assembly = Assembly.Load(new AssemblyName(runtime.Name)); Type type = assembly.GetType(clientType.FullName + clientadapter.ToString()); return(Activator.CreateInstance(type, authorizationHeader, configProvider) as T); } else { throw new NotSupportedException("Esta opraciòn solo esta soportada para clientes proxy"); } } catch (Exception) { if (clientadapter == ClientConfiguration.ClientAdapter.Proxy) { return(GetInstanceContextPackageAssemblyNong <T>(clientType, authorizationHeader, configProvider: null, clientadapter: ClientConfiguration.ClientAdapter.Proxy)); } } return(null); }
/// <summary> /// Gets the instance asembly. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="clientType">Type of the client.</param> /// <param name="authorizationHeader">The authorization header.</param> /// <param name="config">The configuration.</param> /// <param name="clientadapter">The clientadapter.</param> /// <returns></returns> /// <exception cref="InvalidOperationException">Client adapter not found</exception> private static IStatusClient <T> GetInstanceAsembly <T>(string authorizationHeader, IStatusFullValidator <T> validator, IConfigProvider config = null, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : StatusIdentityCatalogEntityExt { Assembly assembly = null; var variable = PlatformServices.Default.Application.ApplicationBasePath; Type type = null; try { if (clientadapter == ClientConfiguration.ClientAdapter.Proxy) { assembly = Assembly.Load(variable + "Cotorra.ClientProxy.dll"); } else if (clientadapter == ClientConfiguration.ClientAdapter.Local) { assembly = Assembly.Load(variable + "Cotorra.ClientLocal.dll"); } else if (clientadapter == ClientConfiguration.ClientAdapter.Internal) { assembly = Assembly.Load(variable + "Cotorra.ClientLocal.dll"); } if (assembly != null) { string clientName = String.Empty; if (clientadapter == ClientConfiguration.ClientAdapter.Local || clientadapter == ClientConfiguration.ClientAdapter.Internal) { clientName = "Cotorra.ClientLocal.StatusClientLocal`1"; } else { clientName = "Cotorra.ClientProxy.StatusClientProxy`1"; } type = assembly.DefinedTypes.FirstOrDefault(p => p.FullName.Contains(clientName)).UnderlyingSystemType; } else { throw new CotorraException(100, "100", "assembly is null", null); } if (config != null) { var makeme = type.MakeGenericType(typeof(T)); return(Activator.CreateInstance(makeme, authorizationHeader, validator, config) as IStatusClient <T>); } else { var makeme = type.MakeGenericType(typeof(T)); return(Activator.CreateInstance(makeme, authorizationHeader, validator) as IStatusClient <T>); } } catch (Exception) { return(null); } }
public HistoricEmployeesController() { SessionModel.Initialize(); clientAdapter = ClientConfiguration.GetAdapterFromConfig(); var authorization = SessionModel.AuthorizationHeader; client = new Client <HistoricEmployee>(authorization, clientAdapter); _clientEmployerRegistration = new Client <EmployerRegistration>(authorization, clientAdapter); }
private static T GetInstanceContextPackageAssemblyNong <T>(Type clientType, string authorizationHeader, IConfigProvider configProvider, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : class { try { var appDirecotry = PlatformServices.Default.Application.ApplicationBasePath; var appName = PlatformServices.Default.Application.ApplicationName + ".dll"; var direcotry = appDirecotry + appName; var info2 = DependencyContext.Default.RuntimeLibraries.FirstOrDefault(x => x.Name.Contains("CotorraNube.CotoRRA.Standard.ProxyClient")); var Assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(direcotry); var assemblyResolver = new CompositeCompilationAssemblyResolver (new ICompilationAssemblyResolver[] { new AppBaseCompilationAssemblyResolver(Path.GetDirectoryName(direcotry)), new ReferenceAssemblyPathResolver(), new PackageCompilationAssemblyResolver() }); var loadContext = AssemblyLoadContext.GetLoadContext(Assembly); if (info2 != null) { var wrapper = new CompilationLibrary( info2.Type, info2.Name, info2.Version, info2.Hash, info2.RuntimeAssemblyGroups.SelectMany(g => g.AssetPaths), info2.Dependencies, info2.Serviceable); var assemblies = new List <string>(); assemblyResolver.TryResolveAssemblyPaths(wrapper, assemblies); if (assemblies.Count > 0) { var res = loadContext.LoadFromAssemblyPath(assemblies[0]); Type type = res.GetType(clientType.FullName + clientadapter.ToString()); if (configProvider != null) { return(Activator.CreateInstance(type, authorizationHeader, configProvider) as T); } else { return(Activator.CreateInstance(type, authorizationHeader) as T); } } } } catch (Exception ex) { throw new InvalidOperationException("Client adapter not found", ex); } return(null); }
/// <summary> /// Gets the instance asembly. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="clientType">Type of the client.</param> /// <param name="authorizationHeader">The authorization header.</param> /// <param name="config">The configuration.</param> /// <param name="clientadapter">The clientadapter.</param> /// <returns></returns> /// <exception cref="InvalidOperationException">Client adapter not found</exception> private static T GetInstanceAsembly <T>(Type clientType, string authorizationHeader, IConfigProvider config = null, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : class { Assembly assembly = null; var variable = PlatformServices.Default.Application.ApplicationBasePath; Type type = null; try { if (clientadapter == ClientConfiguration.ClientAdapter.Proxy) { assembly = Assembly.LoadFrom(variable + "Cotorra.ClientProxy.dll"); } else if (clientadapter == ClientConfiguration.ClientAdapter.Local) { assembly = Assembly.LoadFrom(variable + "Cotorra.ClientLocal.dll"); } else if (clientadapter == ClientConfiguration.ClientAdapter.Internal) { assembly = Assembly.LoadFrom(variable + "Cotorra.ClientLocal.dll"); } if (assembly != null) { type = assembly.GetType(clientType.FullName + clientadapter.ToString()); } else { throw new CotorraException(100, "100", "assembly is null", null); } if (config != null) { return(Activator.CreateInstance(type, authorizationHeader, config) as T); } else { return(Activator.CreateInstance(type, authorizationHeader) as T); } } catch (Exception) { return(GetInstanceContext <T>(clientType, authorizationHeader, config, clientadapter)); } }
public static IStatusClient <T> GetInstance <T>(string authorizationHeader, IConfigProvider configProvider, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : StatusIdentityCatalogEntityExt { return(GetInstanceAsembly <T>(authorizationHeader, config: configProvider, clientadapter: clientadapter)); }
/// <summary> /// Gets the instance. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="clientType">Type of the client.</param> /// <param name="authorizationHeader">The authorization header.</param> /// <param name="clientadapter">The clientadapter.</param> /// <returns></returns> public static IStatusClient <T> GetInstance <T>(string authorizationHeader, IStatusFullValidator <T> validator, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : StatusIdentityCatalogEntityExt { return(GetInstanceAsembly <T>(authorizationHeader, config: null, clientadapter: clientadapter, validator: validator)); }
public EmployeeConceptsRelationDetailClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <IEmployeeConceptsRelationDetailClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }
public StampingClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <IStampingClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter) as IStampingClient; }
public EmployeeIdentityRegistrationClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <IEmployeeIdentityRegistrationClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }
public NOMSurveyReplyClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <INOMSurveyReplyClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }
/// <summary> /// Gets the instance. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="clientType">Type of the client.</param> /// <param name="authorizationHeader">The authorization header.</param> /// <param name="config">The configuration.</param> /// <param name="clientadapter">The clientadapter.</param> /// <returns></returns> public static T GetInstance <T>(Type clientType, string authorizationHeader, IConfigProvider config, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : class { return(GetInstanceAsembly <T>(clientType, authorizationHeader, config: config, clientadapter: clientadapter)); }
public Client(string authorizationHeader, IValidator <T> validator, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory.GetInstance <T>(authorizationHeader, validator, clientadapter); _configProvider = null; }
public static IClient <T> GetInstance <T>(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : BaseEntity { return(GetInstanceAsembly <T>(authorizationHeader, config: null, clientadapter: clientadapter)); }
private static IClient <T> GetInstanceAsembly <T>(string authorizationHeader, IConfigProvider config = null, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) where T : BaseEntity { Assembly assembly = null; var variable = String.Empty; //#if __ANDROID__ variable = System.Reflection.Assembly.GetExecutingAssembly().Location; //#else variable = PlatformServices.Default.Application.ApplicationBasePath; //#endif Type type = null; try { if (clientadapter == ClientConfiguration.ClientAdapter.Proxy) { var file = $"{variable}Cotorra.ClientProxy.dll"; if (File.Exists(file)) { assembly = Assembly.LoadFrom(file); } } else if (clientadapter == ClientConfiguration.ClientAdapter.Local) { assembly = Assembly.LoadFrom(variable + "Cotorra.ClientLocal.dll"); } else if (clientadapter == ClientConfiguration.ClientAdapter.Internal) { assembly = Assembly.LoadFrom(variable + "Cotorra.ClientLocal.dll"); } if (assembly != null) { string clientName = String.Empty; if (clientadapter == ClientConfiguration.ClientAdapter.Local || clientadapter == ClientConfiguration.ClientAdapter.Internal) { clientName = "Cotorra.ClientLocal.ClientLocal`1"; } else { clientName = "Cotorra.ClientProxy.ClientProxy`1"; } type = assembly.DefinedTypes.FirstOrDefault(p => p.FullName.Contains(clientName)).UnderlyingSystemType; } else { throw new Exception("assembly is null"); } if (config != null) { var makeme = type.MakeGenericType(typeof(T)); return(Activator.CreateInstance(makeme, authorizationHeader, config) as IClient <T>); } else { var makeme = type.MakeGenericType(typeof(T)); return(Activator.CreateInstance(makeme, authorizationHeader) as IClient <T>); } } catch (Exception) { return(null); } }
public Client(string authorizationHeader, IConfigProvider configProvider, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _configProvider = configProvider; _client = ClientAdapterFactory.GetInstance <T>(authorizationHeader, configProvider, clientadapter); }
public BankPaymentLayoutClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <IBankPaymentLayoutClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }
public CotorriaBotClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <ICotorriaBotClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }
public SettlementProcessClient(string authorizationHeader, ClientConfiguration.ClientAdapter clientadapter = ClientConfiguration.ClientAdapter.Proxy) { _client = ClientAdapterFactory2.GetInstance <ISettlementProcessClient>(this.GetType(), authorizationHeader, clientadapter: clientadapter); }