private static void HandleSignInMessage(QueueMessage message)
        {
            using (EventsContext context = new EventsContext())
            {
                Event eventItem = context.Events.SingleOrDefault(e => e.Id == message.EventId);

                using (MemoryStream stream = _documentGenerator.CreateSignInDocument(eventItem))
                {
                    Uri documentUrl = _blobManager.CreateBlob(stream, eventItem.EventKey);
                    eventItem.SignInDocumentUrl = documentUrl.AbsoluteUri;
                }

                context.SaveChanges();
            }
        }
        private void HandleMessage(SignInDocument message)
        {
            string title = message.Event.Title;

            var names = from registration in message.Event.Registrations
                        where registration.EventKey == message.EventKey
                        select registration.FirstName + " " + registration.LastName;

            using (MemoryStream stream = _documentGenerator.CreateSignInDocument(title, names))
            {
                byte[] data = stream.ToArray();
                message.Document  = data;
                message.Generated = true;
                message.TimeStamp = DateTime.Now;
            }
        }
        private static void HandleSignInMessage(QueueMessage message)
        {
            using (EventsContext context = new EventsContext())
            {
                var eventItem = context.Events.SingleOrDefault(e => e.Id == message.EventId);

                IEnumerable <string> names = _tableHelper.GetRegistrantNames(eventItem.EventKey);

                using (MemoryStream stream = _documentGenerator.CreateSignInDocument(eventItem.Title, names))
                {
                    Uri documentUrl = _blobHelper.CreateBlob(stream, eventItem.EventKey);
                    eventItem.SignInDocumentUrl = documentUrl.AbsoluteUri;
                }

                context.SaveChanges();
            }
        }
Beispiel #4
0
        private static async Task <MemoryStream> ProcessStorageMessage(string eventKey)
        {
            SignInDocumentGenerator documentGenerator = new SignInDocumentGenerator();

            using (EventsContext eventsContext = _connection.GetSqlContext())
            {
                await eventsContext.Database.EnsureCreatedAsync();

                await _registrationsContext.ConfigureConnectionAsync();

                Event eventEntry = await eventsContext.Events.SingleOrDefaultAsync(e => e.EventKey == eventKey);

                List <string> registrants = await _registrationsContext.GetRegistrantsForEvent(eventKey);

                MemoryStream stream = documentGenerator.CreateSignInDocument(eventEntry.Title, registrants);
                stream.Seek(0, SeekOrigin.Begin);

                eventEntry.SignInDocumentUrl = $"{eventKey}.docx";
                await eventsContext.SaveChangesAsync();

                return(stream);
            }
        }