Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }