public void When_toString_format_is_normal() { var viewModelString = "blablabla"; _viewModelMock.Setup(s => s.ToViewModelString(It.IsAny<IDelimiter>())).Returns(viewModelString); var commonResult = new CommonActionResult(_requestRepoMock.Object, _viewModel, Delimiters.Default); var ret = commonResult.ToString(); Assert.True(ret.Contains("data=" + viewModelString)); }
public void When_common_result_action_exist_should_update_common_result_value() { var viewModelString = "blablabla"; _viewModelMock.Setup(s => s.ToViewModelString(It.IsAny<IDelimiter>())).Returns(viewModelString); var commonResult = new CommonActionResult(_requestRepoMock.Object, _viewModel, Delimiters.Default); commonResult.CommonResultAction = s => s.result = 5; var ret = commonResult.ToString(); Assert.True(ret.Contains("result=5&")); }
public void Simple_test() { var model = new List<ViewModel>{ new ViewModel{Id=1, Name="Jere", Age=30, BirthDay=new DateTime(1982, 4, 26, 16, 10, 10).AddYears(-30)}, new ViewModel{Id=2, Age=40, Name="tom"}}; var commonResult = new CommonActionResult(_requestRepoMock.Object, model, Delimiters.Default); var ret = commonResult.ToString(); Assert.Equal("{\"result\":0,\"desc\":\"成功\",\"count\":2,\"host\":null,\"data\":[{\"id\":1,\"name\":\"Jere\",\"birthday\":\"1952-04-26 16:10:10\"},{\"id\":2,\"name\":\"tom\",\"birthday\":\"0001-01-01 00:00:00\"}]}", ret); }
public void When_specify_total_property_should_display_the_count_field() { var viewModelString = "blablabla"; _viewModelMock.Setup(s => s.ToViewModelString(It.IsAny<IDelimiter>())).Returns(viewModelString); var commonResult = new CommonActionResult(_requestRepoMock.Object, _viewModel, Delimiters.Default); commonResult.Total = 100; var ret = commonResult.ToString(); Assert.Equal("result=0&desc=成功&total=100&delims=|;,&data=blablabla", ret); }
public static CommonActionResult BetingOrderCheck(HK6Sports_BetingInfo info, IList <blast_played> playedList) { CommonActionResult result = new CommonActionResult(); result.IsSuccess = true; //校验投注订单合法信息,包括金额 玩法,号码, foreach (var item in info.orderList) { var played = playedList.Where(b => b.id == item.playedId).FirstOrDefault(); if (played != null) { //每一种玩法检查最小金额 //每一注最小金额是否合法 //if (item.unitPrice < played.minCharge) //{ // result.Message = "每一注最小金额错误"; // result.IsSuccess = false; // return result; //} //每一种玩法 号码检查是否合法 var tempbol = false; switch (played.Tag) { case "ZT": //特码 tempbol = HK6_特码.BetingCodeCheck(item); break; default: break; } if (!tempbol) { result.Message = "号码格式错误"; result.IsSuccess = false; return(result); } } else { result.Message = "投注玩法不支持"; result.IsSuccess = false; return(result); } } //校验追号是否合法,加倍是否合法 return(result); }
public JsonResultBase(CommonActionResult commonActionResult) { if (commonActionResult.CommonResult != null) { this.ResultCode = commonActionResult.CommonResult.result; this.Description = commonActionResult.CommonResult.desc; this.CustomResultHeaders = commonActionResult.CustomResultHeaders; } this.Host = commonActionResult.Host; }
public JsonCommonResult(CommonActionResult commonActionResult) : base(commonActionResult) { this.Data = commonActionResult.ViewModels; if (this.Data != null) { this.Count = commonActionResult.ViewModels.Count; } this.Total = commonActionResult.Total; if (this.Total.HasValue) { this.CustomResultHeaders.Add(new CustomHeaderItem { Key = "total", Value = this.Total.ToString(), IsValueType = true }); } }
public CommonActionResult DeleteAppendBonusConfig(string gameCode) { string strMsg = string.Empty; CommonActionResult resultObj = null; Session.Clear(); int iDelete = Session.CreateQuery(string.Format("delete AppendBonusConfig c where c.GameCode='{0}' ", gameCode)).ExecuteUpdate(); if (iDelete > 0) { resultObj = new CommonActionResult(true, "清除加奖配置成功!"); } else { resultObj = new CommonActionResult(false, "清除加奖配置失败!"); } return(resultObj); }
protected virtual ActionResult BuildRedirectResult(Func <bool> checkParameterAction, Func <string> getRedirectUrlAction, bool isCheckSign = false) { string redirectUrl = string.Empty; try { if (isCheckSign) { var urlSig = new UrlSignature(this.RequestRepository, Encoding.UTF8); if (!urlSig.IsValid()) { var defaultViewModels = new List <IViewModel>(); var actionResult = new CommonActionResult(this.RequestRepository, defaultViewModels); actionResult.CommonResult = new CommonResult(); actionResult.CommonResult.Result = ResultCode.ENCRYPTION_SIGN_INVALID; return(Content(actionResult.ToString())); } } if (checkParameterAction()) { redirectUrl = getRedirectUrlAction(); } } catch (Exception ex) { Logger.Error("BuildRedirectResult" + ex.Message); Logger.Info("BuildRedirectResult" + ex.StackTrace); } if (!string.IsNullOrWhiteSpace(redirectUrl)) { return(Redirect(redirectUrl)); } else { return(null); } }
public virtual CommonActionResult BuildResult <T>(Func <bool> checkParameterAction, Func <IList <T> > getViewModelsActions, bool?checkSignature = null) where T : IViewModel { var defaultViewModels = new List <IViewModel>(); var actionResult = new CommonActionResult(this.RequestRepository, defaultViewModels); actionResult.CommonResult = new CommonResult(); try { var shouldCheckSignature = checkSignature ?? this.ShouldCheckSignature; if (shouldCheckSignature) { var urlSig = new UrlSignature(this.RequestRepository, Encoding.UTF8); if (urlSig.IsValid()) { CheckParamAndGetResult <T>(checkParameterAction, getViewModelsActions, actionResult); } else { actionResult.CommonResult.Result = ResultCode.ENCRYPTION_SIGN_INVALID; } } else { CheckParamAndGetResult <T>(checkParameterAction, getViewModelsActions, actionResult); } } catch (Exception ex) { actionResult.CommonResult.Result = ResultCode.System_Error; Logger.Error(string.Format("BuildResult Error:{1}{0}URL:{2}{0}Stacktrace{3}", Environment.NewLine, ex.Message, this.RequestRepository.RawUrl, ex.StackTrace)); } return(actionResult); }
public CommonActionResult UpdateAppendBonusConfig(AppendBonusConfigInfo_QueryCollection collection) { bool result = true; string strMsg = string.Empty; CommonActionResult resultObj = null; var configList = collection.ConfigList; Session.Clear(); using (var biz = new GameBizBusinessManagement()) { biz.BeginTran(); foreach (var item in configList) { try { var configAll = Session.CreateCriteria <External.Domain.Entities.AppendBonusConfig.AppendBonusConfig>() .Add(Restrictions.Eq("GameCode", item.GameCode)) .Add(Restrictions.Eq("GameType", item.GameType)) .List <External.Domain.Entities.AppendBonusConfig.AppendBonusConfig>(); if (configAll.Count == 0) { var config = new External.Domain.Entities.AppendBonusConfig.AppendBonusConfig { GameCode = item.GameCode, GameType = item.GameType, AppendBonusMoney = item.AppendBonusMoney, AppendRatio = item.AppendRatio, StartMultiple = item.StartMultiple, ColorBeanNumber = item.ColorBeanNumber, ColorBeanRatio = item.ColorBeanRatio, ColorBeanStartMultiple = item.ColorBeanStartMultiple, ModifyTime = DateTime.Now, StartIssueNumber = item.StartIssueNumber, EndIssueNumber = item.EndIssueNumber, BonusMoneyStartMultiple = item.BonusMoneyStartMultiple }; Add <External.Domain.Entities.AppendBonusConfig.AppendBonusConfig>(config); } else { var config = configAll[0]; config.AppendBonusMoney = item.AppendBonusMoney; config.AppendRatio = item.AppendRatio; config.StartMultiple = item.StartMultiple; config.ColorBeanNumber = item.ColorBeanNumber; config.ColorBeanRatio = item.ColorBeanRatio; config.ColorBeanStartMultiple = item.ColorBeanStartMultiple; config.ModifyTime = DateTime.Now; config.StartIssueNumber = item.StartIssueNumber; config.EndIssueNumber = item.EndIssueNumber; config.BonusMoneyStartMultiple = item.BonusMoneyStartMultiple; Update <External.Domain.Entities.AppendBonusConfig.AppendBonusConfig>(config); } } catch { result = false; strMsg += item.GameName + "-" + item.GameTypeName; break; } } if (result == false) { biz.RollbackTran(); resultObj = new CommonActionResult(result, strMsg + ":加奖配置失败!"); } else { biz.CommitTran(); resultObj = new CommonActionResult(result, "加奖配置成功!"); } } return(resultObj); }
public void StartOpenWinNumBJPK(Func <List <blast_data>, CommonActionResult> fn) { //if (thread != null) //{ // throw new LogicException("已经运行"); //} gameName = gameName.ToUpper(); BeStop = 0; // fn("",null); //string tempStr = Lottery.CrawGetters.InitConfigInfo.NumLettory_SleepTimeSpanSettings["HK6"].ToString(); //int initTimeData = int.Parse(tempStr); int sleep = 1000 * 60; //thread = Task.Factory.StartNew((Fn) => //{ List <blast_lhc_time> all = new List <blast_lhc_time>(); List <blast_data> dic = null; int Count = 0; //while (true) //{ ////TODO:销售期间,暂停采集 //Count++; //if (Count >= 10) //{ // break; //} ////TODO:销售期间,暂停采集 try { //每周天执行一次 System.DayOfWeek w = DateTime.Now.DayOfWeek; //if (System.DayOfWeek.Sunday==w && DateTime.Now.Hour==10 && DateTime.Now.Minute==30) //{ dic = WinNumberGetter_pk.OpenWinNum(); if (dic.Count > 0) { WriteLog("采集到数据"); // WriteLog(JsonHelper.Serialize(dic)); // var Nfn = Fn as Func<List<blast_data_time>, CommonActionResult>; CommonActionResult result = fn(dic); if (result.IsSuccess) { WriteLog("成功同步到数据库"); } WriteLog(result.Message + result.ReturnValue); WriteLogAll(); //break; } else { WriteLog("六合彩开奖结算没有踩到数据"); // sleep = 1000 * 5; } WriteLogAll(); } catch (Exception ex) { WriteError("处理:" + ex.Message); } finally { Thread.Sleep(sleep); } //} // }, fn); // thread.Start(); }
public void Should_append_custom_value_if_speicfied_customeHeader_content() { var viewModelString = "blablabla"; _viewModelMock.Setup(s => s.ToViewModelString(It.IsAny<IDelimiter>())).Returns(viewModelString); var commonResult = new CommonActionResult(_requestRepoMock.Object, _viewModel, Delimiters.Default); //commonResult.CustomResultHeaderContent["sver"] = "4"; commonResult.CustomResultHeaders.Add(new CustomHeaderItem { Key = "sver", Value = "4", IsValueType = true }); var ret = commonResult.ToString(); Assert.True(ret.Contains("result=0&desc=成功&delims=|;,&sver=4&data=")); }
public Task <CommonActionResult> Betting(HK6Sports_BetingInfo info, string password, decimal redBagMoney, string userid) { CommonActionResult cresult = new CommonActionResult(); try { var playedList = DB.CreateQuery <blast_played>().ToList(); //校验投注订单合法信息,包括金额 玩法,号码, #region 校验投注订单合法信息,包括金额 玩法,号码, cresult = Hk6_BaseAnalyzer.BetingOrderCheck(info, playedList); if (!cresult.IsSuccess) { return(Task.FromResult(cresult)); } #endregion #region 校验追期期号是否合法,加倍是否合法 var issue = DB.CreateQuery <blast_lhc_time>().Where(b => b.actionNo == info.issueNo).FirstOrDefault(); if (issue == null || issue.actionTime < DateTime.Now) { cresult.IsSuccess = false; cresult.Message = "期号错误无法购买"; return(Task.FromResult(cresult)); } // foreach (var item in info.planList) { if (item.issueNo <= issue.actionNo) { cresult.IsSuccess = false; cresult.Message = "期号错误无法购买"; return(Task.FromResult(cresult)); } } #endregion #region 校验金额是否足够 var LoginUser = DB.LettoryDB <E_Login_Local>(); #endregion } catch (Exception) { throw; } finally { //释放资源 DB.Dispose(); LettoryDB.Dispose(); } //校验追号是否合法,加倍是否合法 //校验是否重复投注 //获取用户信息 //校验金额是否足够 //生成订单 //扣款 //using (DB) //{ //数据库处理 //重复投注保护 //} return(Task.FromResult(cresult)); }
private static void CheckParamAndGetResult <T>(Func <bool> checkParameterAction, Func <IList <T> > getViewModelsActions, CommonActionResult actionResult) where T : IViewModel { if (checkParameterAction()) { var viewModels = getViewModelsActions(); if (viewModels.Any()) { actionResult.CommonResult.Result = ResultCode.Successful; } else { actionResult.CommonResult.Result = ResultCode.No_Record_Found; } if (viewModels != null && viewModels.Any()) { viewModels.ToList().ForEach(s => actionResult.ViewModels.Add(s)); } } else { actionResult.CommonResult.Result = ResultCode.Invalid_Parameter; } }
public JsonSingleDataResult(CommonActionResult commonActionResult) : base(commonActionResult) { if (commonActionResult.ViewModels != null && commonActionResult.ViewModels.Count > 0) this.Data = commonActionResult.ViewModels[0]; }
public CommonActionResult GetGames(int type) { CommonActionResult sresult = new CommonActionResult(); try { blast_type result = null; //await this.data_manager.UseConnectionAsync(async db => //{ // result = await db.QueryFirstOrDefaultAsync<blast_type>("select id,type,sort,name,title,shortName,info,data_ftime,enable from blast_type where isDelete=0 and id=@id order by sort", new { id = type }); //}); result = DB.CreateQuery <blast_type>().Where(b => b.typeid == type).FirstOrDefault(); if (result == null) { throw new ArgumentException("未有该彩种ID,请传正确的彩种ID"); } var thistime = DateTime.Now; var lasttime = DateTime.Now; //TimeSpan.FromSeconds string actionTime = DateTime.Now.AddSeconds(result.data_ftime).ToString("HH:mm:ss"); var now = DateTimeHelper.LocalDateTimeToUnixTimeStamp(DateTime.Now); string sqltalbe = "blast_data_time"; //if (result.id == 34) //{ // sqltalbe = "blast_lhc_time"; // actionTime = DateTime.Now.AddSeconds(result.data_ftime).ToString(); //} int gameid = result.typeid; blast_data_time nextgameno = null; blast_data_time lastgameno = null; //string kjhao = ""; //nextgameno = (from b in DB.CreateQuery<blast_data_time>() // where b.typeid == type && b.actionhours > actionTime // orderby b.actionhours // select b).FirstOrDefault(); nextgameno = DB.CreateSQLQuery($"select * from " + $"{sqltalbe} where typeid=@type and actionTime>@actionTime " + $"order by actionTime limit 1") .SetString("@type", type + "") .SetString("@actionTime", actionTime + "").First <blast_data_time>(); if (nextgameno == null) { //nextgameno = (from b in DB.CreateQuery<blast_data_time>() // where b.typeid == type // orderby b.actionhours // select b).FirstOrDefault(); nextgameno = DB.CreateSQLQuery($"select * from {sqltalbe} " + $"where typeid=@type order by actionTime limit 1") .SetString("@type", type + "").First <blast_data_time>(); thistime = thistime.AddDays(1); } //lastgameno = (from b in DB.CreateQuery<blast_data_time>() // where b.typeid == type && b.actionhours <= actionTime // orderby b.actionhours // select b).FirstOrDefault(); //new { type = gameid, actionTime = actionTime } lastgameno = DB.CreateSQLQuery($"select * from {sqltalbe} " + $"where typeid=@type and actionTime<=@actionTime order by actionTime desc limit 1") .SetString("@type", gameid + "") .SetString("@actionTime", actionTime + "").First <blast_data_time>(); if (lastgameno == null) { lastgameno = (from b in DB.CreateQuery <blast_data_time>() where b.typeid == type orderby b.actionTime select b).FirstOrDefault(); // lastgameno = await db.QueryFirstOrDefaultAsync($"select actionNo, actionTime from {sqltalbe} where type=@type order by actionNo desc limit 1", new { type = gameid }); lasttime = lasttime.AddDays(-1); } //开奖时间 #region 当前期 //if (result.id == 34) //{ // actionTime = nextgameno.actionTime.ToString(); //} //else { string ts = nextgameno.actionTime; Console.WriteLine($"TimeSpan: {ts.ToString()}"); actionTime = $"{thistime.ToString("yyyy-MM-dd")} {ts}"; } thistime = Convert.ToDateTime(actionTime); var bagintime = DateTimeHelper.LocalDateTimeToUnixTimeStamp(thistime.Date); int actionNo = nextgameno.actionNo; string date = thistime.ToString("yyyyMMdd"); string number = UsefullHelper.NumberFormat(gameid, date, thistime, int.Parse(actionNo + ""), bagintime); var thistimenow = DateTimeHelper.LocalDateTimeToUnixTimeStamp(thistime); var kjDiffTime = thistimenow - now; var diffTime = kjDiffTime - (ulong)result.data_ftime; #endregion #region 一期 string lastactionTime = string.Empty; if (result.id == 34) { lastactionTime = lastgameno.actionTime.ToString(); } else { string ts = lastgameno.actionTime; lastactionTime = $"{lasttime.ToString("yyyy-MM-dd")} {ts}"; } var lastbagintime = DateTimeHelper.LocalDateTimeToUnixTimeStamp(lasttime.Date); string lastactionNo = lastgameno.actionNo + ""; string lastdate = lasttime.ToString("yyyyMMdd"); string lastnumber = UsefullHelper.NumberFormat(gameid, lastdate, lasttime, int.Parse(lastactionNo), lastbagintime); #endregion int lastnum = int.Parse(lastnumber); //new { type = gameid, number = lastnumber } //string kjhao = DB.CreateSQLQuery($"select kjdata from blast_data where type=@type and issueNo=@number") // .SetString("@number", lastnumber + "") // .SetString("@type", gameid+"").First<string>(); string kjhaonum = ""; var kjhao = DB.CreateQuery <blast_data>().Where(b => b.typeid == gameid && b.issueNo == lastnum).FirstOrDefault(); if (kjhao != null) { kjhaonum = kjhao.kjdata; } //await this.data_manager.UseConnectionAsync(async db => //{ //}); sresult.IsSuccess = true; sresult.Value = new { lastactionNum = lastactionNo, //上一期期号 lastactionNo = lastnumber, //期号 id = result.id, type = result.typeid, gamecode = result.name, sort = result.sort, title = result.title, gamename = result.shortName, info = result.info, actionNum = actionNo, //期数 actionTime = DateTimeHelper.LocalDateTimeToUnixTimeStamp(thistime), //开奖时间 actionNo = number, //期号 nowTime = DateTimeHelper.LocalDateTimeToUnixTimeStamp(DateTime.Now), //当前服务器时间 diffTime = diffTime, //下注截至倒计时 dataftime = result.data_ftime, //开奖前停止下注时间差 kjDiffTime = kjDiffTime, //离开奖时间还剩多少秒 kjdata = kjhaonum, actionTime1 = actionTime, actionTime2 = nextgameno.actionTime, enable = result.enable }; } catch (ArgumentException exp) { sresult.IsSuccess = false; sresult.Code = 300; sresult.StatuCode = 300; sresult.ReturnValue = exp.ToString(); } catch (Exception exp) { sresult.IsSuccess = false; sresult.Code = 300; sresult.StatuCode = 300; sresult.ReturnValue = exp.ToString(); } finally { DB.Dispose(); } return(sresult); }
public CommonActionResult BJPKOpenwinNum(List <blast_data> list) { CommonActionResult result = new CommonActionResult(); var db = new DbProvider(); //// db.Init("Default"); try { int actionNo = 0; string winNum = ""; db.Init("MySql.Default", true); var datalist = db.CreateQuery <blast_data>().Where(b => b.typeid == 2).ToList(); var orderdetail = db.CreateQuery <blast_bet_orderdetail>().Where(b => b.BonusStatus == 0 && b.typeid == 2).ToList <blast_bet_orderdetail>(); var playedlist = db.CreateQuery <blast_played>().Where(b => b.typeid == 2).ToList(); db.Begin(); try { string act = ""; string tm = ""; string zm = ""; foreach (var item in list) { actionNo = item.issueNo; var one = datalist.Where(b => b.issueNo == actionNo && b.typeid == 2).FirstOrDefault(); if (one == null) { item.typeid = 2; // item.isOpen = 1; db.GetDal <blast_data>().Add(item); one = item; } else { int did = item.id; //db.GetDal<blast_data>().Update(b => new blast_data //{ // isOpen = 1 //}, b => b.id == did); } { winNum = one.kjdata;//.Replace("+", "|"); //结算 act = actionNo + ""; var orderdetailList = orderdetail.Where(b => b.issueNo == act).ToList(); // BaseOrderHelper bh = new BaseOrderHelper(); foreach (blast_bet_orderdetail oritem in orderdetailList) { //开始结算 // tm = winNum.Split('|')[1]; //zm = winNum.Split('|')[0]; BaseOrderHelper winHelper = BaseOrderHelper.GetOrderHelper(oritem, db); winHelper.WinMoney(oritem, winNum); } } } db.Commit(); result.Message = "成功结算"; result.IsSuccess = true; } catch (Exception ex) { result.ReturnValue = ex.ToString(); result.Message = "失败"; result.IsSuccess = false; //throw; db.Rollback(); } // index++; } catch (Exception ex) { result.ReturnValue = ex.ToString(); result.Message = "开奖成功"; result.IsSuccess = false; } finally { db.Dispose(); } return(result); }