public JournalMergeViewModel(FS2JournalItemsCollection fs2JournalItemsCollection) { Title = "Сравнение журналов"; FireJournalItems = new ObservableCollection<MergeJournalItem>(); GuardJournalItems = new ObservableCollection<MergeJournalItem>(); ParseFromFile(); if (fs2JournalItemsCollection != null) { Compare(fs2JournalItemsCollection); } }
public static FS2JournalItemsCollection GetJournalItemsCollection(Device device) { var hasGuardJournal = device.Driver.DriverType == DriverType.Rubezh_2OP || device.Driver.DriverType == DriverType.USB_Rubezh_2OP; var stageCount = hasGuardJournal ? 2 : 1; var result = new FS2JournalItemsCollection(); result.FireJournalItems = GetJournalItems(device, 0, 1, stageCount); if (hasGuardJournal) { result.SecurityJournalItems = GetJournalItems(device, 2, 2, stageCount); } result.CreationDateTime = DateTime.Now; return result; }
void Compare(FS2JournalItemsCollection fs2JournalItemsCollection) { for (int i = 0; i < FireJournalItems.Count; i++) { var fs1JournalItem = FireJournalItems[i]; var fs2JournalItem = fs2JournalItemsCollection.FireJournalItems[i]; fs1JournalItem.Compare(fs2JournalItem); } for (int i = 0; i < GuardJournalItems.Count; i++) { var fs1JournalItem = GuardJournalItems[i]; var fs2JournalItem = fs2JournalItemsCollection.SecurityJournalItems[i]; fs1JournalItem.Compare(fs2JournalItem); } }