public SimpleAjaxResult Save() { if (Amount < 0) { return(new SimpleAjaxResult(Localize("invalidAmount"))); } try { var serialNo = SerialNoHelper.Create(); TransactionHelper.BeginTransaction(); var prePay = PrePayService.GetById(Id); if (prePay != null && prePay.State == PrePayStates.Processing) { if (Amount == 0) { Amount = prePay.Amount; } var account = AccountService.GetById(prePay.AccountId); if (account == null) { return(new SimpleAjaxResult(Localize("invalidAccount"))); } var rsp = AccountDealService.DonePrePay(new PayRequest(prePay.AccountName, "", prePay.ShopName, Amount, serialNo, account.AccountToken, prePay.ShopName, prePay.ShopName) { IsForce = true }); if (rsp.Code != ResponseCode.Success) { return(new SimpleAjaxResult(ModelHelper.GetBoundText(rsp, x => x.Code))); } Logger.LogWithSerialNo(LogTypes.DonePrePayForce, serialNo, Id, account.Name); DataAjaxResult r = new DataAjaxResult(); //if (!string.IsNullOrWhiteSpace(HostSite.TicketTemplateOfSuspendAccount)) //{ // r.Data1 = MessageFormator.FormatTickForSuspendAccount(HostSite.TicketTemplateOfSuspendAccount, HostSite, // prePay, SecurityHelper.GetCurrentUser().CurrentUser); // PrintTicketService.Create(new PrintTicket(LogTypes.AccountSuspend, r.Data1.ToString(), prePay)); //} return(TransactionHelper.CommitAndReturn(r)); } return(new SimpleAjaxResult(Localize("invalidDeal"))); } catch (System.Exception ex) { Logger.Error(LogTypes.DonePrePayForce, ex); return(new SimpleAjaxResult(ex.Message)); } }
public void Read(int id) { Id = id; var item = PrePayService.GetById(id); if (item != null) { if (!SecurityHelper.CheckShop(item, false)) { return; } if (!SecurityHelper.CheckAccountUser(item, false)) { return; } SetInnerObject(item); } }