public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData, NormConfigDto userNormConfig) { var planInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId); var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod); if (lotteryData == null) { return(PredictedResult.Running); } var lotteryNumber = new LotteryNumber(lotteryData); var rank = planInfo.PositionInfos.First().Position; var lotteryNumberData = lotteryNumber.GetRankNumber(rank); if (startPeriodData.PredictedData.Contains(lotteryNumberData.ToString())) { if (planInfo.DsType == PredictType.Fix) { return(PredictedResult.Right); } } else { if (planInfo.DsType == PredictType.Kill) { return(PredictedResult.Right); } } if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod) { return(PredictedResult.Error); } return(PredictedResult.Running); }
public ActionResult Create(ViewModelLottery viewModelLottery) { if (ModelState.IsValid) { var modelLottery = new Lottery { Name = viewModelLottery.Name, StartDate = viewModelLottery.StartDate, EndDate = viewModelLottery.EndDate, LotteryPriceId = viewModelLottery.LotteryPriceId }; _lotteryRepository.InsertOrUpdate(modelLottery); _lotteryRepository.Save(); for (int i = 1; i <= viewModelLottery.NumbersToGenerate; i++ ) { var number = new LotteryNumber { LotteryId = modelLottery.LotteryId, Number = i, SoldDate = null, WasSold = false }; _lotteryNumber.InsertOrUpdate(number); } _lotteryNumber.Save(); return RedirectToAction("Index"); } ViewBag.PossibleLotteryPrices = _lotterypriceRepository.All; return View(viewModelLottery); }
public static bool CheckDuplicateTicket(long ticketId, bool isForApproval, LotteryNumber lotteryNumber = null) { using (var conn = new SqlConnection(connString)) { conn.Open(); var cmd = new SqlCommand("CheckDuplicateTicket", conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@TicketId", ticketId); cmd.Parameters.AddWithValue("@IsForApproval", isForApproval); if (lotteryNumber != null) { cmd.Parameters.AddWithValue("@LotteryNumberId", lotteryNumber.LotteryNumberId); cmd.Parameters.AddWithValue("@MatchNumbers", lotteryNumber.MatchNumbers); cmd.Parameters.AddWithValue("@FinalNumbers", lotteryNumber.FinalNumbers); } return(Convert.ToInt32(cmd.ExecuteScalar()) == 1 ? true : false); } }
public ActionResult LotteryNumberAddNew(LotteryNumber lotteryNumber, int ticketId) { if (ModelState.IsValid) { try { var dupNumFound = repo.CheckDuplicateTicket(ticketId, false, lotteryNumber); if (dupNumFound) { ViewData["EditError"] = DuplicateTicketFoundMessage; } else { repo.SaveLotteryNumbers(lotteryNumber); } } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(PartialView("LotteryNumberPartial", GetLotteryNumbers(ticketId))); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { string lotteryData = string.Empty; lotteryData = lotteryNumber[postion].ToString(); return(lotteryData); }
public static LotteryNumber DecodeNumbers(Lottery l) { for (int tries = 0; tries < 3; tries++) { try { l.LoadHtml(l.url); IStateDecodable decode = l.state as IStateDecodable; LotteryNumber num = decode.GetLatestNumbers(l); return(num); } catch (Exception ex) { if (ex.InnerException != null) { if (ex.InnerException.Message.Contains("closed.")) { AddToConsole(" ...The host closed the connection."); AddToConsole(" ...Retrying (" + (tries + 1) + " of 3)"); Thread.Sleep(1000); continue; } } AddToConsole("Unknown exception while running " + l.lotteryName); AddToConsole(" ..." + ex.Message); if (ex.InnerException != null) { AddToConsole(" ..." + ex.InnerException.Message); } AddToConsole("Stack trace: \n" + ex.StackTrace); } } throw new NumbersUnavailableExcpetion(); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { var lotteryData = String.Empty; var lotteryRank = lotteryNumber.Datas.IndexOf(postion); lotteryData = valList[lotteryRank]; return(lotteryData); }
private void accordionControlElement70_Click(object sender, EventArgs e) { lotn = new LotteryNumber(); lotn.Show(); lotn.Dock = DockStyle.Fill; panel2.Controls.Clear(); panel2.Controls.Add(lotn); }
private void TheNumberShouldBeBetweenOneAndFortyNine() { for (var i = 0; i < 100; i++) { var number = LotteryNumber.Generate(new MonoStateRandomNumberGenerator(Int32.MaxValue)); Assert.InRange(number.Value, min, max); } }
private void ItShouldWriteItToDisk() { var writer = new FakeWriter(); LotteryNumberSetWriter.WriteSet(writer, LotteryNumberSet.Generate(() => LotteryNumber.Generate(new MonoStateRandomNumberGenerator(Int32.MaxValue)))); Assert.True(writer.Written); }
private void processWinningNumbers(ref Lottery lottery, string currentLine, ref StreamReader reader, ICollection <LotteryHtmlTag> winningNumberTags) { string winningNumber = null; LotteryNumber currNumber = null; int totalDrawNumbers; int numbersFound = 0; try { totalDrawNumbers = lottery.TotalNumberDraws; // If we have a bonus, add one more draw if (lottery.HasBonus) { totalDrawNumbers++; } // Get the winning Numbers while (numbersFound < totalDrawNumbers || currentLine != null) { winningNumber = Regex.Match(currentLine, @"\d+").Value; // If winning numbers were found, add it to the collection if (!String.IsNullOrEmpty(winningNumber)) { // Find the winning number in the collection, and increment its frequency if (lottery.LotteryNumbers != null) { currNumber = lottery.LotteryNumbers.FirstOrDefault(n => n.Number.Equals(winningNumber)); } if (currNumber != null) { currNumber.TimesPicked++; } else // Number doesnt exist and must be added { lottery.LotteryNumbers.Add(new LotteryNumber { Number = winningNumber, LotteryId = lottery.LotteryId, TimesPicked = 1 }); } numbersFound++; } currentLine = reader.ReadLine(); } } catch (Exception ex) { Console.WriteLine(ex); } }
private object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { var numData = lotteryNumber[postion]; string lotteryData = string.Empty; switch (planInfo.PredictCode) { case PredictCodeDefinition.NumCode: lotteryData = lotteryNumber[postion].ToString(); break; case PredictCodeDefinition.LhCode: var firstVal = lotteryNumber[postion]; var secondVal = lotteryNumber[lotteryNumber.Datas.Length - postion + 1]; if (firstVal > secondVal) { lotteryData = longVal; } else { lotteryData = huVal; } break; case PredictCodeDefinition.RankCode: // lotteryData = valList[postion]; var lotteryRank = lotteryNumber.Datas.IndexOf(postion); lotteryData = valList[lotteryRank]; break; case PredictCodeDefinition.ShapeCode: if (numData % 2 == 0) { lotteryData = doubleVal; } else { lotteryData = singleVal; } break; case PredictCodeDefinition.SizeCode: var sizeCriticalVal = planInfo.PositionInfos.First().MaxValue / 2; if (numData > sizeCriticalVal) { lotteryData = bigVal; } else { lotteryData = smallVal; } break; } return(lotteryData); }
public ActionResult Create(LotteryNumber lotterynumber) { if (ModelState.IsValid) { _lotterynumberRepository.InsertOrUpdate(lotterynumber); _lotterynumberRepository.Save(); return RedirectToAction("Index"); } ViewBag.PossiblePrizes = _prizeRepository.All; ViewBag.PossibleSales = _saleRepository.AllIncluding(sale => sale.Client); ViewBag.PossibleLotteries = _lotteryRepository.All; return View(); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { var lotteryData = string.Empty; var numData = lotteryNumber[postion]; if (numData % 2 == 0) { lotteryData = danShuangVal[1]; } else { lotteryData = danShuangVal[0]; } return(lotteryData); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { var lotteryData = string.Empty; var numData = lotteryNumber[postion]; var sizeCriticalVal = planInfo.PositionInfos.First().MaxValue / 2; if (numData.IsPrime()) { lotteryData = zhiHeVal[0]; } else { lotteryData = zhiHeVal[1]; } return(lotteryData); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { string lotteryData = string.Empty; var firstVal = lotteryNumber[postion]; var secondVal = lotteryNumber[lotteryNumber.Datas.Length - postion + 1]; if (firstVal > secondVal) { lotteryData = longhuVal[0]; } else { lotteryData = longhuVal[1]; } return(lotteryData); }
public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData, NormConfigDto userNormConfig) { var planInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId); var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod); if (lotteryData == null) { return(PredictedResult.Running); } var lotteryNumber = new LotteryNumber(lotteryData); var lotteryNumCount = lotteryNumber.Datas.Length; var lotteryNumbers = new List <int>(); foreach (var position in planInfo.PositionInfos) { var lotteryNumberData = GetLotteryNumberData(lotteryNumber, position.Position, planInfo); lotteryNumbers.Add(Convert.ToInt32(lotteryNumberData)); } var predictNumber = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p)).ToArray(); if (userNormConfig.ForecastCount <= lotteryNumCount) { if (predictNumber.All(p => lotteryNumbers.Contains(p))) { return(PredictedResult.Right); } else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod) { return(PredictedResult.Error); } } else { if (predictNumber.All(p => lotteryNumber.Datas.Contains(p))) { return(PredictedResult.Right); } else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod) { return(PredictedResult.Error); } } return(PredictedResult.Running); }
public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData, NormConfigDto userNormConfig) { var planInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId); var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod); if (lotteryData == null) { return(PredictedResult.Running); } var lotteryNumber = new LotteryNumber(lotteryData); var sum = 0; foreach (var position in planInfo.PositionInfos) { var lotteryNumberData = GetLotteryNumberData(lotteryNumber, position.Position, planInfo); sum += Convert.ToInt32(lotteryNumberData); } var junzhi = (int)(sum / planInfo.PositionInfos.Count); bool isRight; var numPredictData = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p)); if (planInfo.DsType == PredictType.Fix) { isRight = numPredictData.Contains(junzhi); } else { isRight = !numPredictData.Contains(junzhi); } if (isRight) { return(PredictedResult.Right); } else { if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod) { return(PredictedResult.Error); } return(PredictedResult.Running); } }
public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData, NormConfigDto userNormConfig) { var planInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId); var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod); if (lotteryData == null) { return(PredictedResult.Running); } var lotteryNumber = new LotteryNumber(lotteryData); var postion = planInfo.PositionInfos.First().Position; var lotteryNumberData = GetLotteryNumberData(lotteryNumber, postion, planInfo).ToString(); bool isRight; var numPredictData = startPeriodData.PredictedData.Split(',').Select(p => p.ToString()); if (planInfo.DsType == PredictType.Fix) { isRight = numPredictData.Contains(lotteryNumberData); } else { isRight = !numPredictData.Contains(lotteryNumberData); } if (isRight) { return(PredictedResult.Right); } else { if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod) { return(PredictedResult.Error); } return(PredictedResult.Running); } }
public void Insert(LotteryNumber info) { _lotteryNumberRepository.Insert(info); }
public LotteryNumber GetLatestNumbers(Lottery lottery) { try { if (String.IsNullOrWhiteSpace((lottery.html))) { throw new MissingFieldException("Illinois.cs", lottery.html); } HtmlDocument Illinois = new HtmlDocument(); Illinois.LoadHtml(lottery.html); int index = -1; string sub = ""; int nums = 5; if (lottery.lotteryName.Equals("illinois_lotto")) { nums = 6; index = 2; } else if (lottery.lotteryName.Equals("illinois_luckydaylottoday")) { index = 3; sub = "Day"; } else if (lottery.lotteryName.Equals("illinois_luckydaylottoeve")) { index = 4; sub = "Eve"; } else if (lottery.lotteryName.Equals("illinois_pick3day")) { index = 5; nums = 3; sub = "Day"; } else if (lottery.lotteryName.Equals("illinois_pick3eve")) { index = 8; nums = 3; sub = "Eve"; } else if (lottery.lotteryName.Equals("illinois_pick4day")) { index = 11; nums = 4; sub = "Day"; } else if (lottery.lotteryName.Equals("illinois_pick4eve")) { index = 14; nums = 4; sub = "Eve"; } HtmlNode node = Illinois.DocumentNode.SelectNodes("//ul[contains(@class,'numbers')]")[index]; HtmlNode[] nodes = node.SelectNodes(".//li").ToArray(); LotteryNumber num = new LotteryNumber() { date = GetLatestDate(lottery), lottery = lottery, subdate = sub }; if (nums == 6) { num.numbers = new string[] { nodes[0].InnerText, nodes[1].InnerText, nodes[2].InnerText, nodes[3].InnerText, nodes[4].InnerText, nodes[5].InnerText }; num.specials = new string[] { nodes[6].InnerText }; } else if (nums == 5) { num.numbers = new string[] { nodes[0].InnerText, nodes[1].InnerText, nodes[2].InnerText, nodes[3].InnerText, nodes[4].InnerText, }; } else if (nums == 4) { num.numbers = new string[] { nodes[0].InnerText, nodes[1].InnerText, nodes[2].InnerText, nodes[3].InnerText, }; } else if (nums == 3) { num.numbers = new string[] { nodes[0].InnerText, nodes[1].InnerText, nodes[2].InnerText, }; } return(num); } catch { throw; } throw new Exception(); }
protected override object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo) { throw new System.NotImplementedException(); }
protected abstract object GetLotteryNumberData(LotteryNumber lotteryNumber, int postion, PlanInfoDto planInfo);
public ActionResult Edit(ViewModelLottery viewModelLottery) { Lottery modelLottery = _lotteryRepository.FindIncluding(viewModelLottery.LotteryId, lottery => lottery.LotteryPrice, lottery => lottery.Prizes, lottery => lottery.LotteryNumbers); if (viewModelLottery.NumbersToGenerate != modelLottery.LotteryNumbers.Count) { if (modelLottery.LotteryNumbers.Any(lotteryNumber => lotteryNumber.WasSold)) { ModelState.AddModelError("NumbersToGenerate", EditorLocalization.LotteriesController_Edit_Numeros_ja_foram_vendidos); } } if (ModelState.IsValid) { modelLottery.LotteryPriceId = viewModelLottery.LotteryPriceId; modelLottery.Name = viewModelLottery.Name; modelLottery.StartDate = viewModelLottery.StartDate; modelLottery.EndDate = viewModelLottery.EndDate; _lotteryRepository.InsertOrUpdate(modelLottery); _lotteryRepository.Save(); if (viewModelLottery.NumbersToGenerate != modelLottery.LotteryNumbers.Count) { foreach (var lotteryNumber in modelLottery.LotteryNumbers) { _lotteryNumber.Delete(lotteryNumber.LotteryNumberId); } _lotteryNumber.Save(); for (int i = 1; i <= viewModelLottery.NumbersToGenerate; i++) { var number = new LotteryNumber { LotteryId = modelLottery.LotteryId, Number = i }; _lotteryNumber.InsertOrUpdate(number); } _lotteryNumber.Save(); } return RedirectToAction("Index"); } ViewBag.PossibleLotteryPrices = _lotterypriceRepository.All; return View(); }
public void Delete(LotteryNumber info) { _lotteryNumberRepository.Delete(info); }
public static void HandleUpdateIfNeeded(LotteryNumber num, int recursivecalls = 0) { try { string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (File.Exists(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html")) { //save the new html string writeHTML = num.lottery.html; num.lottery.html = File.ReadAllText(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html"); if (String.IsNullOrWhiteSpace(num.lottery.html)) { AddToConsole(" ...Record blank. Deleting..."); File.Delete(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html"); Directory.CreateDirectory(path + "\\Autoclave\\Save\\"); NumbersList.Add(num); File.WriteAllText(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html", writeHTML); AddToConsole(" ...Record re-made. This will cause a slave update."); Logging.AddToLog(new string[] { "There was a problem opening the record. The record will be remade. This will cause an update.", " [" + num.lottery.lotteryName + "]" }); } LotteryNumber numold; try { IStateDecodable decode = num.lottery.state as IStateDecodable; numold = decode.GetLatestNumbers(num.lottery); } catch { AddToConsole(" ...There was an error reading the record. The record will be remade. This will cause an update."); Logging.AddToLog(new string[] { "There was an error reading the record. The record will be remade. This will cause an update.", " [" + num.lottery.lotteryName + "]" }); File.Delete(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html"); Directory.CreateDirectory(path + "\\Autoclave\\Save\\"); NumbersList.Add(num); File.WriteAllText(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html", writeHTML); return; } bool numsMatch = true; for (int i = 0; i < num.numbers.Length; i++) { if (numold.numbers.Length != num.numbers.Length) { numsMatch = false; break; } if (numold.numbers[i].Equals(num.numbers[i])) { numsMatch = true; break; } } if (!numsMatch || num.date != numold.date) //sense update { NumbersList.Add(num); File.WriteAllText(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html", writeHTML); AddToConsole(" ...Update found."); } } else { Directory.CreateDirectory(path + "\\Autoclave\\Save\\"); NumbersList.Add(num); File.WriteAllText(path + "\\Autoclave\\Save\\" + num.lottery.lotteryName + ".html", num.lottery.html); AddToConsole(" ...No record."); } } catch (NumbersUnavailableExcpetion) { AddToConsole(" ...Currently unavailabele/pending."); } catch (Exception ex) { AddToConsole("Exception while running " + num.lottery.lotteryName); AddToConsole(" ..." + ex.Message); if (ex.InnerException != null) { AddToConsole(" ..." + ex.InnerException.Message); } AddToConsole("Stack trace: \n" + ex.StackTrace); Logging.AddToLog(new string[] { "There was an exception while handling updates. Could the website have updated?", " [" + num.lottery.lotteryName + "]", " Stack trace: ", " " + ex.StackTrace }); } }
private void TheSetShouldHaveSixNumbers() { var set = LotteryNumberSet.Generate(() => LotteryNumber.Generate(new MonoStateRandomNumberGenerator(Int32.MaxValue))); Assert.Equal(6, set.Count); }
private void DuplicateNumbersShouldNeverBeAllowed() { var set = LotteryNumberSet.Generate(() => LotteryNumber.Generate(new FakeRandomNumberGenerator())); Assert.Equal(6, set.Count); }
public void Initialize() { mockLotteryGeneratorService = MockRepository.GenerateMock <ILotteryGeneratorService>(); lotteryNumber = new LotteryNumber(); }
public void Update(LotteryNumber info) { _lotteryNumberRepository.Update(info); }