// Loads all eligible outcome selections based on the selected Protocol.
        public void loadOutcomes()
        {
            List <ProtocolOutcome> protocolOutcomes;

            foreach (Protocol protocol in Protocols)
            {
                protocolOutcomes = database.getProtocolOutcome(SelectedProtocol);
                protocolOutcomes.ForEach(po => Outcomes.Add(po.Outcome));
            }
        }
Exemplo n.º 2
0
        void RunOutcomes()
        {
            Fixtures.ForEach(x => x.SpecSetup(this));
            var skip = false;

            foreach (var step in Steps)
            {
                step.WillBeSkipped = skip;
                Fixtures.ForEach(x => x.StepSetup(step));
                var o = step.Execute();
                Outcomes.Add(o);
                skip = skip || o.CausesSkip;
                Fixtures.ForEach(x => x.StepTeardown(step));
            }
            Fixtures.ForEach(x => x.SpecTeardown(this));
        }
Exemplo n.º 3
0
        /// <summary>
        /// PredictionEvents constructor.
        /// </summary>
        /// <param name="jsonStr"></param>
        public PredictionEvents(string jsonStr)
        {
            var json = JObject.Parse(jsonStr);

            Type = (PredictionType)Enum.Parse(typeof(PredictionType), json.SelectToken("type").ToString().Replace("-", ""), true);
            var eventData = json.SelectToken("data.event");

            Id               = Guid.Parse(eventData.SelectToken("id").ToString());
            ChannelId        = eventData.SelectToken("channel_id").ToString();
            CreatedAt        = (eventData.SelectToken("created_at").IsEmpty()) ? (DateTime?)null : DateTime.Parse(eventData.SelectToken("created_at").ToString());
            EndedAt          = (eventData.SelectToken("ended_at").IsEmpty()) ? (DateTime?)null : DateTime.Parse(eventData.SelectToken("ended_at").ToString());
            LockedAt         = (eventData.SelectToken("locked_at").IsEmpty()) ? (DateTime?)null : DateTime.Parse(eventData.SelectToken("locked_at").ToString());
            Status           = (PredictionStatus)Enum.Parse(typeof(PredictionStatus), eventData.SelectToken("status").ToString().Replace("_", ""), true);
            Title            = eventData.SelectToken("title").ToString();
            WinningOutcomeId = (eventData.SelectToken("winning_outcome_id").IsEmpty()) ? (Guid?)null : Guid.Parse(eventData.SelectToken("winning_outcome_id").ToString());
            PredictionTime   = int.Parse(eventData.SelectToken("prediction_window_seconds").ToString());

            foreach (JToken outcome in eventData.SelectToken("outcomes").Children())
            {
                Outcome outcomeToAdd = new Outcome
                {
                    Id          = Guid.Parse(outcome.SelectToken("id").ToString()),
                    Color       = outcome.SelectToken("color").ToString(),
                    Title       = outcome.SelectToken("title").ToString(),
                    TotalPoints = long.Parse(outcome.SelectToken("total_points").ToString()),
                    TotalUsers  = long.Parse(outcome.SelectToken("total_users").ToString()),
                };
                foreach (JToken topPredictors in outcome.SelectToken("top_predictors").Children())
                {
                    outcomeToAdd.TopPredictors.Add(new Outcome.Predictor
                    {
                        DisplayName = topPredictors.SelectToken("user_display_name").ToString(),
                        Points      = int.Parse(topPredictors.SelectToken("points").ToString()),
                        UserId      = topPredictors.SelectToken("user_id").ToString()
                    });
                }
                Outcomes.Add(outcomeToAdd);
            }
        }
Exemplo n.º 4
0
 public void AddOutcome(Outcome outcome)
 {
     outcome.BetBlock = this;
     outcome.Event    = this.Event;
     Outcomes.Add(outcome);
 }