From 3aa0edff0ff8e9e451353c9ea805f180a37065f3 Mon Sep 17 00:00:00 2001 From: Sean Date: Thu, 20 Jun 2024 09:00:50 -0400 Subject: [PATCH] Add market holiday notification to feed. --- ViewModels/FloatingWindowViewModel.cs | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ViewModels/FloatingWindowViewModel.cs b/ViewModels/FloatingWindowViewModel.cs index 206e8af..449df67 100644 --- a/ViewModels/FloatingWindowViewModel.cs +++ b/ViewModels/FloatingWindowViewModel.cs @@ -128,6 +128,9 @@ namespace TradeBlotter.ViewModels bool itemsAdded=false; List feedItems=new List(); List openSymbols=new List(); + + List holidayStatusFeedItems=HolidayStatusToFeedItems(); + if(null!=holidayStatusFeedItems){feedItems.AddRange(holidayStatusFeedItems);itemsAdded=holidayStatusFeedItems.Count>0?true:itemsAdded;} List networkStatusFeedItems=NetworkStatusToFeedItems(); if(null!=networkStatusFeedItems){feedItems.AddRange(networkStatusFeedItems);itemsAdded=networkStatusFeedItems.Count>0?true:itemsAdded;} @@ -189,6 +192,36 @@ namespace TradeBlotter.ViewModels return null; } } + + private List HolidayStatusToFeedItems() + { + List feedItems=new List(); + + try + { + DateTime today=DateTime.Now.Date; + DateGenerator dateGenerator = new DateGenerator(); + if(!dateGenerator.IsHoliday(today.Date))return feedItems; + String holidayDescription = HolidayDA.GetHolidayDescription(today); + + FeedItem feedItem=new FeedItem(); + feedItem.Description="Market is closed today - "+holidayDescription+"."; + feedItem.Title=String.Format("Market is closed today for "+holidayDescription+"."); + feedItem.Link="http://192.168.1.1/"; + feedItem.Source="Holiday"; + feedItem.PubDate=DateTime.Now.ToShortDateString()+" "+Utility.DateTimeToStringHHMMSS(DateTime.Now); + feedItem.Guid="Holiday"+feedItem.PubDate; + feedItem.BrushAssigment=FeedBrushes.BrushColor.Red; + feedItems.Add(feedItem); + return feedItems; + } + catch(Exception exception) + { + MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString()); + return null; + } + } + private List PremarketToFeedItems() { List feedItems=new List();