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); }
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; }