Exemple #1
0
        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());
        }
Exemple #2
0
        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);
                    }
                }
            }
        }