Example #1
0
        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));
            }
        }
Example #2
0
        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);
            }
        }