private uint FindPtsFromDialogs(List <IDialog> dialogs, string address) { foreach (var dialog in dialogs) { var dialogObj = dialog as Dialog; if (dialogObj != null) { if (TelegramUtils.GetPeerId(dialogObj.Peer) == address) { return(dialogObj.Pts); } } } return(0); }
private List <VisualBubble> ConvertMessageToBubbles(List <IMessage> messages) { var bubbles = new List <VisualBubble>(); foreach (var iMessage in messages) { var message = iMessage as Message; var messageService = iMessage as MessageService; if (message != null) { var messageBubbles = ProcessFullMessage(message, false); var i = 0; foreach (var bubble in messageBubbles) { if (bubble != null) { if (message.ReplyToMsgId != 0 && i == 0)//add quoted message only to the first bubble { var iReplyMessage = GetMessage(message.ReplyToMsgId, null, uint.Parse(TelegramUtils.GetPeerId(message.ToId)), message.ToId is PeerChannel); DebugPrint(">>> got message " + ObjectDumper.Dump(iReplyMessage)); var replyMessage = iReplyMessage as Message; AddQuotedMessageToBubble(replyMessage, bubble); } bubbles.Add(bubble); } i++; } } if (messageService != null) { _oldMessages = true; var serviceBubbles = MakePartyInformationBubble(messageService, false, null); if (serviceBubbles != null) { bubbles.AddRange(serviceBubbles); } _oldMessages = false; } } return(bubbles); }