Пример #1
0
            public new void Execute(string input)
            {
                var cached = TaskBuffer.Get(input);

                push = new TaskPush();
                try
                {
                    Regex       rx = new Regex(@"((((\-?\d{1,3}\.\d+)|\-?\d{1,3}))\;((\-?\d{1,2}\.\d+)|(\-?\d{1,2})))");
                    ApiResponse apiResponse;

                    if (rx.IsMatch(input))
                    {
                        apiResponse = _terminal.Execute("coordinates", input);
                        apiResponse.Add("area", input);
                    }
                    else
                    {
                        apiResponse = _terminal.Execute("location", input);
                        apiResponse.Update("area", input);
                    }

                    apiResponse.Update("status", "Requested");
                    apiResponse.Update("created", cached.Value("created"));

                    apiResponse.Add("finished", DateTime.UtcNow.Ticks.ToString());
                    UpdateCacheAndDatabase(input, cached);
                    push.Execute(input);
                }
                catch (Exception e)
                {
                    TaskCancel cancel = new TaskCancel(e);
                    cancel.Execute(input);
                }
            }
Пример #2
0
 protected void UpdateCacheAndDatabase(string input, ApiResponse newResponse)
 {
     TaskBuffer.Delete(input);
     TaskBuffer.Add(input, newResponse);
     _dbClient.Delete(input);
     _dbClient.Create(newResponse);
 }
Пример #3
0
            public new void Execute(string input)
            {
                var cached = TaskBuffer.Get(input);

                cached.Update("status", "Completed");
                UpdateCacheAndDatabase(input, cached);
            }
Пример #4
0
            public new void Execute(string input)
            {
                var cached = TaskBuffer.Get(input);

                cached.Update("status", "Canceled");
                cached.Add("error", _exception.ToString());
                UpdateCacheAndDatabase(input, cached);
            }
Пример #5
0
 public new void Execute(string input)
 {
     try
     {
         var cached = TaskBuffer.Get(input);
         cached.Update("status", "Published");
         _publisher.SendQueue(input, cached.ToString());
         UpdateCacheAndDatabase(input, cached);
         _complete = new TaskComplete();
         _complete.Execute(input);
     }
     catch (Exception e)
     {
         TaskCancel cancel = new TaskCancel(e);
         cancel.Execute(input);
     }
 }
Пример #6
0
 public new void Execute(string input)
 {
     try
     {
         _buffer = new Dictionary <string, string>();
         _buffer.Add("area", input);
         _buffer.Add("created", DateTime.UtcNow.Ticks.ToString());
         _buffer.Add("geolocation", input);
         _buffer.Add("status", "Created");
         var created = new ApiResponse(_buffer);
         _dbClient.Create(created);
         TaskBuffer.Add(input, created);
         request = new TaskRequest();
         request.Execute(input);
     }
     catch (Exception e)
     {
         TaskCancel cancel = new TaskCancel(e);
         cancel.Execute(input);
     }
 }