示例#1
0
        private static void GetModelDataListFromCloudLC(bool publicOnly, bool includeUsername, Action <List <ModelData> > successAction, Action <string> failedAction)
        {
            var query = new AVQuery <AVObject>("ServerData");

            if (publicOnly)
            {
                query = query.WhereEqualTo("is_private", false);
            }

            query = query.OrderByDescending("updateAt");

            query.FindAsync().ContinueWith(t => {
                if (t.IsFaulted || t.IsCanceled)
                {
                    if (failedAction != null)
                    {
                        failedAction(t.Exception.Message);
                    }
                }
                else
                {
                    if (successAction != null)
                    {
                        IEnumerable <AVObject> avDatas = t.Result;
                        var results = new List <ModelData>();

                        foreach (var avData in avDatas)
                        {
                            var data = new ModelData();

                            data.objectId = avData.ObjectId;

                            data.name          = avData.Get <string>("name");
                            data.isPrivate     = avData.Get <bool>("is_private");
                            data.unitSize      = avData.Get <int>("unit_size");
                            data.cpuCoresCount = avData.Get <int>("cpu_count");
                            data.cpuHz         = avData.Get <int>("cpu_hz");
                            data.hddBaysCount  = avData.Get <int>("hdd_count");
                            data.memorySpeed   = avData.Get <int>("memory_speed");

                            data.memoryCapacity = PairData.FromListOfIntsToList(avData.Get <IList <int> >("memory_capacity"));

                            data.raid = avData.Get <string>("raid");

                            data.hdd = PairData.FromListOfIntsToList(avData.Get <IList <int> >("hdd"));
//							data.gpu = (List<string>) (avData.Get<IList<string>>("gpu"));

                            results.Add(data);
                        }

                        successAction(results);
                    }
                }
            });
        }
示例#2
0
        private static void GetModelDataListFromCloudP(bool publicOnly, bool includeUsername, Action <List <ModelData> > successAction, Action <string> failedAction)
        {
            var serverDataQuery = new ParseQuery <ParseObject>("ServerData");

            if (publicOnly)
            {
                serverDataQuery = serverDataQuery.WhereEqualTo("is_private", false);
            }

            var query = new ParseQuery <ParseObject>("UserServers");

            query = query.WhereMatchesQuery("model", serverDataQuery);
            query = query.Include("model");
            query = query.Include("user");

            query = query.OrderByDescending("updateAt");

            query.FindAsync().ContinueWith(t => {
                if (t.IsFaulted || t.IsCanceled)
                {
                    if (failedAction != null)
                    {
                        failedAction(t.Exception.Message);
                    }
                }
                else
                {
                    if (successAction != null)
                    {
                        IEnumerable <ParseObject> parseDatas = t.Result;
                        var results = new List <ModelData>();

                        foreach (var parseData in parseDatas)
                        {
                            var data = new ModelData();

                            var parseModelData = parseData.Get <ParseObject>("model");
                            var parseUserData  = parseData.Get <ParseUser>("user");

                            data.objectId  = parseModelData.ObjectId;
                            data.username  = parseUserData.Username;
                            data.modelFile = parseModelData.Get <ParseFile>("model_file").Name;
                            data.modelUrl  = parseModelData.Get <ParseFile>("model_file").Url.AbsoluteUri;


                            data.name          = parseModelData.Get <string>("name");
                            data.isPrivate     = parseModelData.Get <bool>("is_private");
                            data.unitSize      = parseModelData.Get <int>("unit_size");
                            data.cpuCoresCount = parseModelData.Get <int>("cpu_count");
                            data.cpuHz         = parseModelData.Get <int>("cpu_hz");
                            data.hddBaysCount  = parseModelData.Get <int>("hdd_count");
                            data.memorySpeed   = parseModelData.Get <int>("memory_speed");

                            data.memoryCapacity = PairData.FromListOfIntsToList(parseModelData.Get <IList <int> >("memory_capacity"));

                            data.raid = parseModelData.Get <string>("raid");

                            data.hdd = PairData.FromListOfIntsToList(parseModelData.Get <IList <int> >("hdd"));
                            var gpus = (parseModelData.Get <IList <string> >("gpu"));
                            data.gpu = new List <string>();
                            foreach (var gpu in gpus)
                            {
                                data.gpu.Add(gpu);
                            }

                            results.Add(data);
                        }

                        successAction(results);
                    }
                }
            });
        }