public HistoryWindow(Interlocutor interlocutor, IModelContext context) { InitializeComponent(); _context = context; this.DataContext = this; Interlocutor = interlocutor; var history = new MessageRepository().LoadHistory(interlocutor) ?? new History { InterlocutorId = interlocutor.Id, Messages = new List<Message>() }; HistoryView = new ObservableCollection<HistoryView>(); HistoryMessages = new RichTextBox(new FlowDocument()); HistoryMessages.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; HistoryMessages.IsReadOnly = true; var monthGroups = history.Messages .OrderByDescending(note => note.Date) .GroupBy(key => key.Date.ToString("MMMM yyyy")); foreach (var monthGroup in monthGroups) { HistoryView.Add(new HistoryView { Month = monthGroup.Key, ActiveDates = new ObservableCollection<DayMessageView>( monthGroup.GroupBy(key => key.Date.ToShortDateString()) .Select(dayGroup => new DayMessageView { Day = dayGroup.Key, Messages = new ObservableCollection<Message>(dayGroup) })) }); } }
private void SaveHistory() { var messageRepository = new MessageRepository(); messageRepository.SaveHistory(_context.Account); }