예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
 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);
 }