Exemple #1
0
        private static async Task GetLatest(bool rebuildTable)
        {
            if (rebuildTable)
            {
                List <Service> onlineServiceList = await HtmlHelper.ParseAwsServices("https://aws.amazon.com/products/");

                List <Service> master = ServiceListHelper.OrderServiceListByShortName(onlineServiceList);

                await DynamoHelper.RebuildTable(master);

                List <Service> serviceList = await DynamoHelper.QueryTable();

                List <Tags> tagList = await HtmlHelper.ParseBlogTags("https://msimpson.co.nz/tags/aws/");

                List <TableEntry> tableList = MarkdownHelper.BuildTable(serviceList, tagList);

                MarkdownHelper.BuildMarkdown(tableList);
            }
            else
            {
                List <Service> serviceList = await DynamoHelper.QueryTable();

                List <Tags> tagList = await HtmlHelper.ParseBlogTags("https://msimpson.co.nz/tags/aws/");

                List <TableEntry> tableList = MarkdownHelper.BuildTable(serviceList, tagList);

                MarkdownHelper.BuildMarkdown(tableList);
            }
        }
Exemple #2
0
        public async Task IntegrationTest()
        {
            List <Service> onlineServiceList = await HtmlHelper.ParseAwsServices("https://aws.amazon.com/products/");

            System.Console.WriteLine($"Query online list: {onlineServiceList.Count()}");
            List <Service> masterServiceList = await DynamoHelper.QueryTable();

            List <Service> orderedOnlineServiceList = ServiceListHelper.OrderServiceListById(onlineServiceList);
            List <Service> orderedMasterServiceList = ServiceListHelper.OrderServiceListById(masterServiceList);
            List <string>  masterListId             = orderedMasterServiceList.Select(x => x.id).ToList();
            List <string>  onlineListId             = orderedOnlineServiceList.Select(x => x.id).ToList();
            List <string>  updateList = onlineListId.Except(masterListId).ToList();
            List <string>  removeList = masterListId.Except(onlineListId).ToList();

            System.Console.WriteLine();
        }
Exemple #3
0
        public static List <SendMessageRequest> GenerateNotification(List <Service> onlineServiceList, List <Service> masterServiceList, string queueUrl)
        {
            List <Service> orderedOnlineServiceList = ServiceListHelper.OrderServiceListById(onlineServiceList);
            List <Service> orderedMasterServiceList = ServiceListHelper.OrderServiceListById(masterServiceList);
            List <string>  masterListId             = orderedMasterServiceList.Select(x => x.id).ToList();
            List <string>  onlineListId             = orderedOnlineServiceList.Select(x => x.id).ToList();
            List <string>  updateList = onlineListId.Except(masterListId).ToList();
            List <string>  removeList = masterListId.Except(onlineListId).ToList();

            List <SendMessageRequest> messageList = new List <SendMessageRequest>();

            if (updateList.Count == 0 && removeList.Count == 0)
            {
                var request = BuildMessage("no-update", "no-update", queueUrl);
                messageList.Add(request);
            }
            else
            {
                if (updateList.Count > 0)
                {
                    foreach (var svc in updateList)
                    {
                        var messageBody = JsonConvert.SerializeObject(orderedOnlineServiceList.Where(x => x.id == svc).FirstOrDefault());
                        var request     = BuildMessage("service-added", messageBody, queueUrl);
                        messageList.Add(request);
                    }
                }

                if (removeList.Count > 0)
                {
                    foreach (var svc in removeList)
                    {
                        var messageBody = JsonConvert.SerializeObject(orderedMasterServiceList.Where(x => x.id == svc).FirstOrDefault());
                        var request     = BuildMessage("service-changed", messageBody, queueUrl);
                        messageList.Add(request);
                    }
                }
            }
            return(messageList);
        }