public async Task Notify()
 {
     //SortedDictionary<string, string> sPara = GetRequestPost();
     PayModelDto  model        = GetPayModel();
     EnrollStatus enrollStatus = GetNoticeEnrollStatus();
     await _helper.SetPayStatus(enrollStatus, model);
 }
        public async Task SetPayStatus(Enroll enroll, Member member, EnrollStatus enrollStatus, string strPayType)
        {
            if (enroll.Status == enrollStatus)
            {
                return;
            }

            enroll.Status   = enrollStatus;
            enroll.PaidTime = DateTime.Now;

            bool bIsPaid = enrollStatus == EnrollStatus.PaySuccess;

            if (bIsPaid)//支付成功
            {
                enroll.PayType = strPayType;
                enroll.Note    = "已完成支付";
            }
            else
            {
                enroll.PayType = "";
                enroll.Note    = "已完成撤销支付";
            }

            PayRecordHelper helper = new PayRecordHelper();
            await helper.SaveAsycn(enroll, bIsPaid);

            await ScoreRule(enroll, member, bIsPaid, true);

            await SaveChangesAsync();
        }
        public async Task <ActionResult> Return()
        {
            //SortedDictionary<string, string> sPara = GetRequestGet();
            PayModelDto  model        = GetPayModel();
            EnrollStatus enrollStatus = GetReturnEnrollStatus();
            await _helper.SetPayStatus(enrollStatus, model);

            return(Redirect($"/Mob/Enroll/Process"));
        }
        public async Task SetPayStatus(EnrollStatus enrollStatus, string strOrderNo, string strPayType)
        {
            Member member = SessionHelper.Mob.GetSession <Member>();
            Enroll enroll = GetEnroll(member, strOrderNo);

            if (enroll == null || enroll.Status == enrollStatus)
            {
                return;
            }
            await SetPayStatus(enroll, member, enrollStatus, strPayType);
        }
        public async Task <ActionResult> Check(int id)
        {
            Enroll enroll = await _helper.GetEnroll(id);

            if (_helper.IsPaid(enroll))
            {
                return(Success());
            }
            PayModelDto  model        = GetPayModel();
            EnrollStatus enrollStatus = GetReturnEnrollStatus(enroll.OrderNo);
            await _helper.SetPayStatus(enrollStatus, model);

            return(Success());
        }
        internal EnrollStatusResult(string response)
        {
            switch (response?.ToLower())
            {
            case "success":
                Status = EnrollStatus.Success;
                break;

            case "waiting":
                Status = EnrollStatus.Waiting;
                break;

            default:
                Status = EnrollStatus.Invalid;
                break;
            }
        }
 public async Task SetPayStatus(EnrollStatus enrollStatus, PayModelDto model)
 {
     await SetPayStatus(enrollStatus, model.OrderNo, model.PayType);
 }