Exemplo n.º 1
0
        public ActionResult Charge(AgentChargeModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ChargeBridge cb    = new ChargeBridge();
                    ChargeOrder  order = new ChargeOrder()
                    {
                        Payed = false, OperateUserId = 0, AgencyId = User.Identity.GetUserId <int>(), Id = 0, Province = model.Province, City = model.City, MobileSP = model.SPName, MobileNumber = model.Mobile, OutId = "", ResourceId = 0, ResourceTaocanId = model.ResourceTaocanId, RouteId = model.RouteId, CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now)
                    };

                    OrderManagement orderMgt = new OrderManagement();
                    order = orderMgt.GenerateOrder(order);
                    ChargeResult result = cb.Charge(order);
                    ViewBag.Message = result.Message;
                }
                catch (KMBitException ex)
                {
                    ViewBag.Message = ex.Message;
                }finally
                {
                    model = new AgentChargeModel();
                }
            }

            return(View(model));
        }
Exemplo n.º 2
0
        public APIChargeResult Charge(int agendId, int routeId, string mobile, string province, string city, string callBackUrl)
        {
            ChargeResult result = null;
            ChargeBridge cb     = new ChargeBridge();
            ChargeOrder  order  = new ChargeOrder()
            {
                Payed = false, OperateUserId = 0, AgencyId = agendId, Id = 0, Province = province, City = city, MobileNumber = mobile, OutId = "", ResourceId = 0, ResourceTaocanId = 0, RouteId = routeId, CreatedTime = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now), CallbackUrl = callBackUrl
            };

            OrderManagement orderMgt = new OrderManagement();

            try
            {
                order  = orderMgt.GenerateOrder(order);
                result = cb.Charge(order);
            }
            catch (KMBitException kex)
            {
                result         = new ChargeResult();
                result.Status  = ChargeStatus.FAILED;
                result.Message = kex.Message;
            }catch (Exception ex)
            {
                result         = new ChargeResult();
                result.Status  = ChargeStatus.FAILED;
                result.Message = "未知错误,请联系平台管理员";
            }

            APIChargeResult apiResult = new APIChargeResult();

            apiResult.Message = result.Message;
            apiResult.OrderId = order.Id;
            switch (result.Status)
            {
            case ChargeStatus.SUCCEED:
                apiResult.Status = 2;
                break;

            case ChargeStatus.FAILED:
                apiResult.Status = 2;
                break;

            case ChargeStatus.ONPROGRESS:
                apiResult.Status = 1;
                break;

            case ChargeStatus.PENDIND:
                apiResult.Status = 10;
                break;
            }

            return(apiResult);
        }