public async Task<ActionResult> GeneratePrintForms(int id)
        {
            var accreditation = await db.Accreditations
                .Include(a=>a.User)
                .Include(a=>a.Media)                
                .Include(a=>a.Tag)                
                .FirstAsync(o => o.Id == id);
            var eventTag = ((EventTag)accreditation.Tag);
            await db.Entry(eventTag).Reference(t=>t.Event).LoadAsync();

            if (eventTag.Event.TimingSystemId.HasValue)
            {
                var connector = new TrackMePro.PortalConnector();


                var serverAccreditation = new TrackMePro.Accreditation();
                serverAccreditation.Address = accreditation.User.Address;
                serverAccreditation.BirthDate = accreditation.User.BirthDate;
                serverAccreditation.Car = accreditation.Car;
                serverAccreditation.Email = accreditation.User.Email;
                serverAccreditation.FirstName = accreditation.User.FirstName;
                serverAccreditation.LastName = accreditation.User.LastName;
                serverAccreditation.Location = accreditation.User.Location;
                serverAccreditation.Passport = accreditation.User.Passport;
                serverAccreditation.Phone = accreditation.User.Phone;
                serverAccreditation.Id = accreditation.TimingSystemId.GetValueOrDefault();
                serverAccreditation.Media = accreditation.Media.Select(m => new TrackMePro.MediaInfoEntry()
                {
                    Edition = m.Edition,
                    Email = m.Email,
                    Fax = m.Fax,
                    Frequency = m.Frequency,
                    Media = m.Media,
                    Organisation = m.Organisation,
                    Phone = m.Phone,
                    Position = m.Position,
                    Region = m.Region,
                    Type = ((TrackMePro.MediaType)(int)m.Type),
                    Web = m.Web 
                }).ToArray();


                accreditation.TimingSystemId = connector.RegisterAccreditation(((EventTag)accreditation.Tag).Event.TimingSystemId.Value, accreditation.TimingSystemId, serverAccreditation);                
                await db.SaveChangesAsync();

                return RedirectToAction("DownloadPrintForm", new { id = id });
            }
            return View("TimingNotConfigured");
        }