コード例 #1
0
        public UpdateLeadScoreResponse UpdateLeadScore(UpdateLeadScoreRequest request)
        {
            LeadScore leadScore = Mapper.Map <LeadScoreViewModel, LeadScore>(request.LeadScoreViewModel);

            //isLeadScoreValid(leadScore);
            leadScoreRepository.Update(leadScore);
            unitOfWork.Commit();
            Logger.Current.Informational("LeadScore Updated successfully.");
            return(new UpdateLeadScoreResponse());
        }
コード例 #2
0
        public void isLeadScoreValid(LeadScore leadScore)
        {
            // Logger.Current.Verbose("Request received to validate tour with TourID " + tour.Id);
            IEnumerable <BusinessRule> brokenRules = leadScore.GetBrokenRules();

            if (brokenRules.Any())
            {
                StringBuilder brokenRulesBuilder = new StringBuilder();
                foreach (BusinessRule rule in brokenRules)
                {
                    brokenRulesBuilder.AppendLine(rule.RuleDescription);
                }

                throw new Exception(brokenRulesBuilder.ToString());
            }
        }
コード例 #3
0
        public InsertLeadScoreResponse InsertLeadScore(InsertLeadScoreRequest request)
        {
            List <LeadScore> leadscores = new List <LeadScore>();

            if (request.Rules != null && request.Rules.Any())
            {
                Logger.Current.Informational("Request received to insert leadscore");
                foreach (LeadScoreRule rule in request.Rules)
                {
                    LeadScore leadScore = new LeadScore();
                    leadScore.ContactID       = request.ContactId;
                    leadScore.LeadScoreRuleID = rule.Id;
                    leadScore.Score           = rule.Score.Value;
                    leadScore.AddedOn         = DateTime.Now.ToUniversalTime();
                    leadScore.EntityID        = request.EntityId;
                    leadscores.Add(leadScore);
                }
                int score = leadScoreRepository.InsertLeadScores(leadscores, request.AccountId);
                ReIndexLeadScoreContact(request.ContactId, request.AccountId, score);
            }
            Logger.Current.Informational("LeadScores inserted successfully.");
            return(new InsertLeadScoreResponse());
        }