/// <summary> /// Reverses the last executed command. /// </summary> public void UndoOperation() { //Remove the last operation from the stack and pass its parameters' values to the current parameters if (operationHistory.Count != 0) { ResultHistory theLastOperation = operationHistory.Pop(); param1 = theLastOperation.param1; currentOperation = theLastOperation.operation; param2 = null; if (operationHistory.Count != 0) { lastOperation = operationHistory.Peek().operation; } else { lastOperation = null; } } else { param1 = null; param2 = null; lastOperation = null; } }
public ResultHistory CheckBalanceExpirationDateAndLogEntry(long subscriptionId) { var subscription = subscriptionService.GetSubscription(subscriptionId); ResultHistory result = new ResultHistory(); result.Subscription = subscription; result.Access = Access.NoAccess; result.Message = "No access, "; if (IsAlowedAcccess(subscription)) { result.Access = Access.OK; result.Message = "Access is allowed"; } else { if (!IsPositiveBalance(subscription)) { result.Message += "because balance < 0"; } if (!IsExpirateSubscription(subscription)) { result.Message += "because subscription is expirate"; } } checkRepository.AddResult(result); return(result); }
protected override ResultHistory FirstGetResultHistory(Bitmap image) { ResultHistory resultHistory = new ResultHistory(); List <Point> pointList = new List <Point>(); int startX = 80, startY = 551; for (int col = 0; col < 10; col++) { for (int row = 0; row < 6; row++) { Color color = ImageOperator.GetImageRgb(image, startX + (16 * col), startY + (16 * row)); if (color.R >= 200 && color.G < 40 && color.B < 40) { resultHistory.CountRed++; } else if (color.G >= 120 && color.R < 80 && color.B < 80) { resultHistory.CountGreen++; } else if (color.R < 30 && color.G < 30 && color.B < 30) { resultHistory.CountBlack++; } } } return(resultHistory); }
protected override void theContextIs() { Services.PartialMockTheClassUnderTest(); theMessage = new LoadPreviousResults(); theResults = new ResultHistory(); MockFor <IResultPersistor>().Expect(x => x.LoadResults(MockFor <IProject>())).Return(theResults); }
public void Stop() { isRunning = false; gameResult = GameResult.RESULT_UNKNOW; gameState = GameState.GAME_END; resultHistory = null; SaveBetResults(); Log("停止运行"); }
public virtual ResultHistory GetFullResults() { var history = new ResultHistory(); GetAllTests().Each(t => { history[t] = t.LastResult; }); return(history); }
protected override void theContextIs() { theMessage = new LoadResultsFromDirectory() { Directory = "some directory" }; theResults = new ResultHistory(); MockFor <IResultPersistor>().Expect(x => x.LoadResults(theMessage.Directory)).Return(theResults); Services.PartialMockTheClassUnderTest(); }
//TODO: limit size of result sets public void AddResult(int result) { LastResult = result; ResultHistory.Enqueue(result); var classifier = new ResultClassifier(); List <Classification> classifications = classifier.ClassifyResult(result); foreach (var classification in classifications) { Results.AddOrUpdate(classification, 1, (key, oldValue) => oldValue + 1); } }
public ResultHistory AddResult(ResultHistory resultHistory) { string query = "insert into public.result_history (subscription_id, access, message, date, service_id) values(@SubscriptionId, @Access, @Message, @Date, @ServiceId) returning *"; using (var connection = db.GetConnection()) { var result = connection.QueryFirst <ResultHistory>(query, new { SubscriptionId = resultHistory.Subscription.Id, Access = resultHistory.Access, Message = resultHistory.Message, Date = DateTime.Now, ServiceId = resultHistory.Service_Id }); return(result); } }
protected override void beforeEach() { theHierarchy = MockRepository.GenerateMock <Hierarchy>("name"); Services.Inject(new ProjectContext() { Hierarchy = theHierarchy }); theMessage = new SaveResultsToDirectoryMessage() { Directory = "some directory" }; theResults = new ResultHistory(); theHierarchy.Expect(x => x.GetFullResults()).Return(theResults); ClassUnderTest.HandleMessage(theMessage); }
protected override void beforeEach() { hierarchy = DataMother.MathProject().LoadTests(); tests = hierarchy.GetAllTests().ToArray(); test1 = tests[0]; test2 = tests[1]; test3 = tests[2]; test2.LastResult = new TestResult(); test3.LastResult = new TestResult(); results = new ResultHistory(); results[test1] = new TestResult(); results[test2] = new TestResult(); ClassUnderTest.ApplyResults(hierarchy, results); }
public ResultHistory CheckInclusiveServiceAndLogEntry(long subscriptionId, string serviceName) { serviceName = serviceName.ToUpper(); var subscription = subscriptionService.GetSubscription(subscriptionId); if (!IsAlowedAcccess(subscription) && !subscription.Services.Exists(service => service.Name.Equals(serviceName))) { return(CheckBalanceExpirationDateAndLogEntry(subscription.Id)); } var result = new ResultHistory(); Transaction transaction = new Transaction(); var services = serviceRepository.GetServices(); bool IsContainService = subscription.Services.Exists(service => service.Name.Equals(serviceName)); if (!IsContainService) { transaction.Description = serviceName; transaction.Amount = services.First(service => service.Name.Equals(serviceName)).Price; transactionRepository.AddTransactionWithdrawal(subscription.Account.Id, transaction); subscription = subscriptionService.GetSubscription(subscription.Id); result.Access = Access.OK; result.Message = $"Withdrawal {transaction.Description}"; result.Subscription = subscription; result.Service_Id = services.First(service => service.Name.Equals(serviceName)).Id; } else { result.Access = Access.OK; result.Message = "Inclusive in subscription"; result.Subscription = subscription; result.Service_Id = services.First(service => service.Name.Equals(serviceName)).Id; } checkRepository.AddResult(result); return(result); }
public virtual void ApplyResults(Hierarchy hierarchy, ResultHistory history) { hierarchy.GetAllTests().Each(t => t.LastResult = history[t]); events.SendMessage <TestResultsLoaded>(); }
/// <summary> /// Function to get all results from an order /// </summary> /// <param name="OrderID">Order ID</param> /// <returns>The list of all exams ready to send</returns> public async Task <List <ResultHistory> > FindResultHistory(int OrderID) { ResultHistory resultHistory = new ResultHistory(); List <ResultHistory> resultList = new List <ResultHistory>(); var otContext = _contextOpenf.Ot; var operfilDataContext = _contextOpenf.OperfilData; var ohistidxContext = _contextOpenf.Ohistidx; var query = (from ohistidx in ohistidxContext join ot in otContext on ohistidx.IdxUnicoId equals ot.TUnicoId join oPerfilData in operfilDataContext on ot.TPerfilCodigo equals oPerfilData.CodPerfil where ot.TOrder == OrderID && ot.TFromHis == 1 && ot.TValidado == 1 && ot.TParam == oPerfilData.ParCodigo select new { ot.TOrder, ohistidx.IdxHistoria, ot.TDate, ot.TParam, ot.Rlinea, ot.TComentario, ot.TPerfilCodigo, oPerfilData.Plantilla, oPerfilData.PantillaBel, oPerfilData.PlantillaBse, oPerfilData.PlantillaEid, ot.TValidadoPor, ot.TFromHis, ot.TValidado }); var result = await query.ToListAsync(); foreach (var item in result) { ResultHistory resultValue = new ResultHistory(); resultValue.Order = item.TOrder; resultValue.Identification = item.IdxHistoria; resultValue.DateValue = item.TDate; resultValue.Param = item.TParam; if (item.Rlinea.Substring(0, 1) == ".") { resultValue.Result = "0" + item.Rlinea; } else { resultValue.Result = item.Rlinea; } resultValue.Comment = item.TComentario; resultValue.Study = item.TPerfilCodigo; resultValue.Template = item.Plantilla; resultValue.BElement = item.PantillaBel.ToString(); resultValue.BSubElement = item.PlantillaBse.ToString(); resultValue.EElement = item.PlantillaEid.ToString(); resultValue.ResponsableId = item.TValidadoPor; resultValue.TValidate = item.TValidado.ToString(); resultList.Add(resultValue); } return(resultList); }
protected Tuple <GameState, GameResult> InternalParseImage(Bitmap image) { /*if(isVedioOn(image)) * { * CloseVedio(); * }*/ if (isStartImage(image) && gameState != GameState.GAME_START) { Log("新的一局开始了"); isPlayerOut = false; gameState = GameState.GAME_START; gameResult = GameResult.RESULT_UNKNOW; int diff = CalcDiff(resultHistory.CountRed, resultHistory.CountBlack, resultHistory.CountGreen, false); if (diff >= setting.diff && !isInGamming) { Log(String.Format("当前差值(不包括绿色)={0},差值大于等于设定值,开始下注", CalcDiff(resultHistory.CountRed, resultHistory.CountBlack, resultHistory.CountGreen, false))); isInGamming = true; } else if (win >= setting.win && isInGamming) { Log(String.Format("已经赢了{0}把,停止下注", win)); isInGamming = false; resultHistory = null; win = 0; } if (isInGamming) { if (resultHistory.CountRed > resultHistory.CountBlack) { currentBet = GameResult.RESULT_BLACK; } else { currentBet = GameResult.RESULT_RED; } Log(String.Format("当前相差值(包括绿色):{0},押:{1}", CalcDiff(resultHistory.CountRed, resultHistory.CountBlack, resultHistory.CountGreen, true), GameResultToString(currentBet))); } else { Log(String.Format("当前差值(不包括绿色)={0},未达到下注条件,本局不下注", diff)); } Log(String.Format("当前局数:{0}", ++roundCount)); if (roundCount % 3 == 0) { Log("主动退出房间"); Exit(); } } else if (isEndImage(image, out gameResult) && gameState == GameState.GAME_START) { Log("本局结束,结果为:" + GameResultToString(gameResult)); AddResult(gameResult); if (resultHistory != null) { Log(String.Format("当前统计:红={0} 黑={1} 绿={2}", resultHistory.CountRed, resultHistory.CountBlack, resultHistory.CountGreen)); } gameState = GameState.GAME_END; if (isInGamming) { Log(String.Format("本局结束,结果为:{0}, 押注:{1}, {2}了", GameResultToString(gameResult), GameResultToString(currentBet), currentBet == gameResult ? "赢" : "输")); win += (currentBet == gameResult ? 1 : -1); saveInfoList.Add(new SaveInfoItem { CountBlack = resultHistory.CountBlack, CountRed = resultHistory.CountRed, CountGreen = resultHistory.CountGreen, diff = setting.diff, win = setting.win, current_win = win, current_diff = CalcDiff(resultHistory.CountRed, resultHistory.CountBlack, resultHistory.CountGreen, true), bet = currentBet, result = gameResult, isWin = (currentBet == gameResult) }); } } else if (isOutRoom(image) && !isPlayerOut) { isPlayerOut = true; ReEnter(); } image.Dispose(); return(new Tuple <GameState, GameResult>(gameState, gameResult)); }
public static List <ResultHistory> GetResults() { List <ResultHistory> results = new List <ResultHistory>(); if (File.Exists(settingsFileName)) { XmlDocument document = new XmlDocument(); document.Load(settingsFileName); XmlNode bodyElement = document.SingleChildNode("body"); XmlNode resultsElement = bodyElement.SingleChildNode("results"); string version = bodyElement.SingleChildNode("version").InnerText; foreach (XmlNode result in resultsElement.GetChildNodes("result")) { ResultHistory resultHistory = new ResultHistory(); resultHistory.StartDateTime = DateTime.Parse(result.SingleChildNode("startTime").InnerText); resultHistory.EndDateTime = DateTime.Parse(result.SingleChildNode("endTime").InnerText); resultHistory.Modules = new List <ExpansionModule>(); resultHistory.NewScoreCards = new List <NewScoreCard>(); resultHistory.CaliphsGuidelines = new List <CaliphsGuidelinesMission>(); resultHistory.Players = new List <ResultPlayerHistory>(); resultHistory.ScoreRound = Enum.Parse <ScoringRound>(result.SingleChildNode("scoreRound").InnerText); XmlNode modulesElement = result.SingleChildNode("modules"); XmlNode newScoreCardsElement = result.SingleChildNode("newScoreCards"); XmlNode caliphsGuidelinesElement = result.SingleChildNode("caliphsGuidelines"); foreach (XmlNode module in modulesElement.GetChildNodes("module")) { resultHistory.Modules.Add(Enum.Parse <ExpansionModule>(module.SingleChildNode("value").InnerText)); } resultHistory.GranadaOption = Enum.Parse <GranadaOption>(result.SingleChildNode("granadaOption").InnerText); foreach (XmlNode module in newScoreCardsElement.GetChildNodes("newScoreCard")) { resultHistory.NewScoreCards.Add(Enum.Parse <NewScoreCard>(module.SingleChildNode("value").InnerText)); } foreach (XmlNode module in caliphsGuidelinesElement.GetChildNodes("caliphsGuideline")) { resultHistory.CaliphsGuidelines.Add(Enum.Parse <CaliphsGuidelinesMission>(module.SingleChildNode("value").InnerText)); } XmlNode playersElement = result.SingleChildNode("players"); foreach (XmlNode player in playersElement.GetChildNodes("player")) { ResultPlayerHistory resultPlayerHistory = new ResultPlayerHistory(); string playerName = player.SingleChildNode("name").InnerText; ScoreDetails GetScoreDetails(string name) { ScoreDetails result = new ScoreDetails(); XmlNode scoreDetailsNode = player.SingleChildNode(name); result.ImmediatelyPoints = Int32.Parse(scoreDetailsNode.SingleChildNode("ImmediatelyPoints").InnerText); result.WallLength = Int32.Parse(scoreDetailsNode.SingleChildNode("WallLength").InnerText); result.Pavilion = Int32.Parse(scoreDetailsNode.SingleChildNode("Pavilion").InnerText); result.Seraglio = Int32.Parse(scoreDetailsNode.SingleChildNode("Seraglio").InnerText); result.Arcades = Int32.Parse(scoreDetailsNode.SingleChildNode("Arcades").InnerText); result.Chambers = Int32.Parse(scoreDetailsNode.SingleChildNode("Chambers").InnerText); result.Garden = Int32.Parse(scoreDetailsNode.SingleChildNode("Garden").InnerText); result.Tower = Int32.Parse(scoreDetailsNode.SingleChildNode("Tower").InnerText); result.BuildingsBonuses = Int32.Parse(scoreDetailsNode.SingleChildNode("BuildingsBonuses").InnerText); result.TheCityWatch = Int32.Parse(scoreDetailsNode.SingleChildNode("TheCityWatch").InnerText); result.Camps = Int32.Parse(scoreDetailsNode.SingleChildNode("Camps").InnerText); result.StreetTraders = Int32.Parse(scoreDetailsNode.SingleChildNode("StreetTraders").InnerText); result.TreasureChamber = Int32.Parse(scoreDetailsNode.SingleChildNode("TreasureChamber").InnerText); result.Invaders = Int32.Parse(scoreDetailsNode.SingleChildNode("Invaders").InnerText); result.Bazaars = Int32.Parse(scoreDetailsNode.SingleChildNode("Bazaars").InnerText); result.ArtOfTheMoors = Int32.Parse(scoreDetailsNode.SingleChildNode("ArtOfTheMoors").InnerText); result.Falconers = Int32.Parse(scoreDetailsNode.SingleChildNode("Falconers").InnerText); result.Watchtowers = Int32.Parse(scoreDetailsNode.SingleChildNode("Watchtowers").InnerText); result.Medina = Int32.Parse(scoreDetailsNode.SingleChildNode("Medina").InnerText); result.BuildingsWithoutServantTile = Int32.Parse(scoreDetailsNode.SingleChildNode("BuildingsWithoutServantTile").InnerText); result.Orchards = Int32.Parse(scoreDetailsNode.SingleChildNode("Orchards").InnerText); result.Bathhouses = Int32.Parse(scoreDetailsNode.SingleChildNode("Bathhouses").InnerText); result.WishingWells = Int32.Parse(scoreDetailsNode.SingleChildNode("WishingWells").InnerText); result.CompletedProjects = Int32.Parse(scoreDetailsNode.SingleChildNode("CompletedProjects").InnerText); result.Animals = Int32.Parse(scoreDetailsNode.SingleChildNode("Animals").InnerText); result.BlackDices = Int32.Parse(scoreDetailsNode.SingleChildNode("BlackDices").InnerText); result.Handymen = Int32.Parse(scoreDetailsNode.SingleChildNode("Handymen").InnerText); result.Treasures = Int32.Parse(scoreDetailsNode.SingleChildNode("Treasures").InnerText); result.Mission1 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission1").InnerText); result.Mission2 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission2").InnerText); result.Mission3 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission3").InnerText); result.Mission4 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission4").InnerText); result.Mission5 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission5").InnerText); result.Mission6 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission6").InnerText); result.Mission7 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission7").InnerText); result.Mission8 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission8").InnerText); result.Mission9 = Int32.Parse(scoreDetailsNode.SingleChildNode("Mission9").InnerText); result.MoatLength = Int32.Parse(scoreDetailsNode.SingleChildNode("MoatLength").InnerText); result.Arena = Int32.Parse(scoreDetailsNode.SingleChildNode("Arena").InnerText); result.BathHouse = Int32.Parse(scoreDetailsNode.SingleChildNode("BathHouse").InnerText); result.Library = Int32.Parse(scoreDetailsNode.SingleChildNode("Library").InnerText); result.Hostel = Int32.Parse(scoreDetailsNode.SingleChildNode("Hostel").InnerText); result.Hospital = Int32.Parse(scoreDetailsNode.SingleChildNode("Hospital").InnerText); result.Market = Int32.Parse(scoreDetailsNode.SingleChildNode("Market").InnerText); result.Park = Int32.Parse(scoreDetailsNode.SingleChildNode("Park").InnerText); result.School = Int32.Parse(scoreDetailsNode.SingleChildNode("School").InnerText); result.ResidentialArea = Int32.Parse(scoreDetailsNode.SingleChildNode("ResidentialArea").InnerText); result.WallMoatCombination = Int32.Parse(scoreDetailsNode.SingleChildNode("WallMoatCombination").InnerText); return(result); } resultPlayerHistory.Name = playerName; resultPlayerHistory.ScoreDetails1 = GetScoreDetails("scoreDetails1"); resultPlayerHistory.ScoreDetails2 = GetScoreDetails("scoreDetails2"); resultPlayerHistory.ScoreDetails3 = GetScoreDetails("scoreDetails3"); resultPlayerHistory.ScoreMeantime = GetScoreDetails("scoreMeantime"); resultHistory.Players.Add(resultPlayerHistory); } results.Add(resultHistory); } } return(results); }