public ActionResult _AddLeadScore() { LeadScoreRuleViewModel viewModel = new LeadScoreRuleViewModel(); viewModel.AccountID = this.Identity.ToAccountID(); var dropdownValues = cachingService.GetDropdownValues(this.Identity.ToAccountID()); viewModel.TourTypes = dropdownValues.Where(s => s.DropdownID == (byte)DropdownFieldTypes.TourType).Select(s => s.DropdownValuesList).ToList().FirstOrDefault().Where(d => d.IsActive == true); viewModel.LeadsourceTypes = dropdownValues.Where(s => s.DropdownID == (byte)DropdownFieldTypes.LeadSources).Select(s => s.DropdownValuesList).ToList().FirstOrDefault().Where(d => d.IsActive == true); viewModel.NoteCategories = dropdownValues.Where(s => s.DropdownID == (byte)DropdownFieldTypes.NoteCategory).Select(s => s.DropdownValuesList).ToList().FirstOrDefault().Where(d => d.IsActive == true); viewModel.ActionTypes = dropdownValues.Where(s => s.DropdownID == (byte)DropdownFieldTypes.ActionType).Select(s => s.DropdownValuesList).ToList().FirstOrDefault().Where(d => d.IsActive == true); GetLeadScoreCategoriesResponse categoriesResponse = leadScoreService.GetLeadScoreCategories(new GetLeadScoreCategoriesRequest() { }); viewModel.Categories = categoriesResponse.Categories; GetLeadScoreConditionsResponse conditionsResponce = leadScoreService.GetLeadScoreConditions(new GetLeadScoreConditionsRequest() { }); viewModel.Conditions = conditionsResponce.Conditions; var leadScoreConditionValues = new List <LeadScoreConditionValueViewModel>(); var newConditionValue = new LeadScoreConditionValueViewModel() { LeadScoreConditionValueId = 0, LeadScoreRuleId = 0, Value = "", ValueType = LeadScoreValueType.PageDuration }; leadScoreConditionValues.Add(newConditionValue); viewModel.LeadScoreConditionValues = leadScoreConditionValues; return(PartialView("_AddEditRule", viewModel)); }
public GetLeadScoreResponse GetLeadScoreRule(GetLeadScoreRequest request) { GetLeadScoreResponse response = new GetLeadScoreResponse(); LeadScoreRule leadScoreRule = leadScoreRuleRepository.FindBy(request.Id); if (leadScoreRule == null) { response.Exception = GetLeadScoreNotFoundException(); } else { LeadScoreRuleViewModel leadScoreRuleViewModel = Mapper.Map <LeadScoreRule, LeadScoreRuleViewModel>(leadScoreRule); if ((leadScoreRuleViewModel.ConditionID == LeadScoreConditionType.ContactActionTagAdded || leadScoreRuleViewModel.ConditionID == LeadScoreConditionType.ContactNoteTagAdded || leadScoreRuleViewModel.ConditionID == LeadScoreConditionType.ContactTagAdded) && leadScoreRuleViewModel.SelectedTagID != null) { IEnumerable <Tag> Tags = leadScoreRuleRepository.GetTags(leadScoreRuleViewModel.SelectedTagID); IEnumerable <TagViewModel> TagData = Mapper.Map <IEnumerable <Tag>, IEnumerable <TagViewModel> >(Tags); foreach (var tag in TagData) { tag.TagName += " *"; } leadScoreRuleViewModel.TagsList = TagData; } response.LeadScoreViewModel = leadScoreRuleViewModel; } return(response); }
public ActionResult RulesList(int?accountId) { LeadScoreRuleViewModel viewModel = new LeadScoreRuleViewModel(); ViewBag.leadscoreID = 0; short ItemsPerPage = default(short); short.TryParse(this.Identity.ToItemsPerPage(), out ItemsPerPage); ViewBag.ItemsPerPage = ItemsPerPage; return(View("RulesList", viewModel)); }
public void UpdateLeadScoreRule_ValidRule_Succeed() { IEnumerable <LeadScoreRuleViewModel> leadScorerulesList = LeadScoreRuleMockData.ListofLeadScoreRules(); LeadScoreRuleViewModel model = leadScorerulesList.FirstOrDefault(lsr => lsr.LeadScoreRuleID == 1); mockLeadScoreRuleRepository.Setup(lsr => lsr.Update(It.IsAny <LeadScoreRule>())).Verifiable("Error ocuured while calling repository method"); UpdateLeadScoreRuleResponse response = leadScoreRuleService.UpdateRule(new UpdateLeadScoreRuleRequest() { LeadScoreRuleViewModel = model }); mockRepository.VerifyAll(); }
public void InsertLeadScoreRule_ValidRule_Succeed() { LeadScoreRuleViewModel viewModel = LeadScoreRuleMockData.GetLeadscoreRuleViewModel(); mockLeadScoreRuleRepository.Setup(mnt => mnt.Insert(It.IsAny <LeadScoreRule>())).Verifiable("Error ocuured while calling repository method"); InsertLeadScoreRuleResponse response = leadScoreRuleService.CreateRule(new InsertLeadScoreRuleRequest() { LeadScoreRuleViewModel = viewModel }); mockRepository.VerifyAll(); }
public void InsertLeadScoreRule_RunTimeException_ExceptionDetails() { LeadScoreRuleViewModel leadScoreViewModel = LeadScoreRuleMockData.GetLeadscoreRuleViewModel(); mockLeadScoreRuleRepository.Setup(c => c.Insert(It.IsAny <LeadScoreRule>())).Throws(new NullReferenceException()); InsertLeadScoreRuleResponse response = leadScoreRuleService.CreateRule(new InsertLeadScoreRuleRequest() { LeadScoreRuleViewModel = leadScoreViewModel }); mockRepository.VerifyAll(); Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType()); Assert.AreNotEqual(null, response.Exception); }
public void UpdateLeadScoreRule_ExceptionOccured_Failed() { IEnumerable <LeadScoreRuleViewModel> leadScorerulesList = LeadScoreRuleMockData.ListofLeadScoreRules(); LeadScoreRuleViewModel model = leadScorerulesList.FirstOrDefault(lsr => lsr.LeadScoreRuleID == 1); mockLeadScoreRuleRepository.Setup(lsr => lsr.Update(It.IsAny <LeadScoreRule>())).Throws(new NullReferenceException()); UpdateLeadScoreRuleResponse response = leadScoreRuleService.UpdateRule(new UpdateLeadScoreRuleRequest() { LeadScoreRuleViewModel = model }); mockRepository.VerifyAll(); Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType()); Assert.AreNotEqual(null, response.Exception); }
public JsonResult ChangeLeadScore(string leadScoreRoleViewModel) { LeadScoreRuleViewModel viewModel = JsonConvert.DeserializeObject <LeadScoreRuleViewModel>(leadScoreRoleViewModel); viewModel.ModifiedBy = UserExtensions.ToUserID(this.Identity); UpdateLeadScoreRuleRequest request = new UpdateLeadScoreRuleRequest() { LeadScoreRuleViewModel = viewModel }; leadScoreService.UpdateRule(request); return(Json(new { success = true, response = "" }, JsonRequestBehavior.AllowGet)); }
public UpdateLeadScoreRuleResponse UpdateRule(UpdateLeadScoreRuleRequest request) { LeadScoreRuleViewModel ruleVM = request.LeadScoreRuleViewModel; LeadScoreRule leadScoreRule = Mapper.Map <LeadScoreRuleViewModel, LeadScoreRule>(ruleVM); isLeadScoreValid(leadScoreRule); bool isDuplicate = leadScoreRuleRepository.IsDuplicate(leadScoreRule); if (isDuplicate) { throw new UnsupportedOperationException("[|Rule already exists.|]"); } if ((leadScoreRule.ConditionID == LeadScoreConditionType.ContactNoteTagAdded || leadScoreRule.ConditionID == LeadScoreConditionType.ContactActionTagAdded) && leadScoreRule.Tags != null) { List <int> TagIDs = new List <int>(); var newTags = ruleVM.TagsList.Where(i => i.TagID == 0); var alreadycreatedtags = ruleVM.TagsList.Where(i => i.TagID != 0); TagIDs.AddRange(alreadycreatedtags.Select(x => x.TagID)); foreach (TagViewModel tag in newTags) { var insertedtag = tagService.SaveTag(new SaveTagRequest() { TagViewModel = tag }).TagViewModel; TagIDs.Add(insertedtag.TagID); } leadScoreRule.SelectedTagID = TagIDs.ToArray(); } leadScoreRuleRepository.UpdateLeadScoreRules(leadScoreRule); if ((leadScoreRule.ConditionID == LeadScoreConditionType.ContactActionTagAdded || leadScoreRule.ConditionID == LeadScoreConditionType.ContactNoteTagAdded)) { Thread t2 = new Thread(delegate() { UpdateLeadScoreTags(request.AccountId); }); t2.Start(); } return(new UpdateLeadScoreRuleResponse()); }
public InsertLeadScoreRuleResponse CreateRule(InsertLeadScoreRuleRequest request) { Logger.Current.Verbose("Request for inserting LeadScore"); LeadScoreRuleViewModel ruleVM = request.LeadScoreRuleViewModel; LeadScoreRule leadScoreRule = Mapper.Map <LeadScoreRuleViewModel, LeadScoreRule>(ruleVM); isLeadScoreValid(leadScoreRule); bool isDuplicate = leadScoreRuleRepository.IsDuplicate(leadScoreRule); if (isDuplicate) { throw new UnsupportedOperationException("[|Rule already exists.|]"); } if ((leadScoreRule.ConditionID == LeadScoreConditionType.ContactNoteTagAdded || leadScoreRule.ConditionID == LeadScoreConditionType.ContactActionTagAdded) && leadScoreRule.Tags != null) { List <int> TagIDs = new List <int>(); var newTags = ruleVM.TagsList.Where(i => i.TagID == 0); var alreadycreatedtags = ruleVM.TagsList.Where(i => i.TagID != 0); TagIDs.AddRange(alreadycreatedtags.Select(x => x.TagID)); foreach (TagViewModel tag in newTags) { var insertedtag = tagService.SaveTag(new SaveTagRequest() { TagViewModel = tag }).TagViewModel; TagIDs.Add(insertedtag.TagID); } leadScoreRule.SelectedTagID = TagIDs.ToArray(); } int MaxLeadScoreID = leadScoreRuleRepository.GetMaxLeadScoreRuleID(); MaxLeadScoreID++; leadScoreRuleRepository.InsertLeadScoreRules(leadScoreRule, MaxLeadScoreID); if ((leadScoreRule.ConditionID == LeadScoreConditionType.ContactActionTagAdded || leadScoreRule.ConditionID == LeadScoreConditionType.ContactNoteTagAdded) && leadScoreRule.SelectedTagID != null && leadScoreRule.SelectedTagID.Any()) { IEnumerable <Tag> tags = tagRepository.FindByIDs(leadScoreRule.SelectedTagID); ReIndexLeadScoreTags(tags); } return(new InsertLeadScoreRuleResponse()); }
public static LeadScoreRuleViewModel GetLeadscoreRuleViewModel() { CampaignEntryViewModel campaign = new CampaignEntryViewModel() { Id = 1, Name = "This is Sample" }; LeadScoreRuleViewModel leadScoreViewModel = new LeadScoreRuleViewModel(); leadScoreViewModel.ConditionDescription = "Sample"; leadScoreViewModel.Condition = new Condition() { Id = 1 }; leadScoreViewModel.Campaigns = campaign; leadScoreViewModel.ConditionValue = "1"; leadScoreViewModel.AccountID = 1; leadScoreViewModel.Score = 100; return(leadScoreViewModel); }
public JsonResult UpdateLeadScore(LeadScoreRuleViewModel viewModel) { int UserID = this.Identity.ToUserID(); viewModel.ModifiedBy = UserID; viewModel.ModifiedOn = DateTime.Now.ToUniversalTime(); viewModel.CreatedOn = viewModel.CreatedOn.ToUniversalTime(); UpdateLeadScoreRuleRequest request = new UpdateLeadScoreRuleRequest() { LeadScoreRuleViewModel = viewModel, RequestedBy = UserID, AccountId = this.Identity.ToAccountID() }; leadScoreService.UpdateRule(request); return(Json(new { success = true, response = "" }, JsonRequestBehavior.AllowGet)); }