/// <summary> /// Update the subgroups of this form group. /// </summary> /// <param name="order"></param> /// <param name="formType"></param> public void UpdateSubgroups(TraversalOptions order = TraversalOptions.Pre, FormNameType formType = FormNameType.Both) { foreach (var subnode in Subnodes.Values) { subnode.Update(order, formType); } }
/// <summary> /// Update the forms in this form group. /// </summary> /// <param name="formType"></param> public void UpdateTop(FormNameType formType = FormNameType.Both) { switch (formType) { case FormNameType.Named: foreach (var item in Items.Values) { item.Update(); } break; case FormNameType.Anonymous: foreach (var item in AnonymousItems) { item.Update(); } break; case FormNameType.Both: foreach (var item in Items.Values) { item.Update(); } foreach (var item in AnonymousItems) { item.Update(); } break; } }
/// <summary> /// Update all the Forms in this form group and it's subgroups, in the order /// specified by the TraversalOptions. /// /// You can specify to render only named forms, only anonymous forms, or both /// using the FormType parameter. /// </summary> /// <param name="order"></param> /// <param name="formType"></param> public void Update(TraversalOptions order = TraversalOptions.Pre, FormNameType formType = FormNameType.Both) { switch (order) { case TraversalOptions.Pre: UpdateSubgroups(order, formType); UpdateTop(formType); break; case TraversalOptions.Post: UpdateTop(formType); UpdateSubgroups(order, formType); break; case TraversalOptions.Top: UpdateTop(formType); break; default: break; } }