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); } }
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))); } }
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); } }
public string Notification(string clientId) { string arg; Comet.RegisterCometInstance(clientId, this); if (_ev.WaitOne(Comet.TimeOut)) { lock (typeof(Comet)) { arg = _message; } } else { arg = string.Format("Timeout Elapsed {0}", clientId); } Comet.UnregisterCometInstance(clientId); return(arg); }
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); }
private void RequestToExitEvent(string door) { Comet.SetEvent(door + ";Запрос выхода"); }
private void UnrecognizedCardEvent(string door, string message) { Comet.SetEvent(door + ";Неизвесная карта;" + message.Substring(message.LastIndexOf("site=", System.StringComparison.Ordinal))); }
private void LostCardEvent(string door, string message) { Comet.SetEvent(door + ";Попытка прохода по утерянной карте;" + message.Substring(message.LastIndexOf(')') + 2)); }