public ActionResult OnPostDownload() { if (SelectedTeamSnapTeamId.HasValue && SelectedTeamSnapCoachId.HasValue && SelectedMemberId != null) { HashSet <long> members = new HashSet <long>(SelectedMemberId); string teamname = TeamSnapTeams.Where(x => x.Id == SelectedTeamSnapTeamId.Value).FirstOrDefault()?.Name; TeamSnapApi.TeamMember coach = GetMembers().Where(x => x.MemberId == SelectedTeamSnapCoachId.Value).FirstOrDefault(); List <TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor> players = new List <TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor>(); foreach (TeamSnapApi.TeamMember plr in GetMembers().Where(x => members.Contains(x.MemberId)).OrderBy(x => x.LastName)) { TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor p = new TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor { PlayerName = $"{plr.FirstName} {plr.LastName}", PlayerNumber = plr.JerseyNumber }; players.Add(p); } ParseAdditionalPlayers(players); TeamStickerPrintingService.TeamStickerDescriptor teamDescr = new TeamStickerPrintingService.TeamStickerDescriptor() { TeamName = teamname, CoachName = $"{coach?.FirstName} {coach?.LastName}", CoachPhone = $"{coach?.PrimaryPhoneNumber}", Players = players }; Response.Headers.Add("Content-Disposition", $"inline; filename=\"{teamDescr.TeamName} Stickers.pdf\""); return(File(_teamStickerService.CreateTeamLabelsPDFReport(teamDescr), "application/pdf")); } return(new PageResult()); }
private void ParseAdditionalPlayers(List <TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor> players) { if (!string.IsNullOrWhiteSpace(AdditionalPlayers)) { string[] lines = AdditionalPlayers.Split("\r\n"); foreach (string l in lines) { string[] parts = l.Split(' '); if (parts.Length == 0) { continue; } if (parts.Length == 3) { TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor p = new TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor { PlayerName = $"{parts[1]} {parts[2]}", PlayerNumber = parts[0] }; players.Add(p); } else { TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor p = new TeamStickerPrintingService.TeamStickerDescriptor.PlayerDescriptor { PlayerName = $"{parts[0]} {parts[1]}", }; players.Add(p); } } } }