private List <SLUser> ExtractUsersList(dynamic data) { List <SLUser> usersList = new List <SLUser>(); bool convertationResult = false; dynamic groups = DictionaryExtension.TryGetValue(data, "members", out convertationResult); foreach (dynamic item in groups) { SLUser user = new SLUser(); user.id = DictionaryExtension.TryGetValue(item, "id", out convertationResult); user.name = DictionaryExtension.TryGetValue(item, "name", out convertationResult); user.status = DictionaryExtension.TryGetValue(item, "status", out convertationResult); user.color = DictionaryExtension.TryGetValue(item, "color", out convertationResult); user.real_name = DictionaryExtension.TryGetValue(item, "real_name", out convertationResult); user.tz = DictionaryExtension.TryGetValue(item, "tz", out convertationResult); user.tz_label = DictionaryExtension.TryGetValue(item, "tz_label", out convertationResult); user.tz_offset = DictionaryExtension.TryGetValue(item, "tz_offset", out convertationResult); //user.profile user.is_admin = DictionaryExtension.TryGetValue(item, "is_admin", out convertationResult); user.is_owner = DictionaryExtension.TryGetValue(item, "is_owner", out convertationResult); user.is_primary_owner = DictionaryExtension.TryGetValue(item, "is_primary_owner", out convertationResult); user.is_restricted = DictionaryExtension.TryGetValue(item, "is_restricted", out convertationResult); user.is_ultra_restricted = DictionaryExtension.TryGetValue(item, "is_ultra_restricted", out convertationResult); user.is_bot = DictionaryExtension.TryGetValue(item, "is_bot", out convertationResult); user.has_files = DictionaryExtension.TryGetValue(item, "has_files", out convertationResult); user.has_2fa = DictionaryExtension.TryGetValue(item, "has_2fa", out convertationResult); usersList.Add(user); } return(usersList); }
private void websocket_MessageReceived(object sender, WebSocketSharp.MessageEventArgs e) { System.Diagnostics.Debug.WriteLine(e.Data); dynamic data = javascriptSerializer.Deserialize <dynamic>(e.Data); try { SLRuntimeEventArgs message = new SLRuntimeEventArgs(); bool convertionResult; message.ok = DictionaryExtension.TryGetValue(data, "ok", out convertionResult); message.type = DictionaryExtension.TryGetValue(data, "type", out convertionResult); message.reply_to = DictionaryExtension.TryGetValue(data, "reply_to", out convertionResult); message.channel = DictionaryExtension.TryGetValue(data, "channel", out convertionResult); message.user = DictionaryExtension.TryGetValue(data, "user", out convertionResult); message.text = DictionaryExtension.TryGetValue(data, "text", out convertionResult); message.ts = DictionaryExtension.TryGetValue(data, "ts", out convertionResult); message.team = DictionaryExtension.TryGetValue(data, "team", out convertionResult); if (OnWebsocketMessage != null) { OnWebsocketMessage(this, message); } } catch (Exception ex) { } }
private KeyValuePair <SLPaging, List <SLFile> > ExtractFilesList(dynamic data) { List <SLFile> fileList = new List <SLFile>(); bool convertationResult = false; dynamic files = DictionaryExtension.TryGetValue(data, "files", out convertationResult); foreach (dynamic item in files) { SLFile file = new SLFile(); file.id = DictionaryExtension.TryGetValue(item, "id", out convertationResult); file.created = DictionaryExtension.TryGetValue(item, "created", out convertationResult); file.timestamp = DictionaryExtension.TryGetValue(item, "timestamp", out convertationResult); file.name = DictionaryExtension.TryGetValue(item, "name", out convertationResult); file.title = DictionaryExtension.TryGetValue(item, "title", out convertationResult); file.mimetype = DictionaryExtension.TryGetValue(item, "mimetype", out convertationResult); file.filetype = DictionaryExtension.TryGetValue(item, "filetype", out convertationResult); file.user_id = DictionaryExtension.TryGetValue(item, "user", out convertationResult); fileList.Add(file); } dynamic pagingData = DictionaryExtension.TryGetValue(data, "paging", out convertationResult); SLPaging paging = new SLPaging(); paging.count = DictionaryExtension.TryGetValue(pagingData, "count", out convertationResult); paging.total = DictionaryExtension.TryGetValue(pagingData, "total", out convertationResult); paging.page = DictionaryExtension.TryGetValue(pagingData, "page", out convertationResult); paging.pages = DictionaryExtension.TryGetValue(pagingData, "pages", out convertationResult); return(new KeyValuePair <SLPaging, List <SLFile> >(paging, fileList)); }
private SLAuthTestResult ExtractAuthTestResult(dynamic data) { SLAuthTestResult authTestResult = new SLAuthTestResult(); bool convertationResult = false; authTestResult.ok = DictionaryExtension.TryGetValue(data, "ok", out convertationResult); authTestResult.url = DictionaryExtension.TryGetValue(data, "url", out convertationResult); authTestResult.team_name = DictionaryExtension.TryGetValue(data, "team", out convertationResult); authTestResult.user_name = DictionaryExtension.TryGetValue(data, "user", out convertationResult); authTestResult.team_id = DictionaryExtension.TryGetValue(data, "team_id", out convertationResult); authTestResult.user_id = DictionaryExtension.TryGetValue(data, "user_id", out convertationResult); return(authTestResult); }
private SLFileUploadResult ExtractFileUploadResult(dynamic data) { SLFileUploadResult slFileUploadResult = new SLFileUploadResult(); bool convertationResult = false; slFileUploadResult.ok = DictionaryExtension.TryGetValue(data, "ok", out convertationResult); dynamic messageData = DictionaryExtension.TryGetValue(data, "file", out convertationResult); //if (fileData != null) //{ // TODO: extra file data to slFileUploadResult.slFile //} return(slFileUploadResult); }
private SLChatPostMessageResult ExtractChatPostMessageResult(dynamic data) { SLChatPostMessageResult slChatPostMessageResult = new SLChatPostMessageResult(); bool convertationResult = false; slChatPostMessageResult.ok = DictionaryExtension.TryGetValue(data, "ok", out convertationResult); slChatPostMessageResult.channel_id = DictionaryExtension.TryGetValue(data, "channel", out convertationResult); slChatPostMessageResult.ts = DictionaryExtension.TryGetValue(data, "ts", out convertationResult); dynamic messageData = DictionaryExtension.TryGetValue(data, "message", out convertationResult); if (messageData != null) { slChatPostMessageResult.message.user_id = DictionaryExtension.TryGetValue(messageData, "user", out convertationResult); slChatPostMessageResult.message.type = DictionaryExtension.TryGetValue(messageData, "type", out convertationResult); slChatPostMessageResult.message.text = DictionaryExtension.TryGetValue(messageData, "text", out convertationResult); slChatPostMessageResult.message.ts = DictionaryExtension.TryGetValue(messageData, "ts", out convertationResult); } return(slChatPostMessageResult); }
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); }