public static void AddJournalMessage(JournalEventNameType journalEventNameType, string objectName, Guid? objectUID, Guid? clientUID, JournalEventDescriptionType journalEventDescriptionType = JournalEventDescriptionType.NULL, JournalObjectType journalObjectType = JournalObjectType.None) { var journalItem = new JournalItem() { SystemDateTime = DateTime.Now, JournalEventNameType = journalEventNameType, JournalEventDescriptionType = journalEventDescriptionType, JournalSubsystemType = EventDescriptionAttributeHelper.ToSubsystem(journalEventNameType), JournalObjectType = journalObjectType, ObjectUID = objectUID != null ? objectUID.Value : Guid.Empty, ObjectName = objectName, UserName = GetUserName(clientUID) }; AddCommonJournalItems(new List<JournalItem>() { journalItem }, clientUID); }
static JournalItem CreateJournalItem(Guid objectUid, string objectName, JournalObjectType journalObjectType, JournalEventNameType journalEventNameType, string desriptionText = null) { return new JournalItem { SystemDateTime = DateTime.Now, DeviceDateTime = null, JournalObjectType = journalObjectType, JournalEventNameType = journalEventNameType, JournalSubsystemType = JournalSubsystemType.Video, DescriptionText = desriptionText, JournalEventDescriptionType = JournalEventDescriptionType.NULL, ObjectUID = objectUid, ObjectName = objectName, UserName = string.Empty, }; }
/// <summary> /// Определяет ImageSource на основе JournalObjectType, для устройств, задержек и ПИМ, необходимо изменить на основе ObjectUid /// </summary> /// <returns></returns> public static string GetImageSource(JournalObjectType journalObjectType) { switch (journalObjectType) { case JournalObjectType.GKDevice: return "/Controls;component/GKIcons/RSR2_RM_1.png"; case JournalObjectType.GKZone: return "/Controls;component/Images/Zone.png"; case JournalObjectType.GKDirection: return "/Controls;component/Images/Blue_Direction.png"; case JournalObjectType.GKPumpStation: return "/Controls;component/Images/BPumpStation.png"; case JournalObjectType.GKMPT: return "/Controls;component/Images/BMPT.png"; case JournalObjectType.GKDelay: return "/Controls;component/Images/Delay.png"; case JournalObjectType.GKPim: return "/Controls;component/Images/Pim.png"; case JournalObjectType.GKGuardZone: return "/Controls;component/Images/GuardZone.png"; case JournalObjectType.GKSKDZone: return "/Controls;component/Images/SKDZone.png"; case JournalObjectType.GKDoor: return "/Controls;component/Images/Door.png"; case JournalObjectType.Camera: return "/Controls;component/Images/Camera.png"; case JournalObjectType.AccessTemplate: return "/Controls;component/Images/AccessTemplate.png"; case JournalObjectType.AdditionalColumn: return "/Controls;component/Images/AdditionalColumn.png"; case JournalObjectType.Card: return "/Controls;component/Images/Card.png"; case JournalObjectType.DayInterval: return "/Controls;component/Images/Interval.png"; case JournalObjectType.Department: return "/Controls;component/Images/Department.png"; case JournalObjectType.Employee: return "/Controls;component/Images/Employee.png"; case JournalObjectType.GKDayShedule: return "/Controls;component/Images/Shedule.png"; case JournalObjectType.GKShedule: return "/Controls;component/Images/Shedule.png"; case JournalObjectType.Holiday: return "/Controls;component/Images/Holiday.png"; case JournalObjectType.Organisation: return "/Controls;component/Images/Organisation.png"; case JournalObjectType.PassCardTemplate: return "/Controls;component/Images/BPassCardDesigner.png"; case JournalObjectType.Position: return "/Controls;component/Images/Position.png"; case JournalObjectType.Schedule: return "/Controls;component/Images/Shedule.png"; case JournalObjectType.ScheduleScheme: return "/Controls;component/Images/Month.png"; default: return "/Controls;component/Images/Blank.png"; } }
static bool GetObjectInfo(Guid objectUID, out string objectName, out JournalObjectType journalObjectType) { var device = GKManager.DeviceConfiguration.Devices.FirstOrDefault(x => x.UID == objectUID); if (device != null) { objectName = device.Name; journalObjectType = JournalObjectType.GKDevice; return true; } var zone = GKManager.DeviceConfiguration.Zones.FirstOrDefault(x => x.UID == objectUID); if (zone != null) { objectName = zone.Name; journalObjectType = JournalObjectType.GKZone; return true; } var guardZone = GKManager.DeviceConfiguration.GuardZones.FirstOrDefault(x => x.UID == objectUID); if (guardZone != null) { objectName = guardZone.Name; journalObjectType = JournalObjectType.GKGuardZone; return true; } var camera = ConfigurationCashHelper.SystemConfiguration.Cameras.FirstOrDefault(x => x.UID == objectUID); if (camera != null) { objectName = camera.Name; journalObjectType = JournalObjectType.Camera; return true; } var direction = GKManager.DeviceConfiguration.Directions.FirstOrDefault(x => x.UID == objectUID); if (direction != null) { objectName = direction.Name; journalObjectType = JournalObjectType.GKDirection; return true; } var delay = GKManager.DeviceConfiguration.Delays.FirstOrDefault(x => x.UID == objectUID); if (delay != null) { objectName = delay.Name; journalObjectType = JournalObjectType.GKDelay; return true; } var pumpStation = GKManager.DeviceConfiguration.PumpStations.FirstOrDefault(x => x.UID == objectUID); if (pumpStation != null) { objectName = pumpStation.Name; journalObjectType = JournalObjectType.GKPumpStation; return true; } var mpt = GKManager.DeviceConfiguration.MPTs.FirstOrDefault(x => x.UID == objectUID); if (mpt != null) { objectName = mpt.Name; journalObjectType = JournalObjectType.GKMPT; return true; } var door = GKManager.Doors.FirstOrDefault(x => x.UID == objectUID); if (door != null) { objectName = door.Name; journalObjectType = JournalObjectType.GKDoor; return true; } var organisations = ProcedureExecutionContext.GetOrganisations(Guid.Empty); var organisation = organisations == null ? null : organisations.FirstOrDefault(x => x.UID == objectUID); if (organisation != null) { objectName = organisation.Name; journalObjectType = JournalObjectType.None; return true; } objectName = ""; journalObjectType = JournalObjectType.None; return false; }