示例#1
0
        public string Print(CompetitionDetailsModel competition, string template)
        {
            var dataSetmanager = new DataSetManager();

            var dataTable = dataSetmanager.CreateDataSet(competition);


            var file = Updatexls(dataTable, template);


            return(file);
        }
        private CompetitionDetailsModel GetCompetitionDetailsModel(int id)
        {
            var model             = new CompetitionDetailsModel();
            var competitionEngine = ServiceProvider.Get <ICompetitionsEngine>();

            var competition = competitionEngine.GetCompetitionDetails(id);

            model.Id                 = id;
            model.Name               = competition.Name;
            model.StartTime          = competition.StartTime.ToShortDateString();
            model.EndTime            = competition.EndTime.HasValue ? " - " + competition.EndTime.Value.ToShortDateString() : string.Empty;
            model.LastModified       = competition.LastModified.ToString();
            model.Type               = competition.Type;
            model.Status             = competition.Status;
            model.ReferenceId        = competition.ReferenceId;
            model.MainRefereeName    = competition.MainRefereeName;
            model.MainRefereePhone   = competition.MainRefereePhone;
            model.Site               = competition.Site;
            model.SitePhone          = competition.SitePhone;
            model.Players            = competition.Players;
            model.CanAddToFinal      = competition.CanAddToFinal;
            model.CanAddToQualifying = competition.CanAddToQualifying;
            model.ScoreCardLink      = GetLinkTemplate("ScoreCard");
            model.StatsLink          = GetLinkTemplate("MatchStats");
            model.Matches            =
                competition.Matches.Select(
                    m => new CompetitionMatchViewModel()
            {
                Id                    = m.Id,
                Section               = m.Section,
                StartTime             = m.StartTime,
                StartTimeType         = m.StartTimeType,
                Status                = m.Status,
                Round                 = m.Round,
                RoundRelativePosition = m.RoundRelativePosition,
                Position              = m.Position,
                Winner                = m.Winner,
                Result                = m.Result.HasValue ? m.Result.Value : MatchResult.Win,
                Player1               = GetPlayer(m.Player1, competition),
                Player2               = GetPlayer(m.Player2, competition),
                Player3               = GetPlayer(m.Player3, competition),
                Player4               = GetPlayer(m.Player4, competition),
                SetScores             = m.SetScores,
                StartTimeHours        = new[] { new SelectListItem(), }.Concat(GetStartTimeHours(m.StartTime)),
                StartTimeMinutes      = new[] { new SelectListItem(), }.Concat(GetStartTimeMinutes(m.StartTime)),
            }).ToArray();
            model.PlayingStarted            = model.Matches.Any(m => m.Section == CompetitionSection.Final && (int)m.Status >= (int)MatchStatus.Playing);
            model.QualifyingPlayingStarted  = model.Matches.Any(m => m.Section == CompetitionSection.Qualifying && (int)m.Status >= (int)MatchStatus.Playing);
            model.ConsolationPlayingStarted = model.Matches.Any(m => m.Section == CompetitionSection.Consolation && (int)m.Status >= (int)MatchStatus.Playing);
            return(model);
        }
示例#3
0
 public DataTable CreateDataSet(CompetitionDetailsModel competitionDetailsModel)
 {
     return(CreatePrintDataSet(competitionDetailsModel));
 }
示例#4
0
        private DataTable CreatePrintDataSet(CompetitionDetailsModel competitionDetailsModel)
        {
            m_TabaleDictionary = new Dictionary <int, DataRow>();
            DataTable dataTable = new DataTable("Comp");

            dataTable.Columns.Add("A");
            dataTable.Columns.Add("B");
            dataTable.Columns.Add("C");
            dataTable.Columns.Add("D");
            dataTable.Columns.Add("E");
            dataTable.Columns.Add("F");
            dataTable.Columns.Add("G");
            dataTable.Columns.Add("H");
            dataTable.Columns.Add("I");


            var model = competitionDetailsModel;

            var index = 1;

            model.Matches.ForEach(match =>
            {
                index = AddMatchRoundOneToTable(match, dataTable, index);
            });

            int jumpIndexRound1 = 2;
            int jumpIndexRound2 = 4;
            int jumpIndexRound3 = 9;
            int jumpIndexRound4 = 15;


            int startIndexRoond1 = 3;
            int startIndexRoond2 = 5;
            int startIndexRoond3 = 9;
            int startIndexRoond4 = 20;



            model.Matches.ForEach(match =>
            {
                if (match != null)
                {
                    if (match.Round == 2)
                    {
                        startIndexRoond1 = AddMatch(match, startIndexRoond1, "C", jumpIndexRound1);
                    }

                    if (match.Round == 3)
                    {
                        startIndexRoond2 = AddMatch(match, startIndexRoond2, "E", jumpIndexRound2);
                    }

                    if (match.Round == 4)
                    {
                        startIndexRoond3 = AddMatch(match, startIndexRoond3, "G", jumpIndexRound3);
                    }
                    if (match.Round == 5)
                    {
                        startIndexRoond4 = AddMatch(match, startIndexRoond4, "H", jumpIndexRound4);
                    }
                }
            });
            return(dataTable);
        }