static string DescribeAction(ActionSequences actionSequence)
        {
            string possibleCheck = ActionSequencesUtility.GetHeroChecksThenReacts.Contains(actionSequence)
                                       ? ActionTypesUtility.Name(ActionTypes.X).ToLower() + "-"
                                       : string.Empty;

            return(possibleCheck + ActionSequencesUtility.NamePastTenseOfLastActionSequence(actionSequence) +
                   " a " + ActionTypesUtility.Name(ActionTypes.B).ToLower());
        }
        /// <summary>
        ///   Used for the situations in which the user bet post flop.
        ///   Describes the situation defined by the passed parameters to
        ///   give the user feedback about what a statistics table depicts.
        /// </summary>
        /// <param name="playerName"></param>
        /// <param name="analyzablePokerPlayer">
        ///   A sample player from the statistics set
        /// </param>
        /// <param name="street">
        ///   On what street did the situation occur
        /// </param>
        /// <param name="ratioSizes">
        ///   Is used here to describe the range of betsizes
        /// </param>
        /// <returns>
        ///   A nice description of the situation depicted by the parameters
        /// </returns>
        public string Describe(
            string playerName,
            IAnalyzablePokerPlayer analyzablePokerPlayer,
            Streets street,
            ITuple <double, double> ratioSizes)
        {
            ActionSequences actionSequence = analyzablePokerPlayer.ActionSequences[(int)street];

            return(string.Format(
                       "{0} {1} {2} of the pot {3} on the {4} and was raised",
                       playerName,
                       ActionSequencesUtility.NameLastActionInSequence(actionSequence).ToLower(),
                       PostFlopRaiseReactionDescriberUtils.DescribeBetSizes(ratioSizes),
                       StatisticsDescriberUtils.DescribePosition(analyzablePokerPlayer, street),
                       street.ToString().ToLower()));
        }
        void SetStartingActionIndex(ActionSequences actionSequence)
        {
            ActionTypes actionToLookFor = ActionSequencesUtility.GetLastActionIn(actionSequence);

            IEnumerable <IConvertedPokerActionWithId> foundAction
                = from IConvertedPokerActionWithId action in Sequence
                  where
                  action.What.Equals(actionToLookFor) &&
                  action.Id.Equals(HeroPosition)
                  select action;

            if (foundAction.Count() > 0)
            {
                StartingActionIndex = Sequence.Actions.IndexOf(foundAction.First());
            }
            else
            {
                throw new ArgumentException("Couldn't find action: " + actionToLookFor);
            }
        }
 static string DescribeAction(IAnalyzablePokerPlayer analyzablePokerPlayer, Streets street)
 {
     return
         (ActionSequencesUtility.NamePastTenseOfLastActionSequence(
              analyzablePokerPlayer.ActionSequences[(int)street]).ToLower());
 }
 public StatisticsSetSummaryRowViewModel(ActionSequences actionSequence, IBarGraphViewModel barGraph)
 {
     _barGraph    = barGraph;
     ActionLetter = ActionSequencesUtility.GetLastActionIn(actionSequence).ToString();
 }