예제 #1
0
        public JsonResult SearchMember(GridSettings gridSettings)
        {
            MemberSearchFilter filter = new MemberSearchFilter();

            if (gridSettings.IsSearch)
            {
                filter.Email = gridSettings.Where.rules.Any(r => r.field == "Email") ?
                               gridSettings.Where.rules.FirstOrDefault(r => r.field == "Email").data : string.Empty;
                filter.UserName = gridSettings.Where.rules.Any(r => r.field == "FullName") ?
                                  gridSettings.Where.rules.FirstOrDefault(r => r.field == "FullName").data : string.Empty;
            }
            filter.Role = MemberRoles.Contributor;
            int totalRecords     = 0;
            var applicationUsers = _memberService.searchMember(filter, gridSettings.SortColumn, gridSettings.SortOrder, gridSettings.PageSize, gridSettings.PageIndex, out totalRecords);
            var jsonData         = new
            {
                total   = totalRecords / gridSettings.PageSize + 1,
                page    = gridSettings.PageIndex,
                records = totalRecords,
                rows    = (
                    from a in applicationUsers
                    select new
                {
                    Id = a.Id,
                    FullName = a.FullName,
                    Email = a.Email,
                    PhoneNumber = a.PhoneNumber,
                    Country = a.Country.CodeName
                }
                    )
            };

            return(Json(jsonData));
        }
예제 #2
0
        public IEnumerable <ApplicationUser> searchMember(MemberSearchFilter filter, string sortColumn, string sortOrder, int pageSize, int pageIndex, out int totalRecords)
        {
            IEnumerable <ApplicationUser> users = context.Users.ToList();

            if (!string.IsNullOrEmpty(filter.Email))
            {
                users = users.Where(u => u.Email.ToLower().Contains(filter.Email.ToLower()));
            }
            if (!string.IsNullOrEmpty(filter.UserName))
            {
                users = users.Where(u => u.FullName.ToLower().Contains(filter.UserName.ToLower()));
            }
            if (filter.Role != null)
            {
                var role = context.Roles.SingleOrDefault(m => m.Name == filter.Role.Value.ToString());
                users = users.Where(u => u.Roles.Any(r => r.RoleId == role.Id));
            }
            totalRecords = users.Count();
            return(users.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList());
        }
예제 #3
0
        public ActionResult AddMembershipSearchFilter(AddSearchFilterViewModel viewModel)
        {
            var searchCriteria = this.searchService.GetEmptySearchCriteria();

            // we have to find one
            var searchCriterion = searchCriteria.First(c => c.DisplayName == viewModel.CriteriaName);

            var memberSearchFilter = new MemberSearchFilter
            {
                CampaignId     = viewModel.CampaignId,
                InternalName   = searchCriterion.InternalName,
                FilterType     = (int)searchCriterion.Type,
                DisplayName    = viewModel.CriteriaName,
                SearchOperator = (int)viewModel.SearchOperator,
                Value          = viewModel.Value
            };

            this.memberSearchFilterService.Insert(memberSearchFilter);
            return(RedirectToAction("Show", new { id = viewModel.CampaignId }));
        }
        internal void GenerateMemberSearchFilters(int campaignId)
        {
            var emptySearchCriteria = searchRepo.GetEmptySearchCriteria().ToList();

            for (int i = 0; i < random.NextInt(1, 3); i++)
            {
                var criteria = random.PickFromList(emptySearchCriteria);
                emptySearchCriteria.Remove(criteria);

                var criterionInfo = GenerateCriterion(criteria);
                var searchFilter  = new MemberSearchFilter
                {
                    CampaignId     = campaignId,
                    DisplayName    = criteria.DisplayName,
                    InternalName   = criteria.InternalName,
                    FilterType     = criterionInfo.FilterType,
                    SearchOperator = criterionInfo.Operator,
                    Value          = criterionInfo.Value
                };

                searchFilters.Insert(searchFilter);
            }
        }
예제 #5
0
 public void Update(MemberSearchFilter item)
 {
     db.MemberSearchFilters.UpdateById(item);
 }
예제 #6
0
 public MemberSearchFilter Insert(MemberSearchFilter memberSearchFilter)
 {
     return db.MemberSearchFilters.Insert(memberSearchFilter);
 }
예제 #7
0
 public JsonResult SearchMember(GridSettings gridSettings)
 {
     MemberSearchFilter filter = new MemberSearchFilter();
     if (gridSettings.IsSearch)
     {
         filter.Email = gridSettings.Where.rules.Any(r => r.field == "Email") ?
                 gridSettings.Where.rules.FirstOrDefault(r => r.field == "Email").data : string.Empty;
         filter.UserName = gridSettings.Where.rules.Any(r => r.field == "FullName") ?
                 gridSettings.Where.rules.FirstOrDefault(r => r.field == "FullName").data : string.Empty;
     }
     filter.Role = MemberRoles.Contributor;
     int totalRecords = 0;
     var applicationUsers = _memberService.searchMember(filter, gridSettings.SortColumn, gridSettings.SortOrder, gridSettings.PageSize, gridSettings.PageIndex, out totalRecords);
     var jsonData = new
     {
         total = totalRecords / gridSettings.PageSize + 1,
         page = gridSettings.PageIndex,
         records = totalRecords,
         rows = (
             from a in applicationUsers
             select new
             {
                 Id = a.Id,
                 FullName = a.FullName,
                 Email = a.Email,
                 PhoneNumber = a.PhoneNumber,
                 Country = a.Country.CodeName
             }
         )
     };
     return Json(jsonData);
 }
예제 #8
0
 public void Insert(MemberSearchFilter memberSearchFilter)
 {
     _repository.Insert(memberSearchFilter);
 }
예제 #9
0
 public MemberSearchFilter Insert(MemberSearchFilter memberSearchFilter)
 {
     return(db.MemberSearchFilters.Insert(memberSearchFilter));
 }
예제 #10
0
 public void Update(MemberSearchFilter item)
 {
     db.MemberSearchFilters.UpdateById(item);
 }