private static CrudeButton <EditContext>?GetOnSubmitButton(RenderContext context) { var methods = ViewModelParser.ParseMethods(context.ViewModel); CrudeButton <EditContext>?button = null; foreach (var method in methods) { if (method.Attributes.FirstOrDefault(x => x is CrudeOnSubmitAttribute) is CrudeOnSubmitAttribute crudeOnSubmitAttribute) { button = new CrudeButton <EditContext>( context.CreateEvent <EditContext>(ctx => method.MethodInfo.Invoke(context.ViewModel, new object[] { ctx })), crudeOnSubmitAttribute.Name); } } return(button); }
private static IEnumerable <CrudeButton> GetOnClickButtons(RenderContext context) { var methods = ViewModelParser.ParseMethods(context.ViewModel); var result = new List <CrudeButton>(); foreach (var method in methods) { if (method.Attributes.FirstOrDefault(x => x is CrudeOnButtonClickAttribute) is CrudeOnButtonClickAttribute crudeOnSubmitAttribute) { var button = new CrudeButton( context.CreateEvent(() => method.MethodInfo.Invoke(context.ViewModel, new object[] { context.EditContext })), crudeOnSubmitAttribute.Name); result.Add(button); } } return(result); }