protected override void Because() { _extractedParameters = _parameterNames.Select(parameterName => MvcExpressionHelper.GetParameterValue( GetExpression <TestClass>(c => c.Person(_instance1, _instance2)), parameterName)); }
public static RouteValueDictionary GetRouteValueDictionary(this ControllerContext context, string methodName, bool usePostAction) { var routeValues = new RouteValueDictionary(); var controller = context.Controller; var controllerName = MvcExpressionHelper.GetControllerName(controller.GetType()); routeValues.Add(GridParameters.ControllerKey, controllerName); routeValues.Add(GridParameters.ActionKey, methodName); var methods = controller.GetType().GetMethods().Where(m => m.Name == methodName); MethodInfo methodInfo; if (methods.Count() == 1) { methodInfo = methods.First(); } else { methodInfo = methods.First(x => usePostAction ? x.GetCustomAttributes(true).OfType <HttpPostAttribute>().Any() : !x.GetCustomAttributes(true).OfType <HttpPostAttribute>().Any()); } Requires <ArgumentException> .IsNotNull(methodInfo, string.Format("There's no method {0} in controller {1}", methodName, controllerName)); foreach (var parameter in methodInfo.GetParameters()) { routeValues.Add(parameter.Name, parameter.ParameterType.IsValueType ? Activator.CreateInstance(parameter.ParameterType) : null); } return(routeValues); }
public GridExcelActionCommandBuilder <T> ExportToPdf <TController>(Expression <Action <TController> > actionResult) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridExcelActionCommand <T>(Context, GridClass.PdfExport, GridParameters.ExportToPdf, routeValues, null); ToolBar.Commands.Add(command); return(new GridExcelActionCommandBuilder <T>(command)); }
public GridCreateActionCommandBuilder <T> Create <TController>(Expression <Action <TController> > actionResult) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridCreateActionCommand <T>(Context, GridClass.IconAdd, GridParameters.Create, routeValues, null); ToolBar.Commands.Add(command); return(new GridCreateActionCommandBuilder <T>(command)); }
public GridActionCommandBuilder <T> ConfirmDelete <TController>(Expression <Action <TController> > actionResult) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridActionCommand <T>(Context, GridClass.DeleteIcon, GridParameters.Delete, routeValues, new { @class = GridClass.ConfirmDelete }); Column.Commands.Add(command); return(new GridActionCommandBuilder <T>(command)); }
public GridActionCommandBuilder <T> Custom <TController>(Expression <Action <TController> > actionResult, string cssClass, string altText) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridActionCommand <T>(Context, cssClass, altText, routeValues, null); Column.Commands.Add(command); return(new GridActionCommandBuilder <T>(command)); }
public GridActionCommandBuilder <T> CheckGeo <TController>(Expression <Action <TController> > actionResult, Func <T, bool> hasValueFunc) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridCheckGeoActionCommand <T>(Context, GridClass.GeoIcon, GridParameters.Geo, routeValues, null, hasValueFunc); Column.Commands.Add(command); return(new GridActionCommandBuilder <T>(command)); }
public GridActionCommandBuilder <T> Detail <TController>(Expression <Action <TController> > actionResult, string alternateText = null) where TController : Controller { var alt = alternateText ?? GridParameters.Details; var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridActionCommand <T>(Context, GridClass.DetailIcon, alt, routeValues, null); Column.Commands.Add(command); return(new GridActionCommandBuilder <T>(command)); }
public GridBoundColumnBuilder <T> CheckEditFor <TController>(string name, Func <T, bool> checkValueFunc, Expression <Action <TController> > actionResult) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var command = new GridCheckEditActionCommand <T>(GridModel.Context, GridClass.EditIcon, GridParameters.Edit, routeValues, null, m => true, checkValueFunc); var column = new GridCheckEditColumn <T, bool>(GridModel, command, name, checkValueFunc); GridModel.ColumnList.Add(column); return(new GridBoundColumnBuilder <T>(column)); }
public GridBoundColumnBuilder <T> ActionLinkFor <TController, TValue>(string name, Func <T, TValue> func, Expression <Action <TController> > actionResult) where TController : Controller { var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(actionResult); var column = new GridActionLinkColumn <T, TValue>(GridModel, name, func); column.Command = new GridActionLinkCommand <T>(GridModel.Context, routeValues); GridModel.ColumnList.Add(column); return(new GridBoundColumnBuilder <T>(column)); }
private void ConvertParameterToFormCollection() { var parameterNames = MvcExpressionHelper.GetParameterNames(_actionExpression); foreach (var parameterName in parameterNames) { _contextBuilder.SerializeModelToForm( MvcExpressionHelper.GetParameterValue(_actionExpression, parameterName), parameterName); } }
public GridBoundColumnBuilder <T> EditionStateWithTooltip <TController>(Expression <Action <TController> > toolTipResult) where TController : Controller { Requires <ArgumentException> .IsTrue(typeof(ITrackEdition).IsAssignableFrom(typeof(T)), string.Format("{0} should Implement {1}", typeof(T).Name, typeof(ITrackEdition).Name)); var routeValues = MvcExpressionHelper.GetRouteValuesFromExpression(toolTipResult); var column = new GridStatusColumn <T>(GridModel, routeValues); GridModel.ColumnList.Add(column); return(new GridBoundColumnBuilder <T>(column)); }
public object Execute() { ConvertParameterToFormCollection(); var controllerContext = new ControllerContext(_contextBuilder, _controller); _controller.ControllerContext = controllerContext; var actionName = MvcExpressionHelper.GetMemberName(_actionExpression); _contextBuilder.RouteData.Values["action"] = actionName; _contextBuilder.RouteData.Values["controller"] = GetControllerName(); _actionInvoker.InvokeAction(controllerContext, actionName); return(_actionInvoker.Result); }
protected override void Because() { _result = MvcExpressionHelper.GetParameterNames(GetExpression <TestClass, ActionResult>(c => c.Index())); }
protected override void Because() { _result = MvcExpressionHelper.GetMemberName(GetExpression <TestClass>(c => c.Create())); }
protected override void Because() { _result = MvcExpressionHelper.GetMemberName(GetExpression <TestClass, ActionResult>(c => c.Index(3, 2, 1))); }
protected override void Because() { _result1 = MvcExpressionHelper.GetParameterValue( GetExpression <TestClass>(c => c.Date(new DateTime(2010, 07, 05))), "dateTime"); }
private static string ItemNameForControllerType(Type controller) { return(ItemNameForElement(controller.Assembly.GetName().Name, MvcExpressionHelper.GetControllerName(controller))); }
protected override void Because() { _parameterValues = _parameterNames.Select(parameterName => MvcExpressionHelper.GetParameterValue(GetExpression <TestClass, ActionResult>(c => c.Index(3, 2, 1)), parameterName)); }