public IEnumerable<Message> GetMessages(string username, long conversationId, DateTime dtFrom, DateTime dtTo) { //first we need set to which db we want to connect ViberDA.SetDbPath(ViberPaths.GetPath(username)); List<ViberMessage> viberMessages = ViberDA.GetMessages(username, conversationId, dtFrom, dtTo); List<Message> messages = new List<Message>(); foreach (var item in viberMessages) { Message m = new Message(); m.MessengerType = MessengerType.Viber; m.Username = username; m.ConversationId = conversationId.ToString(); m.Timestamp = item.Timestamp; m.Identity = item.Number; //set author string author = string.Empty; if (!string.IsNullOrEmpty(item.Name)) author = item.Name; // Note: In viber database, empty value is marked with string '<EmptyValue>.' if (item.ClientName != "<EmptyValue>." && !string.IsNullOrEmpty(item.ClientName)) author = string.IsNullOrEmpty(author) ? item.ClientName : $"{author} {item.ClientName}"; if (string.IsNullOrEmpty(author)) author = item.Number; m.Author = author; //set message text string content = string.Empty; if (!string.IsNullOrEmpty(item.Body)) m.Content = item.Body; else if (!string.IsNullOrEmpty(item.PayloadPath)) m.Content = $"<<PAYLOAD: {item.PayloadPath} >>"; else if (!string.IsNullOrEmpty(item.ThumbnailPath)) m.Content = $"<<THUMBNAIL: {item.ThumbnailPath} >>"; else if (item.StickerId != 0) m.Content = $"<<Sticker: {item.ThumbnailPath} >>"; else m.Content = $"<<UNKNOWN ACTION: {item.EventId} >>"; messages.Add(m); } return messages; }
public IEnumerable<Message> GetMessages(string username, long conversationId, DateTime dtFrom, DateTime dtTo) { //first we need set to which db we want to connect SkypeDA.SetDbPath(SkypePaths.GetPath(username)); List<SkypeMessage> sMessages = SkypeDA.GetMessages(conversationId, dtFrom, dtTo); List<Message> messages = new List<Message>(); foreach (SkypeMessage skypeMessage in sMessages) { Message message = new Message(); message.MessengerType = MessengerType.Skype; message.ConversationId = conversationId.ToString(); message.Username = username; message.Identity = skypeMessage.author; message.Author = string.IsNullOrEmpty(skypeMessage.from_dispname) ? skypeMessage.author : skypeMessage.from_dispname; message.Id = skypeMessage.Id; message.Timestamp = skypeMessage.timestamp; message.Content = skypeMessage.body_xml; messages.Add(message); } return messages; }