internal RemoveFormFieldEdit(Guid editID, FormItem before, string key) { ID = editID; Key = key; Before = before; var kvs = Before.Value; After = (Before.ContainsKey(key) ? new FormItem(ItemID, kvs.Where(x => x.Key != key)) : Before ); }
internal SetFormFieldEdit(Guid editID, FormItem before, string key, Guid valueID) { ID = editID; Key = key; ValueID = valueID; Before = before; var kvs = Before.Value; var newKV = new KeyValuePair <string, Guid>(key, valueID); After = (Before.ContainsKey(key) ? new FormItem(ItemID, kvs.Select(kv => (kv.Key == key ? newKV : kv))) : new FormItem(ItemID, kvs.Add(newKV)) ); }