/// <summary> /// Initiate system message into array. /// </summary> /// <param name="systemMessage"></param> public void InitiateMessage(SystemMessageBox systemMessage) { if (systemMessage == null) { return; } if (systemMessage.Type == MessageType.Error) { return; } Application.Current.Dispatcher.Invoke(() => { var messageCounter = _systemMessages.Count; messageCounter++; if (messageCounter > _maxMessage) { _systemMessages.RemoveAt(0); } _systemMessages.Add(systemMessage); RaisePropertyChanged(nameof(SystemMessages)); }); MessageSent?.Invoke(systemMessage.Message); }
/// <summary> /// Initiate service with default settings. /// </summary> public MessageViewModel() { _maxMessage = 1000; _systemMessages = new ObservableCollection <SystemMessageBox>(); #if FORGING_MESSAGES var msgInfo = new SystemMessageBox(); msgInfo.Type = MessageType.Information; msgInfo.Time = DateTime.Now; msgInfo.Message = $"Info message"; var msgError = new SystemMessageBox(); msgError.Type = MessageType.Error; msgError.Time = DateTime.Now; msgError.Message = $"Error"; var msgSuccess = new SystemMessageBox(); msgSuccess.Type = MessageType.Success; msgSuccess.Time = DateTime.Now; msgSuccess.Message = $"Success message"; var msgStatusRequest = new SystemMessageBox(); msgStatusRequest.Type = MessageType.StatusRequest; msgStatusRequest.Time = DateTime.Now; msgStatusRequest.Message = $"Status request message"; var msgReceive = new SystemMessageBox(); msgReceive.Type = MessageType.Receive; msgReceive.Time = DateTime.Now; msgReceive.Prefix = "Received"; msgReceive.Message = $"0xxx"; var msgSent = new SystemMessageBox(); msgSent.Type = MessageType.Broadcast; msgSent.Time = DateTime.Now; msgSent.Prefix = "Sent"; msgSent.Message = $"0xxx"; _systemMessages.Add(msgInfo); _systemMessages.Add(msgError); _systemMessages.Add(msgSuccess); _systemMessages.Add(msgStatusRequest); _systemMessages.Add(msgReceive); _systemMessages.Add(msgSent); #endif }
/// <summary> /// Initiate system message into array. /// </summary> /// <param name="time"></param> /// <param name="type"></param> /// <param name="content"></param> public void InitiateMessage(DateTime time, MessageType type, string content) { if (type == MessageType.Error) { return; } // Initiate system message instance. var systemMessage = new SystemMessageBox { Time = time, Type = type, Message = content }; InitiateMessage(systemMessage); }