Пример #1
0
        public void CheckMessage()
        {
            var current = CheckPoint.Current();
            var score = new CycleScore(current.Cycle,DateTimeOffset.Now.Ticks);
            var updater = new Mock<ICycleScoreUpdater>().Object;

            score.SetScore(1,new UpdateScore {EnlightenedScore = 1000,ResistanceScore = 0}, updater);
            score.SetScore(2, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);
            score.SetScore(3, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);
            score.SetScore(4, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);
            score.SetScore(5, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);
            score.SetScore(6, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);
            score.SetScore(7, new UpdateScore { EnlightenedScore = 1000, ResistanceScore = 0 }, updater);

            Console.WriteLine(score.ToString());
        }
Пример #2
0
        private void PostToSlack(CycleScore currentCycle)
        {
            IRestResponse response;
            if (currentCycle.HasMissingCPs())
            {
                var missingCPs = currentCycle.MissingCPs();
                //http://localhost:31790/#/6/1
                var missingMessages = missingCPs.Select(cp => string.Format("Missing CP {2}. Goto http://{0}/#/{1}/{2} to update the score", Request.RequestUri.Host.ToLower(), currentCycle.Cycle.Id,cp.Cp)).ToList();
                response = _slackSender.Send(string.Join("\n", missingMessages));
            }
            else
            {
                response = _slackSender.Send(currentCycle.ToString());
            }

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new HttpException((int) response.StatusCode, "Error Sending To Slack. " + response.ErrorMessage);
            }
        }
        private void PostToSlack(CycleScore currentCycle)
        {
            var cp = CheckPoint.Current();
            if (currentCycle.IsSnoozed)
            {

                if (cp.IsFirstMessageOfDay())
                {
                    var snoozeMessage = string.Format("Shhh. Cycle bot is sleeping.\nGoto http://{0}/api/{1}/false to un-snooze me.\nIf you really want to know the score summary goto http://{0}/#/{1}\nI'll wake up again at {2}.", Request.RequestUri.Host.ToLower(), currentCycle.Cycle.Id, cp.NextUnsnoozeTime());
                    _slackSender.Send(snoozeMessage);
                }
                return;
            }
            if (currentCycle.Cycle.Id != cp.Cycle.Id)
            {
                return;
            }
            var missingCPs = currentCycle.MissingCPs().ToArray();

            if (missingCPs.Length == 0)
            {
                _slackSender.Send(currentCycle.ToString());
                return;
            }
            if (missingCPs.Length == 1)
            {

                _slackSender.Send(string.Format("Missing CP {2}. Goto http://{0}/#/{1}/{2} to update the score", Request.RequestUri.Host.ToLower(), currentCycle.Cycle.Id, missingCPs[0].Cp));
                return;
            }

            var cpString = ConvertToDashAndCommaString(missingCPs);

            var manymissing = string.Format("Missing CPs {2}. Goto http://{0}/#/{1} to update the score", Request.RequestUri.Host.ToLower(), currentCycle.Cycle.Id, cpString);
            _slackSender.Send(manymissing);
        }