private void RefreshHealth(ITeamHealthModel model, IMainPresenter presenter)
        {
            string fileAccessToken = ApplicationResource.DefaultAccessToken;
            //set default values so we have something
            int    licensed                = 0;
            int    provisioned             = 0;
            string name                    = string.Empty;
            string activityStartDate       = string.Empty;
            int    adds                    = 0;
            int    edits                   = 0;
            int    deletes                 = 0;
            int    activeSharedFolders7Day = 0;
            int    activeUsers7Day         = 0;
            string devicesStartDate        = string.Empty;
            int    windows                 = 0;
            int    macos                   = 0;
            int    linux                   = 0;
            int    ios              = 0;
            int    android          = 0;
            int    other            = 0;
            int    total            = 0;
            string storageStartDate = string.Empty;
            UInt64 totalStorage     = 0;
            UInt64 sharedStorage    = 0;
            UInt64 unsharedStorage  = 0;
            int    sharedFolders    = 0;

            IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion);

            service.GetInfoUrl       = ApplicationResource.ActionGetInfo;
            service.UserAgentVersion = ApplicationResource.UserAgent;
            IDataResponse response = service.GetInfo(fileAccessToken);

            IMemberServices serviceActivity = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion);

            serviceActivity.GetActivityUrl   = ApplicationResource.ActionGetActivity;
            serviceActivity.UserAgentVersion = ApplicationResource.UserAgent;
            IDataResponse responseActivity = serviceActivity.GetActivity(fileAccessToken);

            IMemberServices serviceDevices = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion);

            serviceDevices.GetDevicesReportUrl = ApplicationResource.ActionGetDevices;
            serviceDevices.UserAgentVersion    = ApplicationResource.UserAgent;
            IDataResponse responseDevices = serviceDevices.GetDevicesReport(fileAccessToken);

            IMemberServices serviceStorage = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion);

            serviceStorage.GetStorageUrl    = ApplicationResource.ActionGetStorage;
            serviceStorage.UserAgentVersion = ApplicationResource.UserAgent;
            IDataResponse responseStorage = serviceStorage.GetStorage(fileAccessToken);

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

                    name                   = jsonData["name"];
                    licensed               = jsonData["num_licensed_users"];
                    provisioned            = jsonData["num_provisioned_users"];
                    model.TeamName         = name;
                    model.LicensedUsers    = licensed.ToString();
                    model.ProvisionedUsers = provisioned.ToString();
                }
            }
            if (responseActivity.StatusCode == HttpStatusCode.OK)
            {
                if (responseActivity.Data != null)
                {
                    string  data     = responseActivity.Data.ToString();
                    dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data);

                    activityStartDate = jsonData["start_date"];
                    if (jsonData["adds"][0] != null)
                    {
                        try
                        {
                            int  availableData = 1;
                            bool complete      = false;
                            while (!complete)
                            {
                                if (((jsonData["adds"].Count) - availableData) != null)
                                {
                                    int addsCount = (jsonData["adds"].Count) - availableData;
                                    if (jsonData["adds"][addsCount] != null)
                                    {
                                        adds     = jsonData["adds"][addsCount];
                                        complete = true;
                                    }
                                }
                                availableData++;
                            }
                        }
                        catch
                        {
                            adds = 0;
                        }
                    }
                    if (jsonData["edits"][0] != null)
                    {
                        try
                        {
                            int  availableData = 1;
                            bool complete      = false;
                            while (!complete)
                            {
                                if (((jsonData["edits"].Count) - availableData) != null)
                                {
                                    int editsCount = (jsonData["edits"].Count) - availableData;
                                    if (jsonData["edits"][editsCount] != null)
                                    {
                                        edits = jsonData["edits"][editsCount];
                                    }
                                    complete = true;
                                }
                                availableData++;
                            }
                        }
                        catch
                        {
                            edits = 0;
                        }
                    }
                    if (jsonData["deletes"][0] != null)
                    {
                        try
                        {
                            int  availableData = 1;
                            bool complete      = false;
                            while (!complete)
                            {
                                if (((jsonData["deletes"].Count) - availableData) != null)
                                {
                                    int deletesCount = (jsonData["deletes"].Count) - availableData;
                                    if (jsonData["deletes"][deletesCount] != null)
                                    {
                                        deletes = jsonData["deletes"][deletesCount];
                                    }
                                    complete = true;
                                }
                                availableData++;
                            }
                        }
                        catch
                        {
                            deletes = 0;
                        }
                    }
                    if (jsonData["active_shared_folders_7_day"][0] != null)
                    {
                        try
                        {
                            int  availableData = 1;
                            bool complete      = false;
                            while (!complete)
                            {
                                if (((jsonData["active_shared_folders_7_day"].Count) - availableData) != null)
                                {
                                    int activeSharedCount = (jsonData["active_shared_folders_7_day"].Count) - availableData;
                                    if (jsonData["active_shared_folders_7_day"][activeSharedCount] != null)
                                    {
                                        activeSharedFolders7Day = jsonData["active_shared_folders_7_day"][activeSharedCount];
                                    }
                                    complete = true;
                                }
                                availableData++;
                            }
                        }
                        catch
                        {
                            activeSharedFolders7Day = 0;
                        }
                    }
                    if (jsonData["active_users_7_day"][0] != null)
                    {
                        try
                        {
                            int  availableData = 1;
                            bool complete      = false;
                            while (!complete)
                            {
                                if (((jsonData["active_users_7_day"].Count) - availableData) != null)
                                {
                                    int activeUsers = (jsonData["active_users_7_day"].Count) - availableData;
                                    if (jsonData["active_users_7_day"][activeUsers] != null)
                                    {
                                        activeUsers7Day = jsonData["active_users_7_day"][activeUsers];
                                    }
                                    complete = true;
                                }
                                availableData++;
                            }
                        }
                        catch
                        {
                            activeUsers7Day = 0;
                        }
                    }
                    model.Adds    = adds.ToString();
                    model.Edits   = edits.ToString();
                    model.Deletes = deletes.ToString();
                    model.ActiveSharedFolders7Day = activeSharedFolders7Day.ToString();
                    model.ActiveUsers7Day         = activeUsers7Day.ToString();
                }
            }
            if (responseDevices.StatusCode == HttpStatusCode.OK)
            {
                if (responseDevices.Data != null)
                {
                    string  data     = responseDevices.Data.ToString();
                    dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data);

                    devicesStartDate = jsonData["start_date"];
                    if (jsonData["active_7_day"] != null)
                    {
                        if (jsonData["active_7_day"]["windows"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["windows"].Count) - availableData) != null)
                                    {
                                        int windowsUsers = (jsonData["active_7_day"]["windows"].Count) - availableData;
                                        if (jsonData["active_7_day"]["windows"][windowsUsers] != null)
                                        {
                                            windows = jsonData["active_7_day"]["windows"][windowsUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                windows = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["macos"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["macos"].Count) - availableData) != null)
                                    {
                                        int macosUsers = (jsonData["active_7_day"]["macos"].Count) - availableData;
                                        if (jsonData["active_7_day"]["macos"][macosUsers] != null)
                                        {
                                            macos = jsonData["active_7_day"]["macos"][macosUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                macos = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["linux"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["linux"].Count) - availableData) != null)
                                    {
                                        int linuxUsers = (jsonData["active_7_day"]["linux"].Count) - availableData;
                                        if (jsonData["active_7_day"]["linux"][linuxUsers] != null)
                                        {
                                            linux = jsonData["active_7_day"]["linux"][linuxUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                linux = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["ios"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["ios"].Count) - availableData) != null)
                                    {
                                        int iosUsers = (jsonData["active_7_day"]["ios"].Count) - availableData;
                                        if (jsonData["active_7_day"]["ios"][iosUsers] != null)
                                        {
                                            ios = jsonData["active_7_day"]["ios"][iosUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                ios = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["android"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["android"].Count) - availableData) != null)
                                    {
                                        int androidUsers = (jsonData["active_7_day"]["android"].Count) - availableData;
                                        if (jsonData["active_7_day"]["android"][androidUsers] != null)
                                        {
                                            android = jsonData["active_7_day"]["android"][androidUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                android = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["other"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["other"].Count) - availableData) != null)
                                    {
                                        int otherUsers = (jsonData["active_7_day"]["other"].Count) - availableData;
                                        if (jsonData["active_7_day"]["other"][otherUsers] != null)
                                        {
                                            other = jsonData["active_7_day"]["other"][otherUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                other = 0;
                            }
                        }
                        if (jsonData["active_7_day"]["total"][0] != null)
                        {
                            try
                            {
                                int  availableData = 1;
                                bool complete      = false;
                                while (!complete)
                                {
                                    if (((jsonData["active_7_day"]["total"].Count) - availableData) != null)
                                    {
                                        int totalUsers = (jsonData["active_7_day"]["total"].Count) - availableData;
                                        if (jsonData["active_7_day"]["total"][totalUsers] != null)
                                        {
                                            total = jsonData["active_7_day"]["total"][totalUsers];
                                        }
                                        complete = true;
                                    }
                                    availableData++;
                                }
                            }
                            catch
                            {
                                total = 0;
                            }
                        }
                    }
                    model.windows = windows.ToString();
                    model.macos   = macos.ToString();
                    model.linux   = linux.ToString();
                    model.ios     = ios.ToString();
                    model.android = android.ToString();
                    model.other   = other.ToString();
                    model.total   = total.ToString();
                }
            }
            if (responseStorage.StatusCode == HttpStatusCode.OK)
            {
                if (responseStorage.Data != null)
                {
                    string  data     = responseStorage.Data.ToString();
                    dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(data);

                    storageStartDate = jsonData["start_date"];
                    if (jsonData["total_usage"][0] != null)
                    {
                        int  availableData = 1;
                        bool complete      = false;
                        while (!complete)
                        {
                            if (((jsonData["total_usage"].Count) - availableData) != null)
                            {
                                int totalCount = (jsonData["total_usage"].Count) - availableData;
                                if (jsonData["total_usage"][totalCount] != null)
                                {
                                    totalStorage = jsonData["total_usage"][totalCount];
                                    double totalStorageDec = FileUtil.FormatFileSizeTB(totalStorage);
                                    model.TotalUsage = totalStorageDec.ToString() + " TB";
                                    complete         = true;
                                }
                            }
                            availableData++;
                        }
                    }
                    if (jsonData["shared_usage"][0] != null)
                    {
                        int  availableData = 1;
                        bool complete      = false;
                        while (!complete)
                        {
                            if (((jsonData["shared_usage"].Count) - availableData) != null)
                            {
                                int sharedCount = (jsonData["shared_usage"].Count) - availableData;
                                if (jsonData["shared_usage"][sharedCount] != null)
                                {
                                    sharedStorage = jsonData["shared_usage"][sharedCount];
                                    double sharedStorageDec = FileUtil.FormatFileSizeTB(sharedStorage);
                                    model.SharedUsage = sharedStorageDec.ToString() + " TB";
                                    complete          = true;
                                }
                            }
                            availableData++;
                        }
                    }
                    if (jsonData["unshared_usage"][0] != null)
                    {
                        int  availableData = 1;
                        bool complete      = false;
                        while (!complete)
                        {
                            if (((jsonData["unshared_usage"].Count) - availableData) != null)
                            {
                                int unsharedCount = (jsonData["unshared_usage"].Count) - availableData;
                                if (jsonData["unshared_usage"][unsharedCount] != null)
                                {
                                    unsharedStorage = jsonData["unshared_usage"][unsharedCount];
                                    double unsharedStorageDec = FileUtil.FormatFileSizeTB(unsharedStorage);
                                    model.UnsharedUsage = unsharedStorageDec.ToString() + " TB";
                                    complete            = true;
                                }
                            }
                            availableData++;
                        }
                    }
                    if (jsonData["shared_folders"][0] != null)
                    {
                        int  availableData = 1;
                        bool complete      = false;
                        while (!complete)
                        {
                            if (((jsonData["shared_usage"].Count) - availableData) != null)
                            {
                                int sharedFolderCount = (jsonData["shared_folders"].Count) - availableData;
                                if (jsonData["shared_folders"][sharedFolderCount] != null)
                                {
                                    sharedFolders       = jsonData["shared_folders"][sharedFolderCount];
                                    model.SharedFolders = sharedFolders.ToString();
                                    complete            = true;
                                }
                            }
                            availableData++;
                        }
                    }
                }
            }
            if (responseStorage.StatusCode != HttpStatusCode.OK)
            {
                //if Dropbox gives back Internal Server error, bug filed from engineering on this
                model.TotalUsage    = "N/A";
                model.SharedUsage   = "N/A";
                model.UnsharedUsage = "N/A";
                model.SharedFolders = "N/A";
            }
            model.RefreshDateTime = DateTime.Now;
        }