Exemple #1
0
 public FixtureControlItem(string id, Func <T> createItem, FixtureStatus status)
 {
     _createItem   = createItem;
     Item          = createItem();
     Id            = id;
     FixtureStatus = status;
 }
Exemple #2
0
        public void AddFixtureStatus(Guid fixtureId, FixtureStatus fixtureStatus)
        {
            var targetFixture = this.GetById(fixtureId);

            Guard.WhenArgument(targetFixture, "targetFixture").IsNull().Throw();
            targetFixture.Status = fixtureStatus;

            if (targetFixture.Status == FixtureStatus.FirstHalf)
            {
                targetFixture.FirstHalfStart = TimeProvider.CurrentProvider.CurrentDate;
            }
            else if (targetFixture.Status == FixtureStatus.SecondHalf)
            {
                targetFixture.SecondHalfStart = TimeProvider.CurrentProvider.CurrentDate;
            }
            else if (targetFixture.Status == FixtureStatus.FullTime)
            {
                var homeSubscribers = targetFixture.HomeTeam.Subscribers.Select(s => s.UserName).ToList();
                var awaySubscribers = targetFixture.AwayTeam.Subscribers.Select(s => s.UserName);

                homeSubscribers.AddRange(awaySubscribers);
                // homeSubscribers.Add("*****@*****.**");
                this.mailService.SendFixtureResultMail(targetFixture, homeSubscribers);
            }

            this.Data.Update(targetFixture);
        }
Exemple #3
0
 public FixtureResultAssertion(bool startTimeHasValue, bool endTimeHasValue, bool durationHasValue, AssertionProperty <Exception?> exception, int stepResultsCount, int resultsCount, FixtureStatus status)
 {
     StartTimeHasValue = startTimeHasValue;
     EndTimeHasValue   = endTimeHasValue;
     DurationHasValue  = durationHasValue;
     Exception         = exception;
     StepResultsCount  = stepResultsCount;
     ResultsCount      = resultsCount;
     Status            = status;
 }
    private void ReportStatus(FixtureStatus status, Action <object> action)
    {
        if (!StatusVisible)
        {
            return;
        }

        ReportValue(" - ", status);
        action(status);
    }
 private bool IsEdited(
     Fixture fixture,
     DateTime date,
     FixtureStatus status,
     int homeTeamGoals,
     int awayTeamGoals)
 {
     return(fixture.Date != date ||
            fixture.Status != status ||
            fixture.HomeTeamGoals != homeTeamGoals ||
            fixture.AwayTeamGoals != awayTeamGoals);
 }
    /// <summary>
    /// Reports the specified status of the fixture running.
    /// </summary>
    /// <param name="status">The status of the fixture running.</param>
    /// <param name="lineBreak">
    /// <c>true</c> if a line break is required; otherwise, <c>false</c>.
    /// </param>
    protected virtual void ReportStatus(FixtureStatus status, bool lineBreak = false)
    {
        switch (status)
        {
        case FixtureStatus.Ready: ReportStatus(status, CarnaConsole.WriteReady); break;

        case FixtureStatus.Pending: ReportStatus(status, CarnaConsole.WritePending); break;

        case FixtureStatus.Failed: ReportStatus(status, CarnaConsole.WriteFailure); break;

        case FixtureStatus.Passed: ReportStatus(status, CarnaConsole.WriteSuccess); break;
        }

        if (lineBreak)
        {
            CarnaConsole.WriteLine();
        }
    }
Exemple #7
0
        public override void ReadData(CitpBinaryReader data)
        {
            base.ReadData(data);

            int count = data.ReadUInt16();

            Fixtures.Clear();
            for (int n = 0; n < count; n++)
            {
                FixtureStatus status = new FixtureStatus()
                {
                    FixtureId = data.ReadUInt32(),
                    Locked    = data.ReadBoolean(),
                    Clearable = data.ReadBoolean()
                };

                Fixtures.Add(status);
            }
        }
        public async Task <IServiceResult> EditAsync(
            Guid fixtureId,
            DateTime date,
            FixtureStatus status,
            int homeTeamGoals,
            int awayTeamGoals)
        {
            var result = new ServiceResult {
                Succeeded = false
            };

            if (!ValidFixtureInput(fixtureId, date, homeTeamGoals, awayTeamGoals))
            {
                result.Error = string.Format(ExceptionConstants.InvalidInputException);
                return(result);
            }

            var fixture = await this.fixturesRepository.GetByIdAsync(fixtureId);

            if (fixture == null)
            {
                result.Error = string.Format(
                    ExceptionConstants.NotFoundException,
                    GlobalConstants.FixtureName);
                return(result);
            }

            if (!IsEdited(fixture, date, status, homeTeamGoals, awayTeamGoals))
            {
                result.Succeeded = true;
                return(result);
            }

            this.EditFixture(date, status, homeTeamGoals, awayTeamGoals, fixture);

            this.scoresRepository.DeleteRange(fixture.Scores.ToArray());
            await fixturesRepository.SaveChangesAsync();

            result.Succeeded = true;
            return(result);
        }
        private void EditFixture(
            DateTime date,
            FixtureStatus status,
            int homeTeamGoals,
            int awayTeamGoals,
            Fixture fixture)
        {
            fixture.Status = status;
            fixture.Date   = date;

            if (status == FixtureStatus.Finished)
            {
                fixture.HomeTeamGoals = homeTeamGoals;
                fixture.AwayTeamGoals = awayTeamGoals;
                fixture.Winner        = this.GetWinner(homeTeamGoals, awayTeamGoals);
            }
            else
            {
                fixture.HomeTeamGoals = null;
                fixture.AwayTeamGoals = null;
                fixture.Winner        = MatchResult.Unknown;
            }
        }
Exemple #10
0
 public static FixtureResultAssertion ForNullException(bool startTimeHasValue, bool endTimeHasValue, bool durationHasValue, int stepResultsCount, int resultsCount, FixtureStatus status) => new(startTimeHasValue, endTimeHasValue, durationHasValue, new EqualAssertionProperty <Exception?>(null), stepResultsCount, resultsCount, status);