void OnNewJournal(List<JournalItem> journalItems) { foreach (var journalItem in journalItems) { if (FilterRecord(journalItem) == false) continue; var journalItemViewModel = new JournalItemViewModel(journalItem); if (JournalItems.Count > 0) JournalItems.Insert(0, journalItemViewModel); else JournalItems.Add(journalItemViewModel); if (JournalItems.Count > JournalFilter.LastRecordsCount) JournalItems.RemoveAt(JournalFilter.LastRecordsCount); } if (SelectedJournal == null) SelectedJournal = JournalItems.FirstOrDefault(); }
public ReportData GetData() { ReportArchiveFilter.LoadArchive(); var data = new ReportData(); data.ReportDocumentValues.Add("StartDate", ReportArchiveFilter.StartDate); data.ReportDocumentValues.Add("EndDate", ReportArchiveFilter.EndDate); var table = new DataTable("Journal"); table.Columns.Add("DeviceDateTime"); table.Columns.Add("SystemDateTime"); table.Columns.Add("Name"); table.Columns.Add("Description"); table.Columns.Add("ObjectName"); foreach (var journalItem in ReportArchiveFilter.JournalItems) { var journalItemViewModel = new JournalItemViewModel(journalItem); var objectName = ""; if (journalItemViewModel.Device != null) { objectName = journalItemViewModel.Device.PresentationName; } if (journalItemViewModel.Zone != null) { objectName = journalItemViewModel.Zone.PresentationName; } if (journalItemViewModel.Direction != null) { objectName = journalItemViewModel.Direction.PresentationName; } table.Rows.Add( journalItem.DeviceDateTime, journalItem.SystemDateTime, journalItem.Name, journalItem.Description, objectName); } data.DataTables.Add(table); PdfProvider.ReportData = data; return data; }
public static void OnNewJournal(List<JournalItem> journalItems) { if (ClientSettings.AutoActivationSettings.IsAutoActivation) { if ((Application.Current.MainWindow != null) && (!Application.Current.MainWindow.IsActive)) { Application.Current.MainWindow.WindowState = System.Windows.WindowState.Maximized; Application.Current.MainWindow.Activate(); } } if (ClientSettings.AutoActivationSettings.IsPlansAutoActivation) { foreach (var journalItem in journalItems) { var journalItemViewModel = new JournalItemViewModel(journalItem); var globalStateClass = XManager.GetMinStateClass(); if (journalItem.StateClass <= globalStateClass || (globalStateClass != XStateClass.Fire1 && globalStateClass != XStateClass.Fire2 && globalStateClass != XStateClass.Attention)) { switch (journalItem.JournalItemType) { case JournalItemType.Device: var device = XManager.Devices.FirstOrDefault(x => x.UID == journalItem.ObjectUID); if (device != null) { var existsOnPlan = FiresecManager.PlansConfiguration.AllPlans.Any(x => { return x.ElementXDevices.Any(y => y.XDeviceUID == device.UID); }); if (existsOnPlan) { ServiceFactory.Events.GetEvent<ShowXDeviceOnPlanEvent>().Publish(device); } } break; case JournalItemType.Zone: var zone = XManager.Zones.FirstOrDefault(x => x.UID == journalItem.ObjectUID); if (zone != null) { var existsOnPlan = FiresecManager.PlansConfiguration.AllPlans.Any(x => { return x.ElementRectangleXZones.Any(y => y.ZoneUID == zone.UID); }); if (existsOnPlan) { ServiceFactory.Events.GetEvent<ShowXZoneOnPlanEvent>().Publish(zone); } existsOnPlan = FiresecManager.PlansConfiguration.AllPlans.Any(x => { return x.ElementPolygonXZones.Any(y => y.ZoneUID == zone.UID); }); if (existsOnPlan) { ServiceFactory.Events.GetEvent<ShowXZoneOnPlanEvent>().Publish(zone); } } break; case JournalItemType.Direction: var direction = XManager.Directions.FirstOrDefault(x => x.UID == journalItem.ObjectUID); if (direction != null) { var existsOnPlan = FiresecManager.PlansConfiguration.AllPlans.Any(x => { return x.ElementRectangleXDirections.Any(y => y.DirectionUID == direction.UID); }); if (existsOnPlan) { ServiceFactory.Events.GetEvent<ShowXDirectionOnPlanEvent>().Publish(direction); } existsOnPlan = FiresecManager.PlansConfiguration.AllPlans.Any(x => { return x.ElementPolygonXDirections.Any(y => y.DirectionUID == direction.UID); }); if (existsOnPlan) { ServiceFactory.Events.GetEvent<ShowXDirectionOnPlanEvent>().Publish(direction); } } break; } } } } }
public ConfirmationViewModel(JournalItem journalItem) { Title = "Подтверждение критических событий"; ConfirmCommand = new RelayCommand(OnConfirm); JournalItemViewModel = new JournalItemViewModel(journalItem); }
void OnRead() { if (StartIndex > EndIndex) { IsNotEmpty = false; return; } JournalItems.Clear(); try { LoadingService.Show("Чтение записей журнала", "Чтение записей журнала", 2 + EndIndex - StartIndex, true); for (int i = StartIndex; i <= EndIndex; i++) { if (LoadingService.IsCanceled) break; LoadingService.DoStep("Чтение записи " + i); var result = FiresecManager.FiresecService.GKReadJournalItem(Device, i); if (result.HasError) { MessageBoxService.Show(result.Error); break; } var journalItemViewModel = new JournalItemViewModel(result.Result); JournalItems.Add(journalItemViewModel); } IsNotEmpty = true; } finally { LoadingService.Close(); } }
void OnRead() { if (EndIndex < StartIndex) { MessageBoxService.ShowError("Конечный номер записи меньше начального"); IsNotEmpty = false; return; } if (StartIndex < 1 || EndIndex > TotalCount) { MessageBoxService.ShowError("Номер записи должен быть в диапазоне от 1 до " + TotalCount); IsNotEmpty = false; return; } JournalItems.Clear(); try { LoadingService.Show("Чтение записей журнала", "Чтение записей журнала", 2 + EndIndex - StartIndex, true); for (int i = StartIndex; i <= EndIndex; i++) { if (LoadingService.IsCanceled) break; LoadingService.DoStep("Чтение записи " + i); var result = ClientManager.RubezhService.GKReadJournalItem(Device, i); if (result.HasError) { MessageBoxService.Show(result.Error); break; } var journalItemViewModel = new JournalItemViewModel(result.Result); JournalItems.Add(journalItemViewModel); } IsNotEmpty = true; } finally { LoadingService.Close(); } }
void OnGetFilteredArchiveCompleted(IEnumerable<JournalItem> journalItems) { JournalItems = new ObservableCollection<JournalItemViewModel>(); foreach (var journalItem in journalItems) { var journalItemViewModel = new JournalItemViewModel(journalItem); JournalItems.Add(journalItemViewModel); } SelectedJournal = JournalItems.FirstOrDefault(); Status = "Всего записей " + journalItems.Count().ToString(); }
void OnGetFilteredArchiveCompleted(IEnumerable<JournalItem> journalRecords) { JournalItems = new ObservableCollection<JournalItemViewModel>(); foreach (var journalRecord in journalRecords) { var journalRecordViewModel = new JournalItemViewModel(journalRecord); JournalItems.Add(journalRecordViewModel); } SelectedJournal = JournalItems.FirstOrDefault(); Status = null; }