Beispiel #1
0
 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());
     }
 }
Beispiel #2
0
        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);
            }
        }