public void SetWorkTypes(List <KVPBase> data) { data = data.OrderBy(p => p.Name).ToList(); WorkTypes.Clear(); data.ForEach(o => WorkTypes.Add(o)); if (LoadWorkTypesComplete != null) { LoadWorkTypesComplete(this, new EventArgs()); } }
async void CheckMaterialFiles() { var client = new RestClient(HOST_URL); //var client = new RestClient("http://sbl-crm-project-pafik13.c9users.io:8080/"); var request = new RestRequest("/MaterialFile?type=for_hospital&populate=false&limit=50", Method.GET); var response = await client.ExecuteGetTaskAsync <List <MaterialFile> >(request); if (!CancelToken.IsCancellationRequested) { switch (response.StatusCode) { case HttpStatusCode.OK: case HttpStatusCode.Created: SDiag.Debug.WriteLine("MaterialFile: {0}", response.Data.Count); MaterialFiles.Clear(); foreach (var item in response.Data) { if (!MainDatabase.IsSavedBefore <MaterialFile>(item.uuid)) { if (!string.IsNullOrEmpty(item.s3Location)) { MaterialFiles.Add(item); } } } RunOnUiThread(() => { int count = MaterialFiles.Count + WorkTypes.Count + LibraryFiles.Count; FindViewById <TextView>(Resource.Id.saUpdateEntitiesCount).Text = string.Format("Необходимо обновить {0} объектов", count); }); break; } SDiag.Debug.WriteLine(response.StatusDescription); } request = new RestRequest("/WorkType?populate=false", Method.GET); var responseWTs = await client.ExecuteGetTaskAsync <List <WorkType> >(request); if (!CancelToken.IsCancellationRequested) { switch (responseWTs.StatusCode) { case HttpStatusCode.OK: case HttpStatusCode.Created: SDiag.Debug.WriteLine("WorkType: {0}", responseWTs.Data.Count); WorkTypes.Clear(); foreach (var item in responseWTs.Data) { if (!MainDatabase.IsSavedBefore <WorkType>(item.uuid)) { if (!string.IsNullOrEmpty(item.name)) { WorkTypes.Add(item); } } } RunOnUiThread(() => { int count = MaterialFiles.Count + WorkTypes.Count + LibraryFiles.Count; FindViewById <TextView>(Resource.Id.saUpdateEntitiesCount).Text = string.Format("Необходимо обновить {0} объектов", count); }); break; } SDiag.Debug.WriteLine(response.StatusDescription); } }