示例#1
0
        public async void ExecuteQueryAsync(bool isUsingSeprateProvider, string cmdKey, int delayTime, SQLQueryCustodian observer, params object[] paramaters)
        {
            if (isUsingSeprateProvider)
            {
                SQLResultHandler newProvider = new SQLResultHandler(_appDBContext);

                newProvider.Subcribe(observer);

                // Issue: when first boost app, query function make the app delay for a while
                await Task.Delay(delayTime);

                var res = newProvider.ExecuteQuery(cmdKey, paramaters);

                newProvider.NotifyChange(res);

                // Issue: provider must un-subciribe observer coz it will callback next time
                if (observer.Updated)
                {
                    newProvider.Unsubcribe(observer);
                }
            }
            else
            {
                ExecuteQueryAsync(cmdKey, delayTime, observer, paramaters);
            }
        }
示例#2
0
        public void ExecuteQuery(bool isUsingSeprateProvider, string cmdKey, SQLQueryCustodian observer, params object[] paramaters)
        {
            if (isUsingSeprateProvider)
            {
                SQLResultHandler newProvider = new SQLResultHandler(_appDBContext);

                newProvider.Subcribe(observer);

                var res = newProvider.ExecuteQuery(cmdKey, paramaters);

                newProvider.NotifyChange(res);

                if (observer.Updated)
                {
                    newProvider.Unsubcribe(observer);
                }
            }
            else
            {
                ExecuteQuery(cmdKey, observer, paramaters);
            }
        }
示例#3
0
 private DbManager()
 {
     _appDBContext = new PharmacyDBContext();
     _provider     = new SQLResultHandler(_appDBContext);
 }