Exemple #1
0
        public async Task <bool> SyncFromServer(int method)
        {
            timeStart        = DateTime.Now;
            totalRowInserted = 0;
            totalRowUpdated  = 0;
            int page = 0;

            Debug.WriteLine("Sync Issue From Server Started!");

            if (!Settings.LastSyncIssue.Equals("0"))
            {
                await SyncToServerAsync(method);

                var url      = ApiURI.URL_BASE(CurrentAccount) + ApiURI.URL_GET_ISSUE(CurrentUserName, Settings.CurrentPassword, page, Settings.LastSyncIssue);
                var response = await restClient.GetStringAsync(url);

                if (!string.IsNullOrWhiteSpace(response) && !response.Equals("[]"))
                {
                    ProcessData(response);
                    page++; //page increase
                }
                else
                {
                    SetLastSyncIssue();
                    //NeedToSync = false;
                }
                Debug.WriteLine("Sync Issue Time: " + DateTime.Now.Subtract(timeStart).TotalSeconds);
                Debug.WriteLine("Total Issue Inserted: " + totalRowInserted);
                Debug.WriteLine("Total Issue Updated: " + totalRowUpdated);
                Debug.WriteLine("Sync Issue From Server Ended!");

                return(await Task.FromResult(true));
            }

            bool NeedToSync = true;

            while (NeedToSync)
            {
                var response = await restClient.GetStringAsync(ApiURI.URL_BASE(CurrentAccount) + ApiURI.URL_GET_ISSUE(CurrentUserName, Settings.CurrentPassword, page, Settings.LastSyncIssue));

                if (!string.IsNullOrWhiteSpace(response) && !response.Equals("[]"))
                {
                    ProcessData(response);
                    page++; //page increase
                }
                else
                {
                    SetLastSyncIssue();
                    NeedToSync = false;
                }
            }

            Debug.WriteLine("Sync Issue Time: " + DateTime.Now.Subtract(timeStart).TotalSeconds);
            Debug.WriteLine("Total Issue Inserted: " + totalRowInserted);
            Debug.WriteLine("Total Issue Updated: " + totalRowUpdated);
            Debug.WriteLine("Sync Issue From Server Ended!");

            return(await Task.FromResult(true));
        }