public ChatMessage(string content, ChatMessageAuthor author) { Id = Guid.NewGuid(); PostedAt = DateTime.Now; Content = content; Author = author; Validate(this, new ChatMessageValidator()); }
public async Task <BasicOutput <string> > SendMessage(string chatRoomId, string authorId, string authorName, string message) { var result = new BasicOutput <string>(); var chatRoom = await _chatRoomRepository.GetChatRoomById(Guid.Parse(chatRoomId), true); if (chatRoom == null) { result.AddNotification(new Notification("Specified chat room could not be found", ENotificationType.Error, "chatRoom")); } if (result.Invalid) { return(result); } var author = new ChatMessageAuthor(authorId, authorName); var chatMessage = new ChatMessage(message, author); if (chatMessage.Invalid) { result.AddNotifications(chatMessage.ValidationResult); return(result); } if (chatMessage.IsMessage) { chatRoom.AddChatMessage(chatMessage); _chatRoomRepository.Update(chatRoom); await _unitOfWork.CommitAsync(); } if (chatMessage.IsCommand) { await _webSocketService.SendCommand(chatRoom.Id.ToString(), chatMessage.Content); } await _webSocketService .SendMessage( chatRoom.Id.ToString(), chatMessage); result.SetOutput("The message has been sent successfully"); return(result); }
void ReleaseDesignerOutlets() { if (ChatMessageAuthor != null) { ChatMessageAuthor.Dispose(); ChatMessageAuthor = null; } if (ChatMessageText != null) { ChatMessageText.Dispose(); ChatMessageText = null; } if (ChatTable != null) { ChatTable.Dispose(); ChatTable = null; } if (MessageTextField != null) { MessageTextField.Dispose(); MessageTextField = null; } if (PeerId != null) { PeerId.Dispose(); PeerId = null; } if (PeerName != null) { PeerName.Dispose(); PeerName = null; } if (PeersTable != null) { PeersTable.Dispose(); PeersTable = null; } }