示例#1
0
        public string updateHardwareAsset(string categoryid, string id, string name, string imageUrl, string sku, string description, Dictionary <string, string> dic)
        {
            Assest assest = new Assest();

            assest.id          = id;
            assest.name        = name;
            assest.imageUrl    = string.IsNullOrEmpty(imageUrl) ? "null" : imageUrl;
            assest.sku         = sku;
            assest.description = description;
            assest.properties  = dic;
            string data = JsonConvert.SerializeObject(assest);

            data = gp.HttpPut("http://" + httpurl + "/sitewhere/api/assets/categories/" + categoryid + "/hardware/" + id, data, tenanttoken);
            return(data);
        }
示例#2
0
        public void AssignmentSynchronize(object obj)
        {
            if (!AssignmentFlag)
            {
                return;
            }
            AssignmentFlag = false;
            try
            {
                DeviceResults dr = JsonConvert.DeserializeObject <DeviceResults>(sm.listDevices_excludeAssigned());
                if (dr.numResults == "0")
                {
                    AssignmentFlag = true;
                    return;
                }
                List <Assest>        list_assest = new List <Assest>();
                AssetCategoryResults acr         = JsonConvert.DeserializeObject <AssetCategoryResults>(sm.listAssetCategories());
                foreach (AssetCategory atem in acr.results)
                {
                    if (atem.id != "Specification")
                    {
                        AssestResults ar = JsonConvert.DeserializeObject <AssestResults>(sm.listCategoryAssets(atem.id));
                        list_assest.AddRange(ar.results);
                    }
                }

                foreach (Device item in dr.results)
                {
                    int    index   = item.hardwareId.IndexOf("_");
                    string assetId = item.hardwareId.Substring(0, index);
                    Assest assest  = list_assest.Find(f => f.id == assetId);
                    sm.createDeviceAssignment(item.hardwareId, assest.assetCategoryId, assest.id);
                }
            }
            catch (Exception e)
            {
                logger.Error("AssignmentSynchronize异常:" + e.Message);
            }
            finally
            {
                AssignmentFlag = true;
            }
        }