public void AddQueryInput(Expression <Func <T, object> > expression) { var accessor = ReflectionHelper.GetAccessor(expression); var input = new RouteParameter(accessor); _queryParameters.Add(input); }
public void AddQueryInput(PropertyInfo property) { Accessor accessor = new SingleProperty(property); var input = new RouteParameter(accessor); _queryParameters.Add(input); }
private static void populateRoute(string pattern, Type inputType, IRouteInput input) { parse(pattern, (propName, defaultValue) => { PropertyInfo property = inputType.GetProperty(propName); if (property == null) { throw new FubuException(1002, "Url pattern \"{0}\" refers to non-existent property {1} on {2}.", pattern, propName, inputType.FullName); } var parameter = new RouteParameter(new SingleProperty(property)) { DefaultValue = defaultValue }; input.AddRouteInput(parameter, false); }); // Populate the remaining QueryString parameters var props = inputType.GetProperties(); foreach (var propertyInfo in props) { PropertyInfo info = propertyInfo; if (propertyInfo.HasAttribute <QueryStringAttribute>() && !input.RouteParameters.Any(p => p.Name == info.Name)) { input.AddQueryInput(propertyInfo); } } }
public void AddRouteInput(Expression <Func <T, object> > expression) { var accessor = ReflectionHelper.GetAccessor(expression); var input = new RouteParameter(accessor); if (_routeParameters.Any(x => x.Name == input.Name)) { return; } _routeParameters.Add(input); }
public bool Equals(RouteParameter other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Equals(other._accessor, _accessor)); }
public void AddQueryInput(PropertyInfo property) { Accessor accessor = new SingleProperty(property); var input = new RouteParameter(accessor); if (Parent != null) { Parent.Trace("Added '{0}' to query string parameters", input); } _queryParameters.Fill(input); }
public void AddRouteInput(RouteParameter parameter, bool appendToUrl) { if (_routeParameters.Any(x => x.Name == parameter.Name)) { return; } if (appendToUrl) { _parent.Append("{" + parameter.Name + "}"); } _routeParameters.Add(parameter); }
private static void populateRoute(string pattern, Type inputType, IRouteInput input) { parse(pattern, (propName, defaultValue) => { PropertyInfo property = inputType.GetProperty(propName); if (property == null) { throw new FubuException(1002, "Url pattern \"{0}\" refers to non-existent property {1} on {2}.", pattern, propName, inputType.FullName); } var parameter = new RouteParameter(new SingleProperty(property)) { DefaultValue = defaultValue }; input.AddRouteInput(parameter, false); }); }
public void AddRouteInput(RouteParameter parameter, bool appendToUrl) { if (_routeParameters.Any(x => x.Name == parameter.Name)) { return; } if (appendToUrl) { _parent.Append("{" + parameter.Name + "}"); } if (Parent != null) { Parent.Trace("Added '{0}' to route parameters", parameter); } _routeParameters.Add(parameter); }
public void route_input_should_substitute_method() { SingleProperty accessor = SingleProperty.Build<SampleViewModel>(x => x.InPath); var viewModel = new SampleViewModel { InPath = "5" }; var routeInput = new RouteParameter(accessor); routeInput.Substitute(viewModel, "test/edit/{InPath}").ShouldEqual("test/edit/5"); }
public bool Equals(RouteParameter other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other._accessor, _accessor); }
public void SetUp() { _parameter = new RouteParameter(ReflectionHelper.GetAccessor<FakeInput>(x => x.Code)); }