示例#1
0
        /// <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));
 }