/// <summary> /// Builds the <see cref="UrlActionParams"/>. /// </summary> /// <param name="type"> /// The type. /// </param> /// <param name="method"> /// The method to route to /// </param> /// <returns> /// The <see cref="UrlActionParams"/>. /// </returns> private UrlActionParams BuildUrlActionParams(Type type, string method = null) { method = method.IsNullOrWhiteSpace() ? "RenderForm" : method; var urlActionParams = new UrlActionParams() { Controller = type.Name.EndsWith("Controller") ? type.Name.Remove(type.Name.LastIndexOf("Controller", StringComparison.Ordinal), 10) : type.Name, Method = method }; var att = type.GetCustomAttribute <PluginControllerAttribute>(false); if (att != null) { urlActionParams.RouteParams.Add(new Tuple <string, string>("area", att.AreaName)); } return(urlActionParams); }
/// <summary> /// The get url action params by gateway method ui alias. /// </summary> /// <param name="alias"> /// The alias. /// </param> /// <returns> /// The <see cref="UrlActionParams"/>. /// </returns> public UrlActionParams GetUrlActionParamsByGatewayMethodUiAlias(string alias) { var type = this.GetTypeByGatewayMethodUiAlias(alias); if (type == null) { return(null); } var urlActionParams = new UrlActionParams() { Controller = type.Name.EndsWith("Controller") ? type.Name.Remove(type.Name.LastIndexOf("Controller", StringComparison.Ordinal), 10) : type.Name, Method = "RenderForm" }; var att = type.GetCustomAttribute <PluginControllerAttribute>(false); if (att != null) { urlActionParams.RouteParams.Add(new Tuple <string, string>("area", att.AreaName)); } return(urlActionParams); }
/// <summary> /// Handles payment form success. /// </summary> /// <param name="urlParams"> /// The url parameters. /// </param> /// <param name="routeDictionary"> /// The <see cref="RouteValueDictionary"/>. /// </param> /// <returns> /// The <see cref="ActionResult"/>. /// </returns> protected virtual ActionResult HandlePaymentFormSuccess(UrlActionParams urlParams, RouteValueDictionary routeDictionary) { return(this.RedirectToAction(urlParams.Method, urlParams.Controller, routeDictionary)); }