public override bool ResponseAsk(TheAskWaitingUserAnswer ask) { if (ask.AnswerResult.key == "0")//结束流程 { answerMsg("欢迎下次使用!"); return(false); } else { PlanShareBetInfo pbi = new PlanShareBetInfo(ask.LastRequestWaitResponse.currPlan.shareAmount.Value); pbi.betWxName = requestUser; pbi.betNikeName = requestNike; pbi.subscribeShares = int.Parse(Buffs[0].ToString()); pbi.needPayAmount = pbi.subscribeShares * ask.LastRequestWaitResponse.currPlan.shareAmount.Value; currPlan.subscribeList.Add(pbi); answerMsg(pbi.toSubscribeString()); ResponseAction_ShowPlan sp = new ResponseAction_ShowPlan(wxprocess, wxmsg); sp.currPlan = currPlan; sp.answerMsg(); int realcnt = sp.currPlan.subscribeList.Sum(a => a.subscribeShares); if (realcnt >= sp.currPlan.planShares) { ResponseAction_ModifyStatus msp = new ResponseAction_ModifyStatus(wxprocess, wxmsg, SharePlanStatus.Paying, realcnt.ToString()); msp.requestUser = currPlan.creator; msp.requestNike = currPlan.creatorNike; string m = "计划募集份数已经达到,请确定是否继续超额募集!选否将停止接受认购!"; TheAskWaitingUserAnswer newask = new TheAskWaitingUserAnswer(msp, roomId, currPlan.creator, currPlan.creatorNike); newask.askData = MutliLevelData.createAValidateSubmitData("1", "确定", "0", "取消"); newask.askMsg = string.Format(@"计划募集份数已经达到,请确定是否继续超额募集!选否将停止接受认购! {0}", newask.AskText); wxprocess.InjectAsk(newask); answerMsg(newask.askMsg, null, currPlan.creatorNike); } return(true); } }
public static ResponseActionClass CreateAction(ActionType act, WXMsgProcess wxprs, wxMessageClass msg) { ResponseActionClass ret = null; switch (act) { case ActionType.ResetSystem: { ShareLotteryPlanClass.Reset(); WXMsgProcess.ActionDic = null; break; } case ActionType.ApplyCreate: { ret = new ResponseAction_ApplyCreate(wxprs, msg); break; } case ActionType.SubmitNewInfo: { ret = new ResponseAction_SubmitNewInfo(wxprs, msg); break; } case ActionType.CancelCurr: { ret = new ResponseAction_CancelCurr(wxprs, msg); break; } case ActionType.SubcribeShares: { ret = new ResponseAction_SubcribeShares(wxprs, msg); break; } case ActionType.ModifyPlan: { ret = new ResponseAction_ModifyStatus(wxprs, msg, SharePlanStatus.Ready); break; } case ActionType.AppendShares: { ret = new ResponseAction_ModifyStatus(wxprs, msg, SharePlanStatus.Paied); break; } case ActionType.JdUnion: { ret = new ResponseAction_JdUnion(wxprs, msg); break; } case ActionType.ShowPlan: { ret = new ResponseAction_ShowPlan(wxprs, msg); break; } case ActionType.EndTheSubscribe: { ret = new ResponseAction_ModifyStatus(wxprs, msg, SharePlanStatus.Paying); break; } case ActionType.DeclareResult: { ret = new ResponseAction_ModifyStatus(wxprs, msg, SharePlanStatus.Opened); break; } case ActionType.DeclareProfit: { ret = new ResponseAction_ModifyStatus(wxprs, msg, SharePlanStatus.Opened); break; } case ActionType.ClosePlan: { ret = new ResponseAction_ClosePlan(wxprs, msg); break; } case ActionType.Charge: { ret = new ResponseAction_Charge(wxprs, msg); break; } case ActionType.ValidateInfo: { ret = new ResponseAction_ValidateInfo(wxprs, msg); break; } case ActionType.ManualInstructs: { ret = new ResponseAction_ManualIntructs(wxprs, msg); break; } case ActionType.Undefined: default: { ret = new ResponseAction_Undefined(wxprs, msg); break; } } return(ret); }