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 bool IsResponseStatusOk(dynamic data, ref string error) { bool convertationResult = false; dynamic dataOk = DictionaryExtension.TryGetValue(data, "ok", out convertationResult); if (dataOk != null) { if (dataOk == true) { return(true); } else { error = DictionaryExtension.TryGetValue(data, "error", out convertationResult); if (error != null) { if (error.Equals("not_authed")) { //MessageBox.Show("No authentication token provided."); } else if (error.Equals("invalid_auth")) { //MessageBox.Show("Invalid authentication token."); } else if (error.Equals("account_inactive")) { //MessageBox.Show("Authentication token is for a deleted user or team."); } } } } else { error = "There is no \"ok\" key in response"; } return(false); }
private List <SLGroup> ExtractGroupsList(dynamic data) { List <SLGroup> groupList = new List <SLGroup>(); bool convertationResult = false; dynamic groups = DictionaryExtension.TryGetValue(data, "groups", out convertationResult); foreach (dynamic item in groups) { SLGroup group = new SLGroup(); group.id = DictionaryExtension.TryGetValue(item, "id", out convertationResult); group.name = DictionaryExtension.TryGetValue(item, "name", out convertationResult); group.is_group = DictionaryExtension.TryGetValue(item, "is_group", out convertationResult); group.created = DictionaryExtension.TryGetValue(item, "created", out convertationResult); group.creator_id = DictionaryExtension.TryGetValue(item, "creator", out convertationResult); group.is_archived = DictionaryExtension.TryGetValue(item, "is_archived", out convertationResult); var membersData = DictionaryExtension.TryGetValue(item, "members", out convertationResult); if (membersData != null) { foreach (string member_id in membersData) { group.members_ids.Add(member_id); } } var topicData = DictionaryExtension.TryGetValue(item, "topic", out convertationResult); if (topicData != null) { group.topic.creator_id = DictionaryExtension.TryGetValue(topicData, "creator", out convertationResult); group.topic.value = DictionaryExtension.TryGetValue(topicData, "value", out convertationResult); group.topic.last_set = DictionaryExtension.TryGetValue(topicData, "last_set", out convertationResult); } groupList.Add(group); } return(groupList); }
private List <SLChannel> ExtractChannelsList(dynamic data) { List <SLChannel> channelsList = new List <SLChannel>(); bool convertationResult; dynamic groups = DictionaryExtension.TryGetValue(data, "channels", out convertationResult); foreach (dynamic item in groups) { SLChannel channel = new SLChannel(); channel.id = DictionaryExtension.TryGetValue(item, "id", out convertationResult); channel.name = DictionaryExtension.TryGetValue(item, "name", out convertationResult); channel.is_channel = DictionaryExtension.TryGetValue(item, "is_channel", out convertationResult); channel.created = DictionaryExtension.TryGetValue(item, "created", out convertationResult); channel.creator_id = DictionaryExtension.TryGetValue(item, "creator", out convertationResult); channel.is_archived = DictionaryExtension.TryGetValue(item, "is_archived", out convertationResult); var membersData = DictionaryExtension.TryGetValue(item, "members", out convertationResult); if (membersData != null) { foreach (string member_id in membersData) { channel.members_ids.Add(member_id); } } var topicData = DictionaryExtension.TryGetValue(item, "topic", out convertationResult); if (topicData != null) { channel.topic.creator_id = DictionaryExtension.TryGetValue(topicData, "creator", out convertationResult); channel.topic.value = DictionaryExtension.TryGetValue(topicData, "value", out convertationResult); channel.topic.last_set = DictionaryExtension.TryGetValue(topicData, "last_set", out convertationResult); } channelsList.Add(channel); } return(channelsList); }
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); }