public HapoalimApi(IProviderDescriptor accountDescriptor) { if (accountDescriptor == null || accountDescriptor.Credentials.Count == 0) { throw new ArgumentNullException("accountDescriptor"); } var crentialValues = accountDescriptor.Credentials.Values.ToArray(); _userId = crentialValues[0]; _userCredentials = crentialValues[1]; ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, policyErrors) => true; // Acquire token IsReady = true; _initInfo = Init(); var result = Verify(); if (result == null || result.Error != null) { IsReady = false; } GetLandpage(); _log.Debug("HapoalimApi is created"); }
private static IDataProvider CreateVendorProvider(IProviderDescriptor accountDescriptor) { IDataProvider result = null; var vendorId = GetVendorIdByName(accountDescriptor.Name); if (vendorId != VendorId.None) { switch (vendorId) { case VendorId.Hapoalim: //var hapoalimApi = new HapoalimApi(accountDescriptor); var hapoalimApi = new MockHapoalimApi(accountDescriptor); result = new HapoalimDataProvider(hapoalimApi); break; case VendorId.Amex: //var amexApi = new AmexApi(accountDescriptor); var amexApi = new MockAmexApi(accountDescriptor); result = new AmexDataProvider(amexApi); break; case VendorId.Cal: //var calApi = new CalApi(accountDescriptor); var calApi = new MockCalApi(); result = new CalDataProvider(calApi); break; default: break; } } return(result); }
public AmexApi(IProviderDescriptor accountDescriptor) { if (accountDescriptor == null) { throw new ArgumentNullException("credentials"); } var crentialValues = accountDescriptor.Credentials.Values.ToArray(); _idNumber = crentialValues[0]; _lastDigits = crentialValues[1]; _password = crentialValues[2]; ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, policyErrors) => true; IsReady = true; var loginResponse = Login(); if (loginResponse.Status != 1) { IsReady = false; _log.ErrorFormat("Cannot create AmexApi - {0}", loginResponse.Message); throw new FieldAccessException(loginResponse.Message); } _log.Debug("AmexApi is created"); }
public static IObservable <IDataProvider> CreateProvider(IProviderDescriptor descriptor) { IObservable <IDataProvider> result = Observable.Create <IDataProvider>((observer) => { var task = new Task(() => { IDataProvider provider = null; try { provider = CreateVendorProvider(descriptor); } catch (Exception exp) { observer.OnError(new DataProviderException(descriptor, exp.Message)); } if (provider == null || !provider.IsReady) { var error = new DataProviderException(descriptor, "Cannot access"); observer.OnError(error); } observer.OnNext(provider); }); task.Start(); return(() => { }); }); return(result); }
/// <summary> /// Creates a Provider based on the specified type. /// </summary> /// <typeparam name="T">The type of provider to create.</typeparam> /// <param name="providerDescriptor">The provider descriptor.</param> /// <returns></returns> /// <exception cref="System.ArgumentNullException">providerDescriptor</exception> /// <exception cref="CreateProviderException"> /// Error creating provider /// </exception> protected T CreateProvider <T>(IProviderDescriptor providerDescriptor) where T : IProvider { try { if (providerDescriptor == null) { throw new ArgumentNullException("providerDescriptor"); } Type type = typeof(T); if (!type.IsAssignableFrom(providerDescriptor.ProviderType)) { throw new CreateProviderException( string.Format("{0} should be assignable from {1}.", type.Name, providerDescriptor.ProviderType.Name )); } var instance = GenericMethodInvoker.Invoke( this, "Create", providerDescriptor.ProviderType, new object[] { }, BindingFlags.NonPublic | BindingFlags.Instance ); if (instance == null) { throw new CreateProviderException( string.Format( "Could not create instance of type {0}. If you've got a Provider " + "implementation that exposes constructor arguments then please consider " + "using any of the existing dependency resolvers or write your " + "own implementation.", providerDescriptor.ProviderType.Name)); } var provider = (IProvider)instance; provider.Group = providerDescriptor.ProviderGroup; provider.Name = providerDescriptor.ProviderName; provider.Settings = providerDescriptor.ProviderSettings; return((T)instance); } catch (Exception ex) { if (!(ex is CreateProviderException)) { throw new CreateProviderException( "Error creating provider.", ex); } else { throw; } } }
public UmtbDataProvider(IProviderDescriptor accountDescriptor) { if (accountDescriptor == null || accountDescriptor.Credentials.Count == 0) { throw new ArgumentNullException("accountDescriptor"); } var crentialValues = accountDescriptor.Credentials.Values.ToArray(); _userId = crentialValues[0]; _userCredentials = crentialValues[1]; }
public MockHapoalimApi(IProviderDescriptor accountDescriptor) { Thread.Sleep(300); if (accountDescriptor.Credentials.ContainsKey("Password") && accountDescriptor.Credentials["Password"].Equals("12345678")) { _isValid = true; } else { _isValid = false; } _log.Debug("MockHapoalimApi is created"); }
public MockAmexApi(IProviderDescriptor accountDescriptor) { Thread.Sleep(1500); if (accountDescriptor.Credentials.ContainsKey("Id") && accountDescriptor.Credentials["Id"].Equals("042349839")) { _isValid = true; } else { _isValid = false; } _log.Debug("MockAmexApi is created"); }
public CalApi(IProviderDescriptor accountDescriptor) { if (accountDescriptor == null) { throw new ArgumentNullException("credentials"); } var crentialValues = accountDescriptor.Credentials.Values.ToArray(); _username = crentialValues[0]; _password = crentialValues[1]; ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, policyErrors) => true; _sessionInfo = new CalSessionInfo(); IsReady = true; }
public DataProviderException(IProviderDescriptor descriptor, string message) { ProviderDescriptor = descriptor; Message = message; }