/// <summary> /// 提交表单 /// </summary> /// <returns></returns> protected override object OnSubmit() { var sessionManager = Application.Ioc.Resolve <SessionManager>(); var session = sessionManager.GetSession(); var userManager = Application.Ioc.Resolve <UserManager>(); // 修改密码 if (!string.IsNullOrEmpty(OldPassword) && !string.IsNullOrEmpty(Password)) { if (Password != ConfirmPassword) { throw new BadRequestException(new T("Please repeat the password exactly")); } userManager.ChangePassword(session.ReleatedId, OldPassword, Password); } // 修改头像 if (Avatar != null) { userManager.SaveAvatar(session.ReleatedId, Avatar.OpenReadStream()); } else if (DeleteAvatar) { userManager.DeleteAvatar(session.ReleatedId); } return(new { message = new T("Saved Successfully"), script = ScriptStrings.RefreshAfter(1500) }); }
/// <summary> /// 提交表单 /// </summary> /// <returns></returns> protected override object OnSubmit() { var app = new PaymentApiManageApp(); var url = string.Format("{0}?type={1}", app.AddUrl, Type); return(new { script = ScriptStrings.RedirectModal(url) }); }
public IActionResult SwitchToLanguage() { var context = HttpManager.CurrentContext; var language = context.Request.Get <string>("language"); context.PutCookie(LocaleUtils.LanguageKey, language); return(new JsonResult(new { script = ScriptStrings.RefreshAfter(0) })); }
public IActionResult Create() { HttpRequestChecker.RequieAjaxRequest(); var orderManager = Application.Ioc.Resolve <OrderManager>(); var transactionManager = Application.Ioc.Resolve <PaymentTransactionManager>(); var sessionManager = Application.Ioc.Resolve <SessionManager>(); var createOrderParameters = HttpManager.CurrentContext.Request .Get <CreateOrderParameters>("CreateOrderParameters") ?? new CreateOrderParameters(); createOrderParameters.SetLoginInfo(); var result = orderManager.CreateOrder(createOrderParameters); var transaction = result.CreatedTransactions.Last(); var paymentUrl = transactionManager.GetPaymentUrl(transaction.Id); return(new JsonResult(new { script = ScriptStrings.Redirect(paymentUrl) })); }
/// <summary> /// 添加删除按钮 /// 点击后弹出确认框,确认后把json=[数据Id]提交到删除url /// </summary> /// <param name="column">操作列</param> /// <param name="typeName">类型名称</param> /// <param name="deleteUrl">删除使用的Url</param> /// <param name="name">名称,不指定时使用默认值</param> /// <param name="buttonClass">按钮的Css类,不指定时使用默认值</param> /// <param name="iconClass">图标的Css类,不指定时使用默认值</param> /// <param name="titleTemplate">标题的模板,格式是underscore.js的格式,参数传入rows</param> /// <param name="urlTemplate">编辑Url的模板,格式是underscore.js的格式,参数传入rows</param> /// <param name="primaryKey">数据Id保存的名称,不指定时使用默认值</param> /// <param name="dialogParameters">弹出框的参数,不指定时使用默认值</param> public static void AddDeleteAction( this AjaxTableActionColumn column, string typeName, string deleteUrl, string name = null, string buttonClass = null, string iconClass = null, string titleTemplate = null, string urlTemplate = null, string primaryKey = null, object dialogParameters = null) { primaryKey = primaryKey ?? EntityTrait.For <object>().PrimaryKey; column.AddConfirmActionForBelongedRow( name ?? new T("Delete"), buttonClass ?? "btn btn-xs btn-danger", iconClass ?? "fa fa-remove", titleTemplate ?? string.Format(new T("Delete {0}"), new T(typeName)), ScriptStrings.ConfirmMessageTemplateForMultiSelected( string.Format(new T("Sure to delete following {0}?"), new T(typeName)), "ToString"), ScriptStrings.PostConfirmedActionForMultiSelected(primaryKey, deleteUrl), dialogParameters); }
/// <summary> /// 提交表单 /// </summary> /// <returns></returns> protected override object OnSubmit() { // 创建交易 var api = GetApiFromRequest(); var sessionManager = Application.Ioc.Resolve <SessionManager>(); var payerId = sessionManager.GetSession().GetUser().Id; var payeeId = api.Owner == null ? null : (long?)api.Owner.Id; var transactionManager = Application.Ioc.Resolve <PaymentTransactionManager>(); var transaction = transactionManager.CreateTestTransaction(api.Id, Amount, Currency, payerId, payeeId, Description); // 跳转到支付url地址 var url = transactionManager.GetPaymentUrl(transaction.Id); return(new { message = new T("Create test transaction success, redirecting to payment page..."), script = ScriptStrings.Redirect(url, 3000) }); }
/// <summary> /// 提交表单 /// </summary> /// <returns></returns> protected override object OnSubmit() { var sessionManager = Application.Ioc.Resolve <SessionManager>(); var session = sessionManager.GetSession(); var userManager = Application.Ioc.Resolve <UserManager>(); if (Avatar != null) { userManager.SaveAvatar(session.ReleatedId, Avatar.OpenReadStream()); } else if (DeleteAvatar) { userManager.DeleteAvatar(session.ReleatedId); } return(new { message = new T("Saved Successfully"), script = ScriptStrings.RefreshAfter(1500) }); }
/// <summary> /// 提交表单 /// </summary> /// <returns></returns> protected override object OnSubmit() { // 检查支付密码是否正确 var apiData = Transaction.Api.ExtraData.GetOrDefault <ApiData>("ApiData") ?? new ApiData(); apiData.CheckPaymentPassword(PaymentPassword); // 按类型执行支付操作 UnitOfWork.WriteRepository <PaymentTransactionRepository>(r => { var state = PayType == (int)PayTypes.ImmediateArrival ? PaymentTransactionState.Success : PaymentTransactionState.SecuredPaid; r.Process(Transaction.Id, null, state); }); // 返回成功并跳转到交易结果页 var resultUrl = string.Format("/payment/transaction/pay_result?id={0}", Transaction.Id); return(new { message = new T("Payment Successfully, Redirecting to result page..."), script = ScriptStrings.Redirect(resultUrl, 3000) }); }
/// <summary> /// 添加删除相关的按钮 /// 如果数据类型可以回收,则添加批量删除或批量恢复和永久删除 /// 如果数据类型不可以回收,则添加批量永久删除 /// </summary> /// <param name="column">Id列</param> /// <param name="request">搜索请求</param> /// <param name="dataType">数据类型</param> /// <param name="typeName">类型名称</param> /// <param name="batchUrl">批量操作使用的Url</param> public static void AddDeleteActions( this AjaxTableIdColumn column, AjaxTableSearchRequest request, Type dataType, string typeName, string batchUrl) { // 判断需要添加哪些操作 bool addBatchDelete = false; bool addBatchRecover = false; bool addBatchDeleteForever = false; if (RecyclableTrait.For(dataType).IsRecyclable) { var deleted = request.Conditions.GetOrDefault <bool>("Deleted"); addBatchDelete = !deleted; addBatchRecover = deleted; addBatchDeleteForever = deleted; } else { addBatchDeleteForever = true; } // 添加批量删除 typeName = new T(typeName); var entityTrait = EntityTrait.For(dataType); if (addBatchDelete) { column.AddConfirmActionForMultiChecked( new T("Batch Delete"), "fa fa-recycle", string.Format(new T("Please select {0} to delete"), typeName), new T("Batch Delete"), ScriptStrings.ConfirmMessageTemplateForMultiSelected( string.Format(new T("Sure to delete following {0}?"), typeName), "ToString"), ScriptStrings.PostConfirmedActionForMultiSelected( entityTrait.PrimaryKey, batchUrl + "?action=delete"), new { type = "type-danger" }); } // 添加批量恢复 if (addBatchRecover) { column.AddConfirmActionForMultiChecked( new T("Batch Recover"), "fa fa-history", string.Format(new T("Please select {0} to recover"), typeName), new T("Batch Recover"), ScriptStrings.ConfirmMessageTemplateForMultiSelected( string.Format(new T("Sure to recover following {0}?"), typeName), "ToString"), ScriptStrings.PostConfirmedActionForMultiSelected( entityTrait.PrimaryKey, batchUrl + "?action=recover")); } // 添加批量永久删除 if (addBatchDeleteForever) { column.AddConfirmActionForMultiChecked( new T("Batch Delete Forever"), "fa fa-remove", string.Format(new T("Please select {0} to delete"), typeName), new T("Batch Delete Forever"), ScriptStrings.ConfirmMessageTemplateForMultiSelected( string.Format(new T("Sure to delete following {0} forever?"), typeName), "ToString"), ScriptStrings.PostConfirmedActionForMultiSelected( entityTrait.PrimaryKey, batchUrl + "?action=delete_forever"), new { type = "type-danger" }); } }