Пример #1
0
        private void AccessGrantedEvent(string door, string message)
        {
            int index = message.LastIndexOf("(CU", System.StringComparison.Ordinal);

            if (index > 0)
            {
                string user = message.Substring(index + 3).Remove(message.Substring(index + 3).LastIndexOf(')'));
                Comet.SetEvent(door + ";Разрешён доступ;" + user);
            }
        }
Пример #2
0
        private void DisabledCardEvent(string door, string message)
        {
            int index = message.LastIndexOf("(CU", System.StringComparison.Ordinal);

            if (index > 0)
            {
                string user = message.Substring(index + 3).Remove(message.Substring(index + 3).LastIndexOf(')'));
                Comet.SetEvent(door + ";Попытка прохода по заблокированной карте;" + user + ";" + message.Substring(message.LastIndexOf("site=", System.StringComparison.Ordinal)));
            }
        }
Пример #3
0
        private void InvalidZoneAccessEvent(string door, string message)
        {
            int index = message.LastIndexOf("(CU", System.StringComparison.Ordinal);

            if (index > 0)
            {
                string user = message.Substring(index + 3).Remove(message.Substring(index + 3).LastIndexOf(')'));
                Comet.SetEvent(door + ";Попытка доступа в неразрешенную зону;" + user);
            }
        }
Пример #4
0
        private void OnCELNotificationReceived(UnconfirmedEventNotificationRequest notification)
        {
            string loggedMessage   = string.Empty;
            string message         = notification.MessageText.ToString();
            var    splittedMessage = message.Split(':');

            if (splittedMessage.Length != 2)
            {
                return;
            }

            string messageType   = splittedMessage[0].Remove(splittedMessage[0].LastIndexOf('(')).ToLower();
            var    messageParams = splittedMessage[1].Split(',');

            if (messageParams.Length < 1)
            {
                return;
            }

            if (messageType.Contains("request to exit"))
            {
                loggedMessage = messageParams[0] + ";Запрос выхода";
            }

            if (messageType.Contains("valid access") && messageParams.Length > 1)
            {
                loggedMessage = messageParams[0] + ";Разрешён доступ;" + messageParams[1];
            }

            if (messageType.Contains("invalid zone access") && messageParams.Length > 1)
            {
                loggedMessage = messageParams[0] + ";Попытка доступа в неразрешенную зону;" + messageParams[1];
            }

            if (messageType.Contains("unrecognized card") && messageParams.Length > 2)
            {
                loggedMessage = messageParams[0] + ";Неизвесная карта;" + messageParams[2];
            }

            if (messageType.Contains("disabled card") && messageParams.Length > 2)
            {
                loggedMessage = messageParams[0] + ";Попытка прохода по заблокированной карте;" +
                                messageParams[1] + " - " + messageParams[2];
            }

            if (messageType.Contains("lost card") && messageParams.Length > 2)
            {
                loggedMessage = messageParams[0] + ";Попытка прохода по утерянной карте;" +
                                messageParams[1] + " - " + messageParams[2];
            }

            if (messageType.Contains("manual unlocked") && messageParams.Length > 2)
            {
                loggedMessage = messageParams[0] + ";Ручное открытие;" +
                                messageParams[1] + " - " + messageParams[2];
            }

            if (string.IsNullOrWhiteSpace(loggedMessage))
            {
                return;
            }
            Comet.SetEvent(loggedMessage);

            var notify = loggedMessage.Split(';');
            int id;

            if (notify.Length == 3 && notify[2].Contains("CU") && int.TryParse(notify[2].Remove(0, 2), out id))
            {
                /*var person = dataContext.Persons.FirstOrDefault(s => s.ID == id);
                 * if (person != null)
                 *  notify[2] = person.LastName + " " + person.FirstName;
                 * loggedMessage = string.Join(";", notify);*/
            }
            var myEvent = new LogEventInfo(LogLevel.Info, NLogger.Name, loggedMessage);

            myEvent.Properties.Add("address", messageParams[0]);
            NLogger.Log(myEvent);
        }
Пример #5
0
 private void RequestToExitEvent(string door)
 {
     Comet.SetEvent(door + ";Запрос выхода");
 }
Пример #6
0
 private void UnrecognizedCardEvent(string door, string message)
 {
     Comet.SetEvent(door + ";Неизвесная карта;" + message.Substring(message.LastIndexOf("site=", System.StringComparison.Ordinal)));
 }
Пример #7
0
 private void LostCardEvent(string door, string message)
 {
     Comet.SetEvent(door + ";Попытка прохода по утерянной карте;" + message.Substring(message.LastIndexOf(')') + 2));
 }