示例#1
0
        private static Dictionary <string, int> SetHeader(TeamExcelModel team, ExcelWorksheet sheet, out int totalHeaderCount)
        {
            var headers = new List <string>()
            {
                ExcelExportResources.MatchFrenoyId, ExcelExportResources.MatchDay, ExcelExportResources.MatchDate, ExcelExportResources.MatchHour, ExcelExportResources.MatchHome, ExcelExportResources.MatchOut
            };
            int baseColumnIndex = headers.Count;

            var players = team.Players.OrderBy(x => x.Reserve).ThenBy(x => x.Name).Select((player, index) => new { Name = player.Name, ColumnIndex = index + baseColumnIndex + 1 }).ToArray();

            headers.AddRange(players.Select(x => x.Name));
            headers.Add(ExcelExportResources.MatchBlock);
            totalHeaderCount = headers.Count;
            var playerNameToColumnIndex = players.ToDictionary(x => x.Name, x => x.ColumnIndex);

            ExcelHelper.SetHeader(sheet, headers.ToArray());

            foreach (var player in team.Players.OrderBy(x => x.Reserve).ThenBy(x => x.Name))
            {
                baseColumnIndex++;
                if (player.Reserve)
                {
                    sheet.Cells[1, baseColumnIndex].Style.Font.Italic = true;
                }
                if (player.Captain)
                {
                    sheet.Cells[1, baseColumnIndex].Style.Font.Color.SetColor(Color.Yellow);
                }
            }

            return(playerNameToColumnIndex);
        }
示例#2
0
        public static TeamsExcelCreator CreateFormation(TeamEntity[] teams, List <MatchEntity> matches, PlayerEntity[] players, ClubEntity[] clubs)
        {
            var result = new List <TeamExcelModel>();

            foreach (var team in teams.OrderByDescending(x => x.Competition).ThenBy(x => x.TeamCode))
            {
                var teamModel = new TeamExcelModel(team.Competition + " " + team.TeamCode);

                foreach (var teamPlayer in team.Players)
                {
                    var player = players.First(x => x.Id == teamPlayer.PlayerId);
                    teamModel.Players.Add(new TeamPlayerExcelModel(player.NaamKort, teamPlayer.PlayerType));
                }

                foreach (var match in matches.Where(x => x.FrenoyDivisionId == team.FrenoyDivisionId).OrderBy(x => x.Date))
                {
                    if (match.AwayClubId == 0 || match.HomeClubId == 0)
                    {
                        // 'vrije' week
                        continue;
                    }

                    var teamMatch = new TeamMatchExcelModel(match, clubs);
                    foreach (var matchPlayer in match.Players.Where(x => x.Status != PlayerMatchStatus.Captain && x.Status != PlayerMatchStatus.Major))
                    {
                        if (!teamMatch.PlayerDecisions.ContainsKey(matchPlayer.Name))
                        {
                            teamMatch.PlayerDecisions.Add(matchPlayer.Name, matchPlayer.Status);
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(match.Block))
                    {
                        foreach (var matchPlayer in match.Players.Where(x => x.Status == match.Block))
                        {
                            if (!teamMatch.CaptainDecisions.Contains(matchPlayer.Name))
                            {
                                teamMatch.CaptainDecisions.Add(matchPlayer.Name);
                            }
                        }
                    }

                    teamModel.Matches.Add(teamMatch);
                }

                result.Add(teamModel);
            }

            return(new TeamsExcelCreator(result));
        }
        public static TeamsExcelCreator CreateFormation(TeamEntity[] teams, List<MatchEntity> matches, PlayerEntity[] players, ClubEntity[] clubs)
        {
            var result = new List<TeamExcelModel>();
            foreach (var team in teams.OrderByDescending(x => x.Competition).ThenBy(x => x.TeamCode))
            {
                var teamModel = new TeamExcelModel(team.Competition + " " + team.TeamCode);

                foreach (var teamPlayer in team.Players)
                {
                    var player = players.First(x => x.Id == teamPlayer.PlayerId);
                    teamModel.Players.Add(new TeamPlayerExcelModel(player.NaamKort, teamPlayer.PlayerType));
                }

                foreach (var match in matches.Where(x => x.FrenoyDivisionId == team.FrenoyDivisionId).OrderBy(x => x.Date))
                {
                    var teamMatch = new TeamMatchExcelModel(match, clubs);
                    foreach (var matchPlayer in match.Players.Where(x => x.Status != PlayerMatchStatus.Captain && x.Status != PlayerMatchStatus.Major))
                    {
                        if (!teamMatch.PlayerDecisions.ContainsKey(matchPlayer.Name))
                        {
                            teamMatch.PlayerDecisions.Add(matchPlayer.Name, matchPlayer.Status);
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(match.Block))
                    {
                        foreach (var matchPlayer in match.Players.Where(x => x.Status == match.Block))
                        {
                            if (!teamMatch.CaptainDecisions.Contains(matchPlayer.Name))
                            {
                                teamMatch.CaptainDecisions.Add(matchPlayer.Name);
                            }
                        }
                    }

                    teamModel.Matches.Add(teamMatch);
                }

                result.Add(teamModel);
            }

            return new TeamsExcelCreator(result);
        }
        private static Dictionary<string, int> SetHeader(TeamExcelModel team, ExcelWorksheet sheet, out int totalHeaderCount)
        {
            var headers = new List<string>() { ExcelExportResources.MatchFrenoyId, ExcelExportResources.MatchDay, ExcelExportResources.MatchDate, ExcelExportResources.MatchHour, ExcelExportResources.MatchHome, ExcelExportResources.MatchOut };
            int baseColumnIndex = headers.Count;

            var players = team.Players.OrderBy(x => x.Reserve).ThenBy(x => x.Name).Select((player, index) => new { Name = player.Name, ColumnIndex = index + baseColumnIndex + 1 }).ToArray();
            headers.AddRange(players.Select(x => x.Name));
            headers.Add(ExcelExportResources.MatchBlock);
            totalHeaderCount = headers.Count;
            var playerNameToColumnIndex = players.ToDictionary(x => x.Name, x => x.ColumnIndex);

            ExcelHelper.SetHeader(sheet, headers.ToArray());

            foreach (var player in team.Players.OrderBy(x => x.Reserve).ThenBy(x => x.Name))
            {
                baseColumnIndex++;
                if (player.Reserve)
                {
                    sheet.Cells[1, baseColumnIndex].Style.Font.Italic = true;
                }
                if (player.Captain)
                {
                    sheet.Cells[1, baseColumnIndex].Style.Font.Color.SetColor(Color.Yellow);
                }
            }

            return playerNameToColumnIndex;
        }