Example #1
0
        public async Task <ResultSingle <ObjectT> > QueryAsync <ObjectT>(
            ObjectT seed, IDictionary <string, object> data = null,
            string subPath = null, bool doCache = true)
            where ObjectT : ICloudObject, new()
        {
            Notifier?.BeginQuery();

            ResultSingle <ObjectT> result = null;

            if (doCache && _cache.Load <ObjectT>(seed))
            {
                // Use the cache
                result              = new ResultSingle <ObjectT>(ServerStatus.NEST_RESULT_SUCCESS);
                result.Data         = new DataContainer <ObjectT>();
                result.Data.Payload = seed;
            }
            else
            {
                result = await TrySend <ObjectT, ResultSingle <ObjectT>, ObjectT>(
                    new HttpRequest <ObjectT, ResultSingle <ObjectT> >(GetAsync),
                    seed, true, data, subPath, doCache);
            }

            Notifier?.EndQuery();

            return(result);
        }
Example #2
0
        public async Task <ResultSingle <Permit <UserT> > > RevokeAccessAsync(
            Dictionary <string, object> data = null)
        {
            Notifier?.BeginQuery();

            ResultSingle <Permit <UserT> > result = await
                                                    Send <Permit <UserT>, ResultSingle <Permit <UserT> >, Permit <UserT> >(
                new HttpRequest <Permit <UserT>, ResultSingle <Permit <UserT> > >(DeleteAsync),
                Permit, true, data, null, false);

            Notifier?.EndQuery();

            return(result);
        }
Example #3
0
        public async Task <ResultSingle <ObjectT> > RemoveAsync <ObjectT>(
            ObjectT seed, IDictionary <string, object> data = null,
            string subPath = null, bool doCache = false)
            where ObjectT : ICloudObject, new()
        {
            Notifier?.BeginQuery();

            ResultSingle <ObjectT> result = await TrySend <ObjectT, ResultSingle <ObjectT>, ObjectT>(
                new HttpRequest <ObjectT, ResultSingle <ObjectT> >(DeleteAsync),
                seed, true, data, subPath, doCache);

            Notifier?.EndQuery();

            return(result);
        }
Example #4
0
        public async Task <ResultMultiple <ObjectT> > QueryAsyncListAsync <ObjectT>(
            ObjectT seed, IDictionary <string, object> data = null,
            string subPath = null, bool doCache = true)
            where ObjectT : ICloudObject, new()
        {
            Notifier?.BeginQuery();

            ResultMultiple <ObjectT> result = await TrySend <ObjectT, ResultMultiple <ObjectT>,
                                                             ObservableCollection <ObjectT> >(new HttpRequest <ObjectT, ResultMultiple <ObjectT> >(GetListAsync),
                                                                                              seed, false, data, subPath, doCache);

            Notifier?.EndQuery();

            return(result);
        }
Example #5
0
        public async Task <ResultSingle <Permit <UserT> > > SignupAsync(
            Dictionary <string, object> data = null)
        {
            Notifier?.BeginQuery();

            ResultSingle <Permit <UserT> > result = await
                                                    Send <Permit <UserT>, ResultSingle <Permit <UserT> >, Permit <UserT> >(
                new HttpRequest <Permit <UserT>, ResultSingle <Permit <UserT> > >(PostAsync),
                Permit, false, data, null, false);

            UpdatePermit(result);

            Notifier?.EndQuery();

            return(result);
        }