Esempio n. 1
0
        private byte[] CreateCertificate(CourseAttendee attendee, IStatelessSession session)
        {
            var assembly = Assembly.GetExecutingAssembly();

            using (var stream = assembly.GetManifestResourceStream("QBicSamples.Samples.CourseTracker.Templates.CertificateTemplate.docx"))
                using (var mem = new MemoryStream())
                {
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.CopyTo(mem);

                    var wordprocessingDocument = WordprocessingDocument.Open(mem, true);
                    var document = wordprocessingDocument.MainDocumentPart.Document;

                    foreach (var text in document.Descendants <Text>())
                    {
                        TryUpdateTextElement(text, "<DATE>", attendee.Course.StartDate.ToString("dd MMMM yyyy").ToUpper());
                        TryUpdateTextElement(text, "<ATTENDEE>", attendee.Name.ToUpper());
                        TryUpdateTextElement(text, "<VENUE>", attendee.Course.Venue.ToUpper());
                        TryUpdateTextElement(text, "<PRESENTER>", attendee.Course.Presenter.Name.ToUpper());
                        TryUpdateTextElement(text, "<COURSEID>", attendee.Course.CourseId.ToUpper());
                    }

                    // END OF GENERATING REPORT

                    wordprocessingDocument.Close();

                    var result = mem.ToArray();
                    return(result);
                }
        }
        private object GetAttendeeDetail(CourseAttendee attendee)
        {
            try
            {
                var result = new
                {
                    attendee.Id,
                    CourseId = attendee.Course.Id,
                    attendee.Name,
                    attendee.Email,
                    GenderString = attendee.Gender.ToString(),
                    attendee.Gender,
                    RegionString = attendee.Region?.Name,
                    Region       = attendee.Region?.Id,
                };

                return(result);
            }
            catch (Exception e)
            {
                Logger.Error("error in attendees view: " + e.Message, e);
                Logger.Info(JsonHelper.SerializeObject(attendee));
                return(null);
            }
        }