public static DateTime?DateTimeFromSLMessage(SLMessage message) { string timestamp = message.ts.Substring(0, message.ts.IndexOf('.')); DateTime initialDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); long timeInterval = 0; if (long.TryParse(timestamp, out timeInterval)) { return(initialDateTime = initialDateTime.AddSeconds(timeInterval).ToLocalTime()); } return(null); }
private List <SLMessage> ExtractChannelsHistory(dynamic data) { List <SLMessage> messageList = new List <SLMessage>(); bool convertationResult = false; dynamic messages = DictionaryExtension.TryGetValue(data, "messages", out convertationResult); foreach (dynamic item in messages) { SLMessage message = new SLMessage(); message.type = DictionaryExtension.TryGetValue(item, "type", out convertationResult); message.text = DictionaryExtension.TryGetValue(item, "text", out convertationResult); //TODO: message.file_description message.user_id = DictionaryExtension.TryGetValue(item, "user", out convertationResult); message.upload = DictionaryExtension.TryGetValue(item, "upload", out convertationResult); message.ts = DictionaryExtension.TryGetValue(item, "ts", out convertationResult); messageList.Add(message); } messageList.OrderBy(message => DateTimeHelper.DateTimeFromSLMessage(message)).ToList().Reverse(); return(messageList); }
private List <SLMessage> ExtractGroupsHistory(dynamic data) { List <SLMessage> messageList = new List <SLMessage>(); bool convertationResult = false; dynamic messages = DictionaryExtension.TryGetValue(data, "messages", out convertationResult); foreach (dynamic item in messages) { SLMessage message = new SLMessage(); message.type = DictionaryExtension.TryGetValue(item, "type", out convertationResult); message.text = DictionaryExtension.TryGetValue(item, "text", out convertationResult); var fileData = DictionaryExtension.TryGetValue(item, "file", out convertationResult); if (fileData != null) { message.file_description.id = DictionaryExtension.TryGetValue(fileData, "id", out convertationResult); message.file_description.timestamp = DictionaryExtension.TryGetValue(fileData, "timestamp", out convertationResult); message.file_description.name = DictionaryExtension.TryGetValue(fileData, "name", out convertationResult); message.file_description.title = DictionaryExtension.TryGetValue(fileData, "title", out convertationResult); message.file_description.mimetype = DictionaryExtension.TryGetValue(fileData, "mimetype", out convertationResult); message.file_description.filetype = DictionaryExtension.TryGetValue(fileData, "filetype", out convertationResult); message.file_description.user_id = DictionaryExtension.TryGetValue(fileData, "user", out convertationResult); //message.file_description.pretty_type = DictionaryExtension.TryGetValue(fileData, "pretty_type", out convertationResult); //message.file_description.editable = DictionaryExtension.TryGetValue(fileData, "editable", out convertationResult); //message.file_description.size = DictionaryExtension.TryGetValue(fileData, "size", out convertationResult); //message.file_description.mode = DictionaryExtension.TryGetValue(fileData, "mode", out convertationResult); //message.file_description.is_external = DictionaryExtension.TryGetValue(fileData, "is_external", out convertationResult); //message.file_description.external_type = DictionaryExtension.TryGetValue(fileData, "external_type", out convertationResult); //message.file_description.is_public = DictionaryExtension.TryGetValue(fileData, "is_public", out convertationResult); //message.file_description.public_url_shared = DictionaryExtension.TryGetValue(fileData, "public_url_shared", out convertationResult); //message.file_description.url = DictionaryExtension.TryGetValue(fileData, "url", out convertationResult); //message.file_description.url_download = DictionaryExtension.TryGetValue(fileData, "url_download", out convertationResult); //message.file_description.url_private = DictionaryExtension.TryGetValue(fileData, "url_private", out convertationResult); //message.file_description.url_private_download = DictionaryExtension.TryGetValue(fileData, "url_private_download", out convertationResult); //message.file_description.permalink = DictionaryExtension.TryGetValue(fileData, "permalink", out convertationResult); //message.file_description.permalink_public = DictionaryExtension.TryGetValue(fileData, "permalink_public", out convertationResult); //message.file_description.edit_link = DictionaryExtension.TryGetValue(fileData, "editlink", out convertationResult); //message.file_description.preview = DictionaryExtension.TryGetValue(fileData, "preview", out convertationResult); //message.file_description.preview_highlight = DictionaryExtension.TryGetValue(fileData, "preview_highlight", out convertationResult); //message.file_description.lines = DictionaryExtension.TryGetValue(fileData, "lines", out convertationResult); //message.file_description.lines_more = DictionaryExtension.TryGetValue(fileData, "lines_more", out convertationResult); //var channelsData = DictionaryExtension.TryGetValue(fileData, "channels", out convertationResult); //if (channelsData != null) //{ // foreach (string channel_id in channelsData) // { // message.file_description.channels_ids.Add(channel_id); // } //} //var groupsData = DictionaryExtension.TryGetValue(fileData, "groups", out convertationResult); //if (groupsData != null) //{ // foreach (string group_id in channelsData) // { // message.file_description.groups_ids.Add(group_id); // } //} //var imsData = DictionaryExtension.TryGetValue(fileData, "ims", out convertationResult); //if (imsData != null) //{ // foreach (string ims_id in imsData) // { // message.file_description.ims_ids.Add(ims_id); // } //} //message.file_description.comments_count = DictionaryExtension.TryGetValue(fileData, "comments_count", out convertationResult); } message.user_id = DictionaryExtension.TryGetValue(item, "user", out convertationResult); message.upload = DictionaryExtension.TryGetValue(item, "upload", out convertationResult); message.ts = DictionaryExtension.TryGetValue(item, "ts", out convertationResult); messageList.Add(message); } messageList.OrderBy(message => DateTimeHelper.DateTimeFromSLMessage(message)).ToList().Reverse(); return(messageList); }
public SLChatPostMessageResult() { message = new SLMessage(); }