예제 #1
0
        public HttpResponseMessage <Topic[]> GetAll(string query, int skip, int limit)
        {
            // set valid values of opional parameters
            var validatedSkip  = skip > 0 ? skip : new int?();
            var validatedLimit = limit > 0 ? limit : new int?();

            return(ProcessGet(() =>
                              genericJsonPagedQuery.Execute <M.Topic>(query, validatedSkip, validatedLimit)
                              .Select(i => i.ToFacade())
                              .ToArray()
                              ));
        }
예제 #2
0
        public HttpResponseMessage <Facade.Subscription[]> GetAll(string query, int skip, int limit)
        {
            // set valid values of opional parameters
            var validatedSkip  = skip > 0 ? skip : new int?();
            var validatedLimit = limit > 0 ? limit : new int?();

            return(ProcessGet(() =>
            {
                var result = genericJsonPagedQuery.Execute <Subscription>(query, validatedSkip, validatedLimit);
                return result
                .Select(item => item.ToFacade())
                .ToArray();
            }));
        }
예제 #3
0
        private void DoProcess()
        {
            while (true)
            {
                var retries = genericJsonPagedQuery.Execute <Retry>(string.Empty, null, null);

                if (retries == null || !retries.Any())
                {
                    break;
                }

                #region Iterate over each retry message

                foreach (var retry in retries)
                {
                    try
                    {
                        retry.Count++;
                        retry.UtcLastTry = DateTime.UtcNow;

                        retry.Message.PushToSubscription(retry.Subscription);

                        deleteRetryCommand.Execute(retry.Id.Value);
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Trace.TraceError(
                            string.Format(Texts.ErrorPushingCallback, retry.Message.Id, retry.Subscription.Id) +
                            "\r\n" + ex);
                        HandleRetryLogic(retry);
                    }
                }
                #endregion

                Thread.Sleep(TimeSpan.FromSeconds(Constants.RetryValues.DelaySeconds));
            }
            lock (_sync) IsRunning = false;
        }
예제 #4
0
        private Facade.Group[] Find(string query, int?skip, int?limit)
        {
            var result = genericJsonPagedQuery.Execute <Group>(query, skip, limit);

            return(result.Select(item => item.ToFacade()).ToArray());
        }
예제 #5
0
        public ActionResult Index()
        {
            var groups = genericJsonPagedQuery.Execute <Group>(null, null, null);

            return(View(groups));
        }