private List <Tuple <string, string, string, string> > GetSharedFolders(IGroupsModel model, IMainPresenter presenter)
        {
            IMemberServices service = service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion);

            service.ListSharedFoldersUrl = ApplicationResource.ActionSharingListFolders;
            service.UserAgentVersion     = ApplicationResource.UserAgent;
            var    sharedFolders = new List <Tuple <string, string, string, string> >();
            string memberId      = string.Empty;

            foreach (var item in model.GroupInfo)
            {
                if (!string.IsNullOrEmpty(item.TeamMemberId))
                {
                    memberId = item.TeamMemberId;
                    break;
                }
            }
            IDataResponse response = service.ListSharedFolders(new MemberData()
            {
                MemberId = memberId
            }, ApplicationResource.DefaultAccessToken);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                if (response.Data != null)
                {
                    string  data     = response.Data.ToString();
                    dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data);

                    int resultCount = jsonData["entries"].Count;
                    for (int i = 0; i < resultCount; i++)
                    {
                        dynamic entries            = jsonData["entries"][i];
                        dynamic sharedFolderId     = Convert.ToString(entries["shared_folder_id"]);
                        dynamic sharedFolderName   = Convert.ToString(entries["name"]);
                        dynamic isInsideTeamFolder = Convert.ToString(entries["is_inside_team_folder"]);
                        dynamic isTeamFolder       = Convert.ToString(entries["is_team_folder"]);

                        var tuple = Tuple.Create(sharedFolderId, sharedFolderName, isInsideTeamFolder, isTeamFolder);
                        if (!sharedFolders.Contains(tuple))
                        {
                            sharedFolders.Add(tuple);
                        }
                    }
                    //if the group count is above limit - default 1000 we need to grab the cursor and call continue
                    string cursor = jsonData["cursor"];
                    while (!string.IsNullOrEmpty(cursor))
                    {
                        service.ListSharedFoldersUrl = ApplicationResource.ActionSharingListFoldersContinuation;
                        IDataResponse responseCont = service.ListSharedFolders(new MemberData()
                        {
                            MemberId = memberId,
                            Cursor   = cursor
                        }, model.AccessToken);

                        string  dataCont     = responseCont.Data.ToString();
                        dynamic jsonDataCont = JsonConvert.DeserializeObject <dynamic>(dataCont);

                        int resultContCount = jsonDataCont["entries"].Count;
                        for (int i = 0; i < resultContCount; i++)
                        {
                            dynamic entries            = jsonDataCont["entries"][i];
                            dynamic sharedFolderId     = Convert.ToString(entries["shared_folder_id"]);
                            dynamic sharedFolderName   = Convert.ToString(entries["name"]);
                            dynamic isInsideTeamFolder = Convert.ToString(entries["is_inside_team_folder"]);
                            dynamic isTeamFolder       = Convert.ToString(entries["is_team_folder"]);

                            var tuple = Tuple.Create(sharedFolderId, sharedFolderName, isInsideTeamFolder, isTeamFolder);
                            if (!sharedFolders.Contains(tuple))
                            {
                                sharedFolders.Add(tuple);
                            }
                        }
                        cursor = jsonDataCont["cursor"];
                    }
                }
            }
            return(sharedFolders);
        }