Ejemplo n.º 1
0
        public static async Task <EndpointItemCheck> ProcessItemTaskAsync(EndpointItem item, Checker.CheckerClient client)
        {
            EndpointItemCheck check;
            var _request = new EndpointCheckRequest()
            {
                Content = JsonSerializer.Serialize(item)
            };

            try
            {
                var _reply = await client.CheckEndpointAsync(_request);

                check = JsonSerializer.Deserialize <EndpointItemCheck>(_reply.Content);
            }
            catch (Exception e)
            {
                check = new EndpointItemCheck()
                {
                    Endpoint = item,
                    Message  = e.Message
                };
            }

            return(check);
        }
        Handler CreateSendingHandler(StoredMessage message, EndpointItem sendingEndpoint)
        {
            var handler = new Handler(message.GetHeaderByKey(MessageHeaderKeys.RelatedTo, ConversationStartHandlerName), container)
            {
                State    = HandlerState.Success,
                Endpoint = sendingEndpoint
            };

            return(handler);
        }
        Handler CreateProcessingHandler(StoredMessage message, EndpointItem processingEndpoint)
        {
            var handler = new Handler(message.MessageId, container)
            {
                Endpoint = processingEndpoint
            };

            UpdateProcessingHandler(handler, message, processingEndpoint);

            return(handler);
        }
            public EndpointItem Get(EndpointItem prototype)
            {
                var key = MakeKey(prototype);

                var candidate = store[key].Where(x => x.Version != null).FirstOrDefault(x => x.Version == prototype.Version);

                if (candidate != null)
                {
                    return(candidate);
                }

                return(store[key].FirstOrDefault(x => x.Version == prototype.Version)
                       ?? store[key].FirstOrDefault());
            }
Ejemplo n.º 5
0
        public static IEnumerable <Embed> BuildEmbed(EndpointItem item)
        {
            var builder = new EmbedBuilder()
            {
                Title        = item.Title,
                ThumbnailUrl = item.ImageUrl,
                Color        = Color.Blue,
                Timestamp    = DateTime.Now
            };

            builder.AddField("Available", $"{item.Available}");
            builder.AddField("Price", $"{item.Price}$");
            builder.AddField("Link", item.PageUrl);

            // (???) SendMessageAsync from Discord API takes IEnumerable Embed, but fails if there's more than one (???)
            return(new List <Embed>()
            {
                builder.Build()
            });
        }
        private async Task <EndpointItem> ProcessEndpoint(EndpointItem endpointItem)
        {
            try
            {
                var endpointrequest = new EndpointRequest
                {
                    Name = endpointItem.Name, IPaddress = endpointItem.IPaddress, Platform = endpointItem.Platform
                };
                var reply = client.CheckEndpointAsync(endpointrequest).ResponseAsync.Result;

                endpointItem.Success   = reply.Success;
                endpointItem.StartTime = DateTime.Parse(reply.StartTime);
                endpointItem.EndTime   = DateTime.Parse(reply.EndTime);
            }
            catch (Exception e)
            {
                endpointItem.Success = false;
            }


            return(endpointItem);
        }
            public void Register(EndpointItem item)
            {
                List <EndpointItem> items;
                var key = MakeKey(item);

                if (!store.TryGetValue(key, out items))
                {
                    items      = new List <EndpointItem>();
                    store[key] = items;
                }

                var existing = items.FirstOrDefault(x => x.Version == item.Version);

                if (existing == null)
                {
                    // Only add null if we haven't seen anything else
                    if (item.Version != null || !items.Any())
                    {
                        items.Add(item);
                    }
                }
            }
Ejemplo n.º 8
0
 Tuple<string, string, string> MakeKey(EndpointItem item) => Tuple.Create(item.FullName, item.Host, item.HostId);
 Tuple <string, string, string> MakeKey(EndpointItem item)
 {
     return(Tuple.Create(item.FullName, item.Host, item.HostId));
 }
Ejemplo n.º 10
0
            public void Position(EndpointItem endpoint)
            {
                var endpointVisual = diagram.GetItemFromContainer(endpoint);
                if (endpointVisual == null)
                {
                    return;
                }

                if (index == 0)
                {
                    firstX = endpointVisual.X;
                }

                if (lastEndpoint != null)
                {
                    endpointVisual.X = firstX + (lastEndpoint.ActualWidth * index);
                }

                if (endpointVisual.ActualHeight < MaxHeight)
                {
                    endpointVisual.Height = MaxHeight;
                }

                endpointVisual.Y = -MaxHeight;

                lastEndpoint = endpointVisual;
                position[endpoint] = index;
                index++;
            }
        void UpdateProcessingHandler(Handler processingHandler, StoredMessage message, EndpointItem processingEndpoint)
        {
            processingHandler.ProcessedAt    = message.ProcessedAt;
            processingHandler.ProcessingTime = message.ProcessingTime;
            processingHandler.Name           = TypeHumanizer.ToName(message.MessageType);

            if (message.InvokedSagas != null && message.InvokedSagas.Count > 0)
            {
                processingHandler.PartOfSaga = string.Join(", ", Array.ConvertAll(message.InvokedSagas.ToArray(), x => TypeHumanizer.ToName(x.SagaType)));
            }

            if (message.Status == MessageStatus.ArchivedFailure || message.Status == MessageStatus.Failed || message.Status == MessageStatus.RepeatedFailure)
            {
                processingHandler.State = HandlerState.Fail;
            }
            else
            {
                processingHandler.State = HandlerState.Success;
            }
        }
Ejemplo n.º 12
0
        Handler CreateSendingHandler(StoredMessage message, EndpointItem sendingEndpoint)
        {
            var handler = new Handler(message.GetHeaderByKey(MessageHeaderKeys.RelatedTo, ConversationStartHandlerName), container)
            {
                State = HandlerState.Success,
                Endpoint = sendingEndpoint
            };

            return handler;
        }
Ejemplo n.º 13
0
 public int GetIndexPosition(EndpointItem endpoint) => position[endpoint];
Ejemplo n.º 14
0
 Tuple <string, string, string> MakeKey(EndpointItem item) => Tuple.Create(item.FullName, item.Host, item.HostId);
Ejemplo n.º 15
0
        Handler CreateProcessingHandler(StoredMessage message, EndpointItem processingEndpoint)
        {
            var handler = new Handler(message.MessageId, container)
            {
                Endpoint = processingEndpoint
            };

            UpdateProcessingHandler(handler, message, processingEndpoint);

            return handler;
        }
Ejemplo n.º 16
0
            public EndpointItem Get(EndpointItem prototype)
            {
                var key = MakeKey(prototype);

                var candidate = store[key].Where(x => x.Version != null).FirstOrDefault(x => x.Version == prototype.Version);

                if (candidate != null)
                {
                    return candidate;
                }

                return store[key].FirstOrDefault(x => x.Version == prototype.Version)
                       ?? store[key].FirstOrDefault();
            }
Ejemplo n.º 17
0
            public void Register(EndpointItem item)
            {
                List<EndpointItem> items;
                var key = MakeKey(item);
                if (!store.TryGetValue(key, out items))
                {
                    items = new List<EndpointItem>();
                    store[key] = items;
                }

                var existing = items.FirstOrDefault(x => x.Version == item.Version);
                if (existing == null)
                {
                    // Only add null if we haven't seen anything else
                    if (item.Version != null || !items.Any())
                    {
                        items.Add(item);
                    }
                }
            }
Ejemplo n.º 18
0
        void UpdateProcessingHandler(Handler processingHandler, StoredMessage message, EndpointItem processingEndpoint)
        {
            processingHandler.ProcessedAt = message.ProcessedAt;
            processingHandler.ProcessingTime = message.ProcessingTime;
            processingHandler.Name = TypeHumanizer.ToName(message.MessageType);

            if (message.InvokedSagas != null && message.InvokedSagas.Count > 0)
            {
                processingHandler.PartOfSaga = string.Join(", ", Array.ConvertAll(message.InvokedSagas.ToArray(), x => TypeHumanizer.ToName(x.SagaType)));
            }

            if (message.Status == MessageStatus.ArchivedFailure || message.Status == MessageStatus.Failed || message.Status == MessageStatus.RepeatedFailure)
            {
                processingHandler.State = HandlerState.Fail;
            }
            else
            {
                processingHandler.State = HandlerState.Success;
            }
        }