public LayoutPartCameraViewModel(LayoutPartReferenceProperties properties) { if (properties != null) { Camera = ClientManager.SystemConfiguration.Cameras.FirstOrDefault(item => item.UID == properties.ReferenceUID); } }
public CameraDetailsViewModel(Camera camera) { ShowCommand = new RelayCommand(OnShow); SetPtzPresetCommand = new RelayCommand(OnSetPtzPreset, CanSetPtzPreset); AlarmSetChannelCommand = new RelayCommand(OnAlarmSetChannel, CanAlarmSetChannel); AlarmDisableChannelCommand = new RelayCommand(OnAlarmDisableChannel, CanAlarmDisableChannel); Camera = camera; Title = Camera.PresentationName; Camera.StatusChanged += OnCameraStatusChanged; Presets = new ObservableCollection<int>(); for (int i = 0; i < camera.CountPresets; i++) { Presets.Add(i + 1); } SelectedPreset = Presets.FirstOrDefault(); if (Camera != null) { Width = Camera.ShowDetailsWidth; Height = Camera.ShowDetailsHeight; MarginLeft = Camera.ShowDetailsMarginLeft; MarginTop = Camera.ShowDetailsMarginTop; IsRecordOnline = Camera.IsRecordOnline; IsOnGuard = Camera.IsOnGuard; Status = Camera.Status; PlanLinks = new PlanLinksViewModel(Camera); } }
public RviState(Camera camera, RviStatus rviStatus, bool isOnGuard, bool isRecordOnline, List<RviStream> rviStreams) { CameraUid = camera.UID; Status = rviStatus; IsOnGuard = isOnGuard; IsRecordOnline = isRecordOnline; RviStreams = rviStreams; }
public CameraDetailsViewModel(Camera camera) { Title = "Свойства камеры"; Camera = camera; RviStreams = new List<RviStreamViewModel>(); camera.RviStreams.ForEach(rviStream => RviStreams.Add(new RviStreamViewModel(rviStream))); SelectedRviStream = RviStreams.FirstOrDefault(x => x.StreamNumber == camera.SelectedRviStreamNumber); ShowDetailsWidth = Camera.ShowDetailsWidth.ToString(); ShowDetailsHeight = Camera.ShowDetailsHeight.ToString(); ShowDetailsMarginLeft = Camera.ShowDetailsMarginLeft.ToString(); ShowDetailsMarginTop = Camera.ShowDetailsMarginTop.ToString(); _canPlay = true; PlayCommand = new RelayCommand(OnPlay, CanPlay); }
public CameraSelectionViewModel(Camera camera) { Title = "Выбор видеоустройства"; Cameras = new ObservableCollection<CameraViewModel>(); foreach (var cam in ClientManager.SystemConfiguration.Cameras) { var cameraViewModel = new CameraViewModel(cam); Cameras.Add(cameraViewModel); } if (camera != null) SelectedCamera = Cameras.FirstOrDefault(x => x.Camera.UID == camera.UID); if (SelectedCamera == null) SelectedCamera = Cameras.FirstOrDefault(); }
public void UpdateLayoutPart(Camera selectedCamera) { CameraTitle = selectedCamera == null ? Title : selectedCamera.PresentationName; }
public JournalItemViewModel(JournalItem journalItem) { JournalItem = journalItem; if (journalItem.JournalEventNameType != JournalEventNameType.NULL) { Name = EventDescriptionAttributeHelper.ToName(journalItem.JournalEventNameType); } if (journalItem.JournalEventDescriptionType != JournalEventDescriptionType.NULL) { Description = EventDescriptionAttributeHelper.ToName(journalItem.JournalEventDescriptionType); if (!string.IsNullOrEmpty(journalItem.DescriptionText)) Description += " " + journalItem.DescriptionText; } else { Description = journalItem.DescriptionText; } IsExistsInConfig = true; ObjectImageSource = "/Controls;component/Images/Blank.png"; StateClass = EventDescriptionAttributeHelper.ToStateClass(journalItem.JournalEventNameType); switch (JournalItem.JournalObjectType) { case JournalObjectType.GKDevice: Device = GKManager.Devices.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Device != null) { ObjectName = Device.PresentationName; ObjectImageSource = Device.Driver.ImageSource; } break; case JournalObjectType.GKZone: Zone = GKManager.Zones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Zone != null) { ObjectName = Zone.PresentationName; } ObjectImageSource = "/Controls;component/Images/Zone.png"; break; case JournalObjectType.GKDirection: Direction = GKManager.Directions.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Direction != null) { ObjectName = Direction.PresentationName; } ObjectImageSource = "/Controls;component/Images/Blue_Direction.png"; break; case JournalObjectType.GKPumpStation: PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (PumpStation != null) { ObjectName = PumpStation.PresentationName; } ObjectImageSource = "/Controls;component/Images/BPumpStation.png"; break; case JournalObjectType.GKMPT: MPT = GKManager.MPTs.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (MPT != null) { ObjectName = MPT.PresentationName; } ObjectImageSource = "/Controls;component/Images/BMPT.png"; break; case JournalObjectType.GKDelay: Delay = GKManager.Delays.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Delay != null) { ObjectName = Delay.PresentationName; ObjectImageSource = "/Controls;component/Images/Delay.png"; } else { Delay = GKManager.AutoGeneratedDelays.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Delay != null) { ObjectName = Delay.PresentationName; if (Delay.PumpStationUID != Guid.Empty) { PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == Delay.PumpStationUID); if (PumpStation != null) { ObjectName += " (" + PumpStation.PresentationName + ")"; ObjectImageSource = "/Controls;component/Images/BPumpStation.png"; break; } } } } break; case JournalObjectType.GKPim: Pim = GKManager.AutoGeneratedPims.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Pim != null) { ObjectName = Pim.PresentationName; ObjectImageSource = "/Controls;component/Images/Pim.png"; if (Pim.PumpStationUID != Guid.Empty) { PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == Pim.PumpStationUID); if (PumpStation != null) { ObjectName += " (" + PumpStation.PresentationName + ")"; ObjectImageSource = "/Controls;component/Images/BPumpStation.png"; break; } } if (Pim.MPTUID != Guid.Empty) { MPT = GKManager.MPTs.FirstOrDefault(x => x.UID == Pim.MPTUID); if (MPT != null) { ObjectName += " (" + MPT.PresentationName + ")"; ObjectImageSource = "/Controls;component/Images/BMPT.png"; break; } } } break; case JournalObjectType.GKGuardZone: GuardZone = GKManager.GuardZones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GuardZone != null) { ObjectName = GuardZone.PresentationName; } ObjectImageSource = "/Controls;component/Images/Zone.png"; break; case JournalObjectType.GKSKDZone: GKSKDZone = GKManager.SKDZones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GKSKDZone != null) { ObjectName = GKSKDZone.PresentationName; } ObjectImageSource = "/Controls;component/Images/Zone.png"; break; case JournalObjectType.GKDoor: GKDoor = GKManager.Doors.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GKDoor != null) { ObjectName = GKDoor.PresentationName; } ObjectImageSource = "/Controls;component/Images/Door.png"; break; case JournalObjectType.VideoDevice: Camera = ClientManager.SystemConfiguration.Cameras.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Camera != null) { ObjectName = Camera.Name; } ObjectImageSource = "/Controls;component/Images/Camera.png"; break; case JournalObjectType.None: case JournalObjectType.GKUser: ObjectName = JournalItem.ObjectName != null ? JournalItem.ObjectName : ""; break; } if (ObjectName == null) { ObjectName = JournalItem.ObjectName; IsExistsInConfig = false; } if (ObjectName == null) ObjectName = "<Нет в конфигурации>"; }
public JournalItemViewModel(JournalItem journalItem) { ShowObjectCommand = new RelayCommand(OnShowObject, CanShowObject); ShowPropertiesCommand = new RelayCommand(OnShowProperties, CanShowProperties); ShowOnPlanCommand = new RelayCommand(OnShowOnPlan, CanShowOnPlan); ShowObjectOrPlanCommand = new RelayCommand(OnShowObjectOrPlan); ShowVideoCommand = new RelayCommand(OnShowVideo, CanShowVideo); JournalItem = journalItem; if (journalItem.JournalEventNameType != JournalEventNameType.NULL) { Name = EventDescriptionAttributeHelper.ToName(journalItem.JournalEventNameType); } if (journalItem.JournalEventDescriptionType != JournalEventDescriptionType.NULL) { Description = EventDescriptionAttributeHelper.ToName(journalItem.JournalEventDescriptionType); if (!string.IsNullOrEmpty(journalItem.DescriptionText)) Description += " " + journalItem.DescriptionText; } else { Description = journalItem.DescriptionText; } IsExistsInConfig = true; _isVideoExist = journalItem.VideoUID != Guid.Empty; ObjectImageSource = JournalItem.GetImageSource(journalItem.JournalObjectType); StateClass = EventDescriptionAttributeHelper.ToStateClass(journalItem.JournalEventNameType); switch (JournalItem.JournalObjectType) { case JournalObjectType.GKDevice: Device = GKManager.Devices.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Device != null) { ObjectName = Device.GetGKDescriptorName(GKManager.DeviceConfiguration.GKNameGenerationType); ObjectImageSource = Device.Driver.ImageSource; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKDeviceEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKDeviceDetailsEvent>(); } else ObjectImageSource = "/Controls;component/Images/Blank.png"; break; case JournalObjectType.GKZone: Zone = GKManager.Zones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Zone != null) { ObjectName = Zone.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKZoneEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKZoneDetailsEvent>(); } break; case JournalObjectType.GKDirection: Direction = GKManager.Directions.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Direction != null) { ObjectName = Direction.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKDirectionEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKDirectionDetailsEvent>(); } break; case JournalObjectType.GKPumpStation: PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (PumpStation != null) { ObjectName = PumpStation.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationDetailsEvent>(); } break; case JournalObjectType.GKMPT: MPT = GKManager.MPTs.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (MPT != null) { ObjectName = MPT.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKMPTEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKMPTDetailsEvent>(); } break; case JournalObjectType.GKDelay: Delay = GKManager.Delays.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Delay != null) { ObjectName = Delay.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKDelayEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKDelayDetailsEvent>(); } else { Delay = GKManager.AutoGeneratedDelays.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Delay != null) { ObjectName = Delay.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKDelayEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKDelayDetailsEvent>(); if (Delay.PumpStationUID != Guid.Empty) { PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == Delay.PumpStationUID); if (PumpStation != null) { ObjectName += " (" + PumpStation.PresentationName + ")"; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationDetailsEvent>(); ObjectImageSource = "/Controls;component/Images/BPumpStation.png"; break; } } } } break; case JournalObjectType.GKPim: Pim = GKManager.AutoGeneratedPims.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Pim != null) { ObjectName = Pim.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKPimEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKPIMDetailsEvent>(); if (Pim.PumpStationUID != Guid.Empty) { PumpStation = GKManager.PumpStations.FirstOrDefault(x => x.UID == Pim.PumpStationUID); if (PumpStation != null) { ObjectName += " (" + PumpStation.PresentationName + ")"; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKPumpStationDetailsEvent>(); ObjectImageSource = "/Controls;component/Images/BPumpStation.png"; break; } } if (Pim.MPTUID != Guid.Empty) { MPT = GKManager.MPTs.FirstOrDefault(x => x.UID == Pim.MPTUID); if (MPT != null) { ObjectName += " (" + MPT.PresentationName + ")"; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKMPTEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKMPTDetailsEvent>(); ObjectImageSource = "/Controls;component/Images/BMPT.png"; break; } } } break; case JournalObjectType.GKGuardZone: GuardZone = GKManager.GuardZones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GuardZone != null) { ObjectName = GuardZone.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKGuardZoneEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKGuardZoneDetailsEvent>(); } break; case JournalObjectType.GKSKDZone: GKSKDZone = GKManager.SKDZones.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GKSKDZone != null) { ObjectName = GKSKDZone.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKSKDZoneEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKSKDZoneDetailsEvent>(); } break; case JournalObjectType.GKDoor: GKDoor = GKManager.Doors.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (GKDoor != null) { ObjectName = GKDoor.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowGKDoorEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowGKDoorDetailsEvent>(); } break; case JournalObjectType.Camera: Camera = ClientManager.SystemConfiguration.Cameras.FirstOrDefault(x => x.UID == JournalItem.ObjectUID); if (Camera != null) { ObjectName = Camera.PresentationName; ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowCameraEvent>(); ShowObjectDetailsEvent = ServiceFactory.Events.GetEvent<ShowCameraDetailsEvent>(); } break; case JournalObjectType.None: case JournalObjectType.GKUser: ObjectName = JournalItem.ObjectName != null ? JournalItem.ObjectName : ""; break; } if (ObjectName == null) { ObjectName = JournalItem.ObjectName; IsExistsInConfig = false; } if (ObjectName == null) ObjectName = "<Нет в конфигурации>"; if (JournalItem.JournalSubsystemType == JournalSubsystemType.SKD) { IsExistsInConfig = true; if ((int)JournalItem.JournalObjectType >= 11 && (int)JournalItem.JournalObjectType <= 19) ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowJournalHREvent>(); if ((int)JournalItem.JournalObjectType >= 20 && (int)JournalItem.JournalObjectType <= 26) ShowObjectEvent = ServiceFactory.Events.GetEvent<ShowJournalTimeTrackingEvent>(); } }
public CameraViewModel(Camera camera) { Camera = camera; }