static Route CreateRoute(DependencyObject d) { var routeString = GetRoute(d); var action = routeString.Split(' ')[0]; var resource = routeString.Split(' ')[1]; var route = new Route(action, resource); var view = ViewProperties.GetView(d); route.AddParameter(KnownParameters.ParentView, view); var showAs = ViewProperties.GetShowAs(d); route.AddParameter(KnownParameters.ParentShowAs, showAs); var parameters = GetParams(d); if (parameters != null) { foreach (var p in parameters) { var element = d as FrameworkElement; p.DataContext = element.DataContext; route.AddParameter(p.Key, p.Value); } } return route; }
public ViewRouteResult(IRoute route, object view, string showAs) { var result = route as IRouteResult ?? new RouteResult(route); CopyFrom(result); AddHistory(route); var nextRoute = new Route(route); nextRoute.AddParameter(KnownParameters.View, view); if (nextRoute.DoesNotContain(KnownParameters.ShowAs)) nextRoute.AddParameter(KnownParameters.ShowAs, showAs); Next(nextRoute); }
public ViewModelRouteResult(IRoute route, object viewModel) { var result = route as IRouteResult ?? new RouteResult(route); CopyFrom(result); AddHistory(route); var nextRoute = new Route(route); nextRoute.AddParameter("ViewModel", viewModel); Next(nextRoute); }
public ControllerRouteResult(IRoute route, object controller) { var result = route as IRouteResult ?? new RouteResult(route); CopyFrom(result); AddHistory(route); var nextRoute = new Route(route); nextRoute.AddParameter(KnownParameters.Controller, controller); Next(nextRoute); }
public IRouteResult Process(IRoute route) { var showAs = route.Parameters[KnownParameters.ParentShowAs].ToString(); var view = route.Parameters[KnownParameters.ParentView]; var next = new Route("close", showAs); next.AddParameter(KnownParameters.View, view); var result = new RouteResult(route); result.Next(next); return result; }
public IRouteResult Process(IRoute route) { var result = new RouteResult(route); var next = new Route("show", "errors") .CopyParameterFrom(route, KnownParameters.Errors); var view = route.Parameters[KnownParameters.ParentView]; next.AddParameter(KnownParameters.View, view); result.Next(next); return result; }
public static IRoute ToRoute(this string s) { var words = s.Split(' '); var action = words[0]; var resource = words[1]; var route = new Route(action, resource); var parameters = words.Skip(2); foreach(var parameterString in parameters) { var key = parameterString.Split(':')[0]; var value = parameterString.Split(':')[1]; value = value.Replace("\'", ""); route.AddParameter(key, value); } return route; }