Пример #1
0
        public ActionResult RulesListViewRead([DataSourceRequest] DataSourceRequest request, string name)
        {
            AddCookie("leadscorepagesize", request.PageSize.ToString(), 1);
            AddCookie("leadscorepagenumber", request.Page.ToString(), 1);
            int AccountID = this.Identity.ToAccountID();
            int RoleID    = this.Identity.ToRoleID();
            IEnumerable <UserPermission> userPermissions = cachingService.GetUserPermissions(AccountID);

            userPermissions = userPermissions.Where(i => i.RoleId == RoleID);
            IEnumerable <byte>       userModules = userPermissions.Select(x => x.ModuleId);
            GetLeadScoreListResponse response    = leadScoreService.GetLeadScoresList(new GetLeadScoreListRequest()
            {
                Query         = name,
                Limit         = request.PageSize,
                PageNumber    = request.Page,
                AccountID     = UserExtensions.ToAccountID(this.Identity),
                SortField     = request.Sorts.Count > 0 ? request.Sorts.First().Member : GetPropertyName <LeadScoreRuleViewModel, DateTime>(t => t.ModifiedOn),
                SortDirection = request.Sorts.Count > 0 ? request.Sorts.First().SortDirection : System.ComponentModel.ListSortDirection.Descending,
                Modules       = userModules
            });

            return(Json(new DataSourceResult
            {
                Data = response.LeadScoreViewModel,
                Total = response.TotalHits
            }, JsonRequestBehavior.AllowGet));
        }
        public void GetAllLeadScoreRules_RunTimeException_ExceptionHandled()
        {
            mockLeadScoreRuleRepository.Setup(c => c.FindAll(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <ListSortDirection>(), null)).Throws(new InvalidOperationException());
            GetLeadScoreListResponse response = leadScoreRuleService.GetLeadScoresList(new GetLeadScoreListRequest()
            {
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(typeof(InvalidOperationException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public void GetAllLeadScoreRules_ValidRule_Succeed()
        {
            var mockRules = LeadScoreRuleMockData.GetMockLeadScoreRules(mockRepository, 10).ToList();

            mockLeadScoreRuleRepository.Setup(cr => cr.FindAll(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <ListSortDirection>(), null)).Returns(mockRules);

            GetLeadScoreListResponse response = leadScoreRuleService.GetLeadScoresList(new GetLeadScoreListRequest()
            {
                AccountID = 1, Limit = 10, PageNumber = 1, Query = ""
            });
            IEnumerable <LeadScoreRuleViewModel> leadScoreRules = response.LeadScoreViewModel;

            mockRepository.VerifyAll();
            Assert.AreEqual(mockRules.Count, leadScoreRules.Count());
            Assert.AreEqual(null, response.Exception);
        }
Пример #4
0
        public GetLeadScoreListResponse GetLeadScoresList(GetLeadScoreListRequest request)
        {
            GetLeadScoreListResponse response = new GetLeadScoreListResponse();
            List <byte> Conditions            = leadScoreRuleRepository.GetConditionsFromModules(request.Modules);

            Conditions.Add((byte)LeadScoreConditionType.ContactVisitsWebsite);
            Conditions.Add((byte)LeadScoreConditionType.ContactVisitsWebPage);
            Conditions.Add((byte)LeadScoreConditionType.PageDuration);
            IEnumerable <LeadScoreRule> leadScoreRules = leadScoreRuleRepository.FindAll(request.Query, request.Limit, request.PageNumber, request.AccountID, request.SortField, request.SortDirection, Conditions);

            if (leadScoreRules == null)
            {
                response.Exception = GetLeadScoreNotFoundException();
            }
            else
            {
                IEnumerable <LeadScoreRuleViewModel> leadScoreList = Mapper.Map <IEnumerable <LeadScoreRule>, IEnumerable <LeadScoreRuleViewModel> >(leadScoreRules);
                response.LeadScoreViewModel = leadScoreList;
                response.TotalHits          = leadScoreRuleRepository.LeadScoreRulesCount(request.Query, request.AccountID, Conditions);
            }
            return(response);
        }