Example #1
0
        private static void IndexProspect(object sender, MsgHandlerEventArgs e)
        {
            _EventCounter.Labels(_Host, "received").Inc();

            var eventMessage = MessageHelper.FromData <ViewerSignedUpEvent>(e.Message.Data);

            Log.Info("Indexing viewer, signed up at: {0}; event ID: {1}", eventMessage.SignedUpAt, eventMessage.CorrelationId);

            var viewer = new Documents.Viewer
            {
                Country      = eventMessage.Viewer.Country.CountryName,
                EmailAddress = eventMessage.Viewer.EmailAddress,
                FullName     = $"{eventMessage.Viewer.FirstName} {eventMessage.Viewer.LastName}",
                Role         = eventMessage.Viewer.Role.RoleName,
                Interests    = eventMessage.Viewer.Interests.Select(x => x.InterestName).ToArray(),
                SignUpDate   = eventMessage.SignedUpAt
            };

            try
            {
                Index.CreateDocument(viewer);
                Log.Info("Viewer indexed; event ID: {0}", eventMessage.CorrelationId);
                _EventCounter.Labels(_Host, "processed").Inc();
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Index viewer FAILED, email address: {0}", viewer.EmailAddress);
                _EventCounter.Labels(_Host, "failed").Inc();
            }
        }
Example #2
0
        private static void IndexProspect(object sender, MsgHandlerEventArgs e)
        {
            var eventMessage = MessageHelper.FromData <ViewerSignedUpEvent>(e.Message.Data);

            Log.Info("Indexing viewer, signed up at: {0}; event ID: {1}", eventMessage.SignedUpAt, eventMessage.CorrelationId);

            var viewer = new Documents.Viewer
            {
                Country      = eventMessage.Viewer.Country.CountryName,
                EmailAddress = eventMessage.Viewer.EmailAddress,
                FullName     = $"{eventMessage.Viewer.FirstName} {eventMessage.Viewer.LastName}",
                Role         = eventMessage.Viewer.Role.RoleName,
                Interests    = eventMessage.Viewer.Interests.Select(x => x.InterestName).ToArray(),
                SignUpDate   = eventMessage.SignedUpAt
            };

            Index.CreateDocument(viewer);
            Log.Info("Viewer indexed; event ID: {0}", eventMessage.CorrelationId);
        }