public void Set(FormDataName name, string value) { var child = GetChild(name.Name); if (name.IsLeaf) { child.Value = value; return; } child.Set(name.Child, value); }
private FormDataName(FormDataName parent, IList <string> parts) { Parent = parent; Name = parts[0]; IsIndexed = Regex.IsMatch(Name, @"^[\S]+\[\S+\]$"); Index = Regex.Match(Name, @"\[(\S+)\]").Groups[1].Value; parts.RemoveAt(0); if (parts.Any()) { Child = new FormDataName(this, parts); } }
public void Add(KeyValuePair <string, string> keyValue) { var key = keyValue.Key; var name = FormDataName.Parse(key); var node = GetOrCreate(name.Name); if (name.IsLeaf) { node.Value = keyValue.Value; return; } node.Set(name.Child, keyValue.Value); }