public async Task <IEnumerable <User> > GetUsers() { var(fetched, users) = GetUsersFromCache(); if (fetched) { return(users); } using (IDataProvider provider = DataProviderFactory.GetProvider("HTTP")) { var apiUsers = await provider.QueryData <List <ApiUser> >(); users = MapApiUserToDomainUser(apiUsers); } CacheUsers(users); return(users); }
static void Main(string[] args) { using (var unitOfWork = new UnitOfWork(new DataContext())) { // load item prices data DataProviderFactory.GetProvider(Enums.DataTypeEnum.Xml).LoadData(unitOfWork); // load payments data DataProviderFactory.GetProvider(Enums.DataTypeEnum.Json).LoadData(unitOfWork); // load purchases data DataProviderFactory.GetProvider(Enums.DataTypeEnum.Text).LoadData(unitOfWork); // get payment not matched var paymentsNotMatched = unitOfWork.Purchases.GetPaymentsNotMatched(); // save as json var json = JsonConvert.SerializeObject(paymentsNotMatched); File.WriteAllText($"{ConfigurationManager.AppSettings["FileLocation"]}\\PaymentsNotMatched.json", json); // save as csv Helper.ExportAsCsv(paymentsNotMatched, true); } }
public override void Initialize(string name, NameValueCollection config) { DataProviderFactory factory = new DataProviderFactory(); _dataProvider = factory.GetProvider(config["dataProviderAssembly"], config["dataProviderType"], ConfigurationManager.AppSettings[config["connectionStringName"]]); base.Initialize(name, config); }