public SentMessageControl(UnsentMessageModel model) { InitializeComponent(); this.HorizontalAlignment = HorizontalAlignment.Right; Load(model); SendMessageAsync(model); }
private void _EventClickSendMessage(object sender, RoutedEventArgs e) { List <MessageUploadFileModel> Files = new List <MessageUploadFileModel>(); foreach (UploadFileControl file in MessageFilesContainer.Children) { Files.Add(file.Model); } List <MessageUploadFileModel> Images = new List <MessageUploadFileModel>(); foreach (UploadImageControl file in MessageImagesContainer.Children) { Images.Add(file.Model); } UnsentMessageModel message = new UnsentMessageModel() { UserID = Service.UserID, ConversationID = Model.Key, Text = ConversationInput.Text, Files = Files, Images = Images, }; this.MessageContainer1.Children.Add(new SentMessageControl(message)); // reset input ResetMessageInput(); }
public static async Task <string> SendMessageToConversationAsync(UnsentMessageModel model) { if (model != null) { var rsp = await Client.PushAsync("Conversations/" + model.ConversationID + "/Messages", model.ConvertToMessageModel()); if (rsp.StatusCode == System.Net.HttpStatusCode.OK) { Changed(model.ConversationID); return(rsp.Result.name); } } return(null); }
private async Task SendMessageAsync(UnsentMessageModel model) { var messageId = await ConversationService.SendMessageToConversationAsync(model); if (!string.IsNullOrEmpty(messageId)) { SentLoading.Visibility = Visibility.Collapsed; SendTime.Visibility = Visibility.Visible; SendTime.Text = "28/11/2020"; // update message id Model = new KeyValuePair <string, MessageModel>(messageId, Model.Value); } else { SentLoading.Visibility = Visibility.Collapsed; SendTime.Visibility = Visibility.Visible; SendTime.Text = "Error"; // update message id Model = new KeyValuePair <string, MessageModel>(null, Model.Value); } }
private void Load(UnsentMessageModel model) { if (model != null) { Model = new KeyValuePair <string, MessageModel>(null, model.ConvertToMessageModel()); if (!string.IsNullOrEmpty(model.Sticker)) { MessageEmojiContainer.Children.Add(new MessageStickerControl(model.Sticker)); } else { if (model.Images != null) { foreach (MessageUploadFileModel file in model.Images) { this.MessageImagesContainer.Children.Add(new MessageImageControl(file)); } } if (model.Files != null) { foreach (MessageUploadFileModel file in model.Files) { this.MessageFilesContainer.Children.Add(new MessageFileControl(file)); } } if (!string.IsNullOrEmpty(model.Text)) { MessageTextContainer.Child = new TextBox() { Text = Model.Value.Text }; } } } }
private void _EventClickSendMessage(object sender, RoutedEventArgs e) { List <MessageUploadFileModel> files = new List <MessageUploadFileModel>(); foreach (UploadFileControl file in MessageFilesContainer.Children) { files.Add(file.Model); } List <MessageUploadFileModel> images = new List <MessageUploadFileModel>(); foreach (UploadImageControl file in MessageImagesContainer.Children) { images.Add(file.Model); } UnsentMessageModel message = new UnsentMessageModel() { UserID = Service.UserID, ConversationID = Model.Key, Text = ConversationInput.Text, Files = files, Images = images, }; // send if (files.Count > 0 || images.Count > 0 || !string.IsNullOrEmpty(ConversationInput.Text)) { this.MessageContainer1.Children.Add(new SentMessageControl(message)); } this.ConversationScrollContainer.ScrollToEnd(); // reset input ResetMessageInput(); }