public static IEnumerable <ParameterBase> ToParameters(this PageControlBase pageControlBase) { yield return(new SimpleParameter("ID", pageControlBase.ID)); foreach (var parameter in pageControlBase.AllProperties.WithAValue.SelectMany(p => p.ToParameters())) { yield return(parameter); } }
public static void Write(this PageControlBase pageControl, CSideWriter writer, int propertyIndentation) { TypeSwitch.Do( pageControl, TypeSwitch.Case <PageControlContainer>(c => c.Write(writer, propertyIndentation)), TypeSwitch.Case <PageControlGroup>(c => c.Write(writer, propertyIndentation)), TypeSwitch.Case <PageControlPart>(c => c.Write(writer, propertyIndentation)), TypeSwitch.Case <PageControl>(c => c.Write(writer, propertyIndentation))); }
public static void Add(this PageControls pageControls, PageControlBase item, Position?position) { switch (position.GetValueOrDefault(Position.LastWithinContainer)) { case Position.FirstWithinContainer: pageControls.Insert(0, item); break; case Position.LastWithinContainer: pageControls.Add(item); break; } }
public static Invocation ToInvocation(this PageControlBase pageControl) { switch (pageControl) { case PageControlContainer c: return(new Invocation("New-CBreezePageControlContainer", c.ToParameters())); case PageControlGroup g: return(new Invocation("New-CBreezePageControlGroup", g.ToParameters())); case PageControlPart p: return(new Invocation("New-CBreezePageControlPart", p.ToParameters())); case PageControl f: return(new Invocation("New-CBreezePageControl", f.ToParameters())); default: throw new ArgumentOutOfRangeException("pageControl"); } }