示例#1
0
        public AdjustLeadscoreResponse AdjustLeadscore(AdjustLeadscoreRequest request)
        {
            AdjustLeadscoreResponse response = new AdjustLeadscoreResponse();

            Logger.Current.Informational("Reques received for adding leadscore for a contact");
            if (request != null)
            {
                leadScoreRepository.AdjustLeadScore(request.LeadScore, request.ContactId, request.AccountId, request.WorkflowActionId);
            }
            ReIndexLeadScoreContact(request.ContactId, request.AccountId, request.LeadScore);
            return(response);
        }
        public override void OnEntry(Message message)
        {
            Console.WriteLine("Adjust leadscore state entered");
            Logger.Current.Informational("Request received to adjust leadscore for contact, message: " + message.ToString());
            AdjustLeadscoreResponse response = leadScoreService.AdjustLeadscore(new AdjustLeadscoreRequest()
            {
                ContactId        = message.ContactId,
                LeadScore        = (short)EntityId,
                WorkflowActionId = StateId,
                AccountId        = accountId
            });

            if (response.Exception == null)
            {
                workflowService.InsertContactWorkflowAudit(new InsertContactWorkflowAuditRequest()
                {
                    WorkflowId = WorkflowId, WorkflowActionId = StateId, ContactId = message.ContactId, MessageId = message.MessageId
                });
            }
        }