public MessageHandlerStatus Handle(MessageQueues.Message message) { try { if (message.LeadScoreConditionType != (int)LeadScoreConditionType.ContactVisitsWebsite) { return(MessageHandlerStatus.InvalidMessageHandler); } var leadScoreRuleResponse = leadScoreRuleService.GetLeadScoreRule( new GetLeadScoreRuleByConditionRequest() { AccountId = message.AccountId, Condition = LeadScoreConditionType.ContactVisitsWebsite, ConditionValue = message.ConditionValue }); LeadScoreRule rule = leadScoreRuleResponse.Rule; if (rule == null) { return(MessageHandlerStatus.LeadScoreRuleNotDefined); } //var response = leadScoreService.IsScoreAudited( // new LeadScoreAuditCheckRequest() // { // AccountId = message.AccountId, // ContactId = message.ContactId, // Condition = LeadScoreConditionType.ContactVisitsWebsite, // ConditionValue = message.ConditionValue, // EntityId = message.EntityId // }); //if (response.IsAudited) // return MessageHandlerStatus.DuplicateLeadScoreRequest; List <LeadScoreRule> rules = new List <LeadScoreRule>(); rules.Add(rule); Logger.Current.Informational("Auditing the lead score for web visit for message:" + message.MessageId); var insertScoreResponse = leadScoreService.InsertLeadScore(new InsertLeadScoreRequest() { Condition = LeadScoreConditionType.ContactVisitsWebsite, ContactId = message.ContactId, ConditionValue = message.ConditionValue, AccountId = message.AccountId, RequestedBy = message.UserId, EntityId = message.EntityId, Rules = rules }); return(GetLeadScoreAuditStatus(message, insertScoreResponse.Exception)); } catch (Exception ex) { Logger.Current.Error("Exception occured while handling the Message.", ex); return(MessageHandlerStatus.FailedToAuditScore); } }
public MessageHandlerStatus Handle(MessageQueues.Message message) { try { if (message.LeadScoreConditionType != (int)LeadScoreConditionType.ContactLeadSource) { return(MessageHandlerStatus.InvalidMessageHandler); } var leadScoreRuleResponse = leadScoreRuleService.GetLeadScoreRules( new GetLeadScoreRuleByConditionRequest() { AccountId = message.AccountId, Condition = LeadScoreConditionType.ContactLeadSource, ConditionValue = message.LinkedEntityId.ToString() }); //LeadScoreRule rule = leadScoreRuleResponse.Rule; //if (rule == null) // return MessageHandlerStatus.LeadScoreRuleNotDefined; var response = leadScoreService.IsScoreAudited( new LeadScoreAuditCheckRequest() { AccountId = message.AccountId, ContactId = message.ContactId, Condition = LeadScoreConditionType.ContactLeadSource, ConditionValue = message.LinkedEntityId.ToString(), EntityId = message.LinkedEntityId }); if (response.IsAudited) { return(MessageHandlerStatus.DuplicateLeadScoreRequest); } Logger.Current.Informational("Auditing the lead score for contact note tag for message:" + message.MessageId); var insertScoreResponse = leadScoreService.InsertLeadScore(new InsertLeadScoreRequest() { Condition = LeadScoreConditionType.ContactLeadSource, ContactId = message.ContactId, ConditionValue = message.LinkedEntityId.ToString(), AccountId = message.AccountId, RequestedBy = message.UserId, EntityId = message.LinkedEntityId, Rules = leadScoreRuleResponse.Rules }); return(GetLeadScoreAuditStatus(message, insertScoreResponse.Exception)); } catch (Exception ex) { Logger.Current.Error("Exception occured while handling the Message.", ex); return(MessageHandlerStatus.FailedToAuditScore); } }
public override void OnEntry(MessageQueues.Message message) { workflowService.InsertContactWorkflowAudit(new InsertContactWorkflowAuditRequest() { WorkflowId = message.WorkflowId, WorkflowActionId = StateId, ContactId = message.ContactId, AccountId = message.AccountId, MessageId = message.MessageId }); }
protected MessageHandlerStatus GetLeadScoreAuditStatus(MessageQueues.Message message, Exception exception = null) { if (exception == null) { Logger.Current.Informational("Audited successfully." + message.MessageId); return(MessageHandlerStatus.LeadScoreAuditedSuccessfully); } else { Logger.Current.Error("Error occurred while auditing the lead score." + message.MessageId, exception); return(MessageHandlerStatus.FailedToAuditScore); } }
public MessageHandlerStatus Handle(MessageQueues.Message message) { try { if (message.LeadScoreConditionType != (int)LeadScoreConditionType.PageDuration) { return(MessageHandlerStatus.InvalidMessageHandler); } var conditionValues = new List <LeadScoreConditionValueViewModel>(); conditionValues.Add(new LeadScoreConditionValueViewModel() { Value = message.LinkedEntityId.ToString(), ValueType = LeadScoreValueType.PageDuration }); var leadScoreRuleResponse = leadScoreRuleService.GetLeadScoreRules( new GetLeadScoreRuleByConditionRequest() { AccountId = message.AccountId, Condition = LeadScoreConditionType.PageDuration, ConditionValue = message.ConditionValue }); Logger.Current.Informational("Auditing the lead score for A PAGE DURATION OF for message:" + message.MessageId); var insertScoreResponse = leadScoreService.InsertLeadScore(new InsertLeadScoreRequest() { Condition = LeadScoreConditionType.PageDuration, ContactId = message.ContactId, ConditionValue = message.EntityId.ToString(), AccountId = message.AccountId, RequestedBy = message.UserId, EntityId = message.EntityId, Rules = leadScoreRuleResponse.Rules }); if (insertScoreResponse.Exception == null) { Logger.Current.Informational("Audited successfully." + message.MessageId); return(MessageHandlerStatus.LeadScoreAuditedSuccessfully); } else { Logger.Current.Error("Error occurred while auditing the lead score." + message.MessageId, insertScoreResponse.Exception); return(MessageHandlerStatus.FailedToAuditScore); } } catch (Exception ex) { Logger.Current.Error("Exception occured while handling the Message.", ex); return(MessageHandlerStatus.FailedToAuditScore); } }
public MessageHandlerStatus Handle(MessageQueues.Message message) { try { if (message.LeadScoreConditionType != (int)LeadScoreConditionType.AnEmailSent) { return(MessageHandlerStatus.InvalidMessageHandler); } var leadScoreRuleResponse = leadScoreRuleService.GetLeadScoreRule( new GetLeadScoreRuleByConditionRequest() { AccountId = message.AccountId, Condition = LeadScoreConditionType.AnEmailSent, ConditionValue = null }); LeadScoreRule rule = leadScoreRuleResponse.Rule; if (rule == null) { return(MessageHandlerStatus.LeadScoreRuleNotDefined); } List <LeadScoreRule> rules = new List <LeadScoreRule>(); rules.Add(leadScoreRuleResponse.Rule); Logger.Current.Informational("Auditing the lead score for contact email sent:" + message.MessageId); var insertScoreResponse = leadScoreService.InsertLeadScore(new InsertLeadScoreRequest() { Condition = LeadScoreConditionType.AnEmailSent, ConditionValue = message.LinkedEntityId.ToString(), ContactId = message.ContactId, AccountId = message.AccountId, RequestedBy = message.UserId, EntityId = message.EntityId, Rules = rules }); return(GetLeadScoreAuditStatus(message, insertScoreResponse.Exception)); } catch (Exception ex) { Logger.Current.Error("Exception occured while handling the Message.", ex); return(MessageHandlerStatus.FailedToAuditScore); } }
public override void OnExit(MessageQueues.Message message) { throw new NotImplementedException(); }
public MessageHandlerStatus Handle(MessageQueues.Message message) { try { if (message.LeadScoreConditionType != (int)LeadScoreConditionType.ContactSubmitsForm) { return(MessageHandlerStatus.InvalidMessageHandler); } //var leadScoreRuleResponse = leadScoreRuleService.GetLeadScoreRule( //new GetLeadScoreRuleByConditionRequest() //{ // AccountId = message.AccountId, // Condition = LeadScoreConditionType.ContactSubmitsForm, // ConditionValue = message.EntityId.ToString() //}); //LeadScoreRule rule = leadScoreRuleResponse.Rule; GetLeadScoreRuleByConditionRequest request = new GetLeadScoreRuleByConditionRequest() { AccountId = message.AccountId, Condition = LeadScoreConditionType.ContactSubmitsForm, ConditionValue = message.EntityId.ToString() }; GetLeadScoreRuleByConditionResponse response = leadScoreRuleService.GetLeadScoreRules(request); var rules = response.Rules; Logger.Current.Informational("Auditing the lead score for form submission for message:" + message.MessageId); var insertScoreResponse = leadScoreService.InsertLeadScore(new InsertLeadScoreRequest() { Condition = LeadScoreConditionType.ContactSubmitsForm, ContactId = message.ContactId, ConditionValue = message.EntityId.ToString(), AccountId = message.AccountId, RequestedBy = message.UserId, EntityId = message.EntityId, Rules = rules }); if (insertScoreResponse.Exception == null) { Logger.Current.Informational("Audited successfully." + message.MessageId); return(MessageHandlerStatus.LeadScoreAuditedSuccessfully); } else { Logger.Current.Error("Error occurred while auditing the lead score." + message.MessageId, insertScoreResponse.Exception); return(MessageHandlerStatus.FailedToAuditScore); } // return MessageHandlerStatus.LeadScoreAuditedSuccessfully; //var response = leadScoreService.IsScoreAudited( // new LeadScoreAuditCheckRequest() // { // AccountId = message.AccountId, // ContactId = message.ContactId, // Condition = LeadScoreConditionType.ContactSubmitsForm, // ConditionValue = message.EntityId.ToString(), // EntityId = message.EntityId // }); //if (response.IsAudited) // return MessageHandlerStatus.DuplicateLeadScoreRequest; } catch (Exception ex) { Logger.Current.Error("Exception occured while handling the Message.", ex); return(MessageHandlerStatus.FailedToAuditScore); } }