/// <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;
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #5
0
 public void Stop()
 {
     isRunning     = false;
     gameResult    = GameResult.RESULT_UNKNOW;
     gameState     = GameState.GAME_END;
     resultHistory = null;
     SaveBetResults();
     Log("停止运行");
 }
Beispiel #6
0
        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);
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        public virtual void ApplyResults(Hierarchy hierarchy, ResultHistory history)
        {
            hierarchy.GetAllTests().Each(t => t.LastResult = history[t]);

            events.SendMessage <TestResultsLoaded>();
        }
Beispiel #14
0
        /// <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);
        }
Beispiel #15
0
        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);
        }