/// <summary>
 /// Adds the required services for access to Trinsic's API's including Credentials and Wallet services.
 /// </summary>
 /// <param name="services">The services.</param>
 /// <param name="configure">The configure.</param>
 /// <returns></returns>
 public static IServiceCollection AddTrinsicClient(this IServiceCollection services, Action <ServiceClientOptions> configure)
 {
     services.Configure(configure);
     services.AddSingleton <TrinsicClientCredentials>();
     services.AddSingleton <TrinsicProviderCredentials>();
     services.AddSingleton <ICredentialsServiceClient, CredentialsServiceClient>(provider =>
     {
         var options               = provider.GetRequiredService <IOptions <ServiceClientOptions> >().Value;
         var credentialsClient     = new CredentialsServiceClient(provider.GetRequiredService <TrinsicClientCredentials>());
         credentialsClient.BaseUri = options.CredentialsBaseUri == null ? credentialsClient.BaseUri : new Uri(options.CredentialsBaseUri);
         return(credentialsClient);
     });
     services.AddSingleton <IWalletServiceClient, WalletServiceClient>(provider =>
     {
         var options          = provider.GetRequiredService <IOptions <ServiceClientOptions> >().Value;
         var walletClient     = new WalletServiceClient(provider.GetRequiredService <TrinsicClientCredentials>());
         walletClient.BaseUri = options.WalletBaseUri == null ? walletClient.BaseUri : new Uri(options.WalletBaseUri);
         return(walletClient);
     });
     services.AddSingleton <IProviderServiceClient, ProviderServiceClient>(provider =>
     {
         var options            = provider.GetRequiredService <IOptions <ServiceClientOptions> >().Value;
         var providerClient     = new ProviderServiceClient(provider.GetRequiredService <TrinsicProviderCredentials>());
         providerClient.BaseUri = options.ProviderBaseUri == null ? providerClient.BaseUri : new Uri(options.ProviderBaseUri);
         return(providerClient);
     });
     return(services);
 }
Ejemplo n.º 2
0
        public static string FetchTicket()
        {
            CredentialsServiceClient client      = new CredentialsServiceClient();
            DimensionsLogonObject    logonObject = new DimensionsLogonObject
            {
                Database      = ConfigurationManager.AppSettings["Database"],
                UserID        = ConfigurationManager.AppSettings["UserID"],
                UserName      = ConfigurationManager.AppSettings["UserName"],
                Password      = ConfigurationManager.AppSettings["Password"],
                Server        = ConfigurationManager.AppSettings["Server"],
                SiteReference = ConfigurationManager.AppSettings["SiteReference"]
            };

            try
            {
                string ticket = client.CreateNewTicket(logonObject);
                return(ticket);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }