public AccessKey(JToken json) { Fields = json.ToObject <Dictionary <string, dynamic> >(); if (string.IsNullOrEmpty(Name)) { throw new Exception("'name' is required"); } if (Devices == null) { Fields.AddOrUpdate("devices", new JArray()); } if (Workflows == null) { Fields.AddOrUpdate("workflows", new JArray()); } if (string.IsNullOrEmpty(Id)) { Id = Guid.NewGuid().ToString().Replace("-", ""); } }
/// <summary> /// Adds or updates a string field value /// </summary> /// <param name="key"></param> /// <param name="val"></param> public void AddOrUpdateField(string key, Lazy <string> val) { Fields.AddOrUpdate(key, new Lazy <ItemField>(() => new ItemField(val.Value)), (k, orig) => new Lazy <ItemField>(() => new ItemField(val.Value))); }