public override void OnNavigatedTo(NavigationParameters parameters) { //Lógica para automaticamente colocar a tela de chat na ultima msg recebida if (ListMessages.Count > 0) { var msg = ListMessages.Last <Message>(); ListMessages.Remove(msg); ListMessages.Add(msg); } }
public void AddMessage(IMessage msg) { if (msg == null) { return; } ListMessages.Clear(); ListMessages.Add(msg); OnMessageAdded?.Invoke(this, new MessageAddedEventArgs(msg)); }
void AddLine(string line) { string[] items = line.Split(';'); if (items.Length == 0) { return; } int range = items.Count(item => String.IsNullOrEmpty(item)); bool isComment = range == 0 && !char.IsDigit(items[0][0]); bool isSubMasterNode = range == 0 && !isComment; if (isSubMasterNode) // Start of a message { string timeStamp = items[0]; string message = items.Length > 1 ? items[1] : "???"; string masterName = null; int imageId = -1; bool endFlag; int masterRange = GetMasterRange(message, out imageId, out masterName, out endFlag); ListMessages.Add(currentMessageItem = new TreeMessageItem(timeStamp, message, GetImage(items.Length > 2 ? items[3] : "???", isComment), isComment)); MessageCount++; if (masterRange >= 0) // It's a group start or end { if (endFlag) { currentMasterMessageItem.Add(currentMessageItem); } Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, timeStamp, masterName, masterRange, imageId)); } if (!endFlag) { currentMasterMessageItem.Add(currentMessageItem); } } else if (isComment) // Just a comment { currentMessageItem = new TreeMessageItem(null, line, GetImage(line, isComment), isComment); ListMessages.Add(currentMessageItem); if (currentMasterMessageItem == null) { Main.Add(currentMasterMessageItem = new TreeMasterMessageItem(treeView1, "", "Start", 0, GetImage(line, isComment))); } currentMasterMessageItem.Add(currentMessageItem); } else // A line within a message if (currentMessageItem != null) { currentMessageItem.Add(new TreeItemLine(range, items[range], (items.Length == range + 2) ? items[range + 1] : null)); } }
public void AddLogMessage(string message, AccountEventArgs numbersArgs, MessageType messageType) { Message = new LoggerMessage { MessageType = messageType, Message = message, Sender = numbersArgs.SenderNumber, Receiver = numbersArgs.ReceiverNumber, DateTime = DateTime.Now }; ListMessages.Add(Message); }
private void MessageAdd_MessageAdd(object sender, MessageTable e) { if (e.MsgType == type && type == 0) { ListMessages.Add(e); } else if (e.FromId == fromId) { ListMessages.Add(e); } MoveEnd(); }
public override void OnNavigatingTo(NavigationParameters parameters) { MessagingCenter.Unsubscribe <MensagemRespostaSocket>(this, "NovaMensagemChat"); MessagingCenter.Subscribe <MensagemRespostaSocket>(this, "NovaMensagemChat", (sender) => { var resposta = sender.msg.Split(new string[] { "=>" }, StringSplitOptions.None); var message = new Message { Text = resposta[0], IsTextIn = true, MessageDateTime = DateTime.ParseExact(resposta[1], "dd/MM/yyyy hh:mm", System.Globalization.CultureInfo.InvariantCulture) }; ListMessages.Add(message); GravarMensagem(message, ListMessages); }); }
public async void EnviarNovaMensagem() { if (!String.IsNullOrWhiteSpace(OutText)) { var message = new Message { Text = OutText, IsTextIn = false, MessageDateTime = DateTime.Now }; GravarMensagem(message); ListMessages.Add(message); await ConectarSocket(); await WebSocketClientClass.SendMessagAsync("MensagemChat=>" + OutText); OutText = ""; } }
void SendMsg() { var message = new Mensagem { CHA_ID = 1, CHA_CVS_TXT = OutText, CHA_CVS_DTA_HOR_LOG = DateTime.Now, CHA_CVS_ID = 1, }; if (ListMessages.Count % 2 == 0) { message.CHA_CVS_OGM = "P"; } else { message.CHA_CVS_OGM = "c"; } ListMessages.Add(message); OutText = string.Empty; }