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