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