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