예제 #1
0
        private async Task <UserSearchViewModel> SetupUserSearchViewModel(string userName = null, string departmentName = null)
        {
            var model = new UserSearchViewModel();

            var branches = await _branchesService.GetAllBranches();

            if (!string.IsNullOrWhiteSpace(userName))
            {
                model.UserName = userName;
            }

            model.Departments = branches.Select(x =>
            {
                var item = new SelectListItem()
                {
                    Text = x.Name, Value = x.Name
                };

                if (!string.IsNullOrWhiteSpace(departmentName) && item.Value == departmentName)
                {
                    item.Selected           = true;
                    model.DepartmentAddress = x.Address?.Trim('"') ?? null;
                    model.DepartmentName    = departmentName;
                }

                return(item);
            }).ToList();

            model.Departments.Insert(0, new SelectListItem()
            {
                Text = "Select a branch", Value = ""
            });
            return(model);
        }
예제 #2
0
        public async Task <ActionResult> Search(UserSearchViewModel user)
        {
            HttpClient client = _api.Initial();
            var        res    = await client.GetAsync("api/users/user/" + user.Username);

            _logger.LogInformation("SEARCHHHHHH:  " + user.Username);
            if (res.IsSuccessStatusCode)
            {
                var      result = res.Content.ReadAsStringAsync().Result;
                UserData user_  = JsonConvert.DeserializeObject <List <UserData> >(result).FirstOrDefault();
                _logger.LogInformation("GETTTTT:  " + result.ToString());
                if (user_ != null)
                {
                    _logger.LogInformation("GETTTTT:  " + user_.ToString());

                    if (HttpContext.Session.GetString("isAdmin").Equals("False"))
                    {
                        if (!HttpContext.Session.GetString("Department").Equals(user_.Department))
                        {
                            ModelState.AddModelError("Username", "No Users Found. Please try another username search.");
                            _logger.LogInformation("User Found but in Different Department!");
                            return(View());
                        }
                    }
                    return(RedirectToAction("Details", new { id = user_.UserId }));
                }
                else
                {
                    ModelState.AddModelError("Username", "No Users Found. Please try another username search.");
                    _logger.LogInformation("UserNOTFounnd");
                    return(View());
                }
            }
            return(View("Index"));
        }
예제 #3
0
        public async Task <IActionResult> Index(UserSearchViewModel vm)
        {
            //vm.ItemsPerPage = 20;
            //var model = await _userManager.GetPagedUsersListAsync(vm,
            //    showAllUsers: true,
            //    personFilter: personFilter,
            //    genderFilter: genderFilter,
            //    statusFilter: statusFilter,
            //    companyFilter: companyFilter,
            //    term);

            //model.CurrentPage = vm.CurrentPage;
            //model.ItemsPerPage = vm.ItemsPerPage;
            //model.ShowFirstLast = true;

            //if (HttpContext.Request.IsAjaxRequest())
            //{
            //    return PartialView("_UsersList", model);
            //}
            //ViewBag.CurrentPage = vm.CurrentPage;
            //return View(model);
            var users = _userService.GetUsers(vm);

            var TotalCount = await _userService.TotalCount();

            var model = new SearchCriteriaPageModel <IPaginated <User>, UserSearchViewModel, int>(users, vm, TotalCount);

            return(View(model));
        }
예제 #4
0
        public async Task <IEnumerable <UserViewModel> > Search([FromQuery] UserSearchViewModel userSearch)
        {
            var expressionSearch = GenerateSearchingExpression(userSearch);
            var users            = _mapper.Map <IEnumerable <UserViewModel> >(await _userRepository.Find(expressionSearch));

            return(users);
        }
예제 #5
0
        public async Task <ActionResult> Search(UserSearchViewModel model)
        {
            try
            {
                var submitAction = Request.Form.Get(UserSearchViewModel.SubmitActionKey) ?? string.Empty;

                if (submitAction.Trim().Equals(UserSearchViewModel.Reset, StringComparison.OrdinalIgnoreCase))
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    model = await SetupUserSearchViewModel(model.UserName, model.DepartmentName);

                    var users = _userService.GetUsers(model.UserName, model.DepartmentName);
                    model.Users = users;
                }
                return(View("Index", model));
            }
            catch (Exception e)
            {
                _logger.Error(e, $"Error in searching for users with name: {model.UserName} and department : {model.DepartmentName} : {e.Message} \n {e.StackTrace}");
                throw;
            }
        }
예제 #6
0
        private Expression <Func <AppUser, bool> > GenerateSearchingExpression(UserSearchViewModel userSearch)
        {
            var searchHelper = new SearchHelper <AppUser>();

            if (!string.IsNullOrWhiteSpace(userSearch.Name))
            {
                searchHelper.AddAndExpression("Name", userSearch.Name, ExpressionOperation.Contains);
            }

            if (!string.IsNullOrWhiteSpace(userSearch.Email))
            {
                searchHelper.AddAndExpression("Email", userSearch.Email, ExpressionOperation.Contains);
            }

            if (userSearch.Enabled != null && !(bool)userSearch.Enabled)
            {
                searchHelper.AddAndExpression("DisabledAt", null, ExpressionOperation.NotEqualTo);
            }

            if (userSearch.Enabled != null && ((bool)userSearch.Enabled))
            {
                searchHelper.AddAndExpression("DisabledAt", null);
            }

            return(searchHelper.BuildExpression());
        }
        public IActionResult Index(UserSearchViewModel searchModel)
        {
            List <SelectListItem> pageSizeSelector = new List <SelectListItem>();

            pageSizeSelector.Add(new SelectListItem("10", "10", searchModel.PageSize == 10));
            pageSizeSelector.Add(new SelectListItem("20", "20", searchModel.PageSize == 20));
            pageSizeSelector.Add(new SelectListItem("30", "30", searchModel.PageSize == 30));
            pageSizeSelector.Add(new SelectListItem("40", "40", searchModel.PageSize == 40));
            pageSizeSelector.Add(new SelectListItem("50", "50", searchModel.PageSize == 50));

            ViewBag.PageSizeSelector = pageSizeSelector;

            List <SelectListItem> orderTypeSelector = new List <SelectListItem>();

            orderTypeSelector.Add(new SelectListItem("نزولی", OrderType.Ascending.ToString(), searchModel.OrderType == OrderType.Ascending));
            orderTypeSelector.Add(new SelectListItem("صعودی", OrderType.Desending.ToString(), searchModel.OrderType == OrderType.Desending));

            ViewBag.OrderTypeSelector = orderTypeSelector;

            List <SelectListItem> userSearchType = new List <SelectListItem>();

            userSearchType.Add(new SelectListItem("نام و نام خانوادگی", UserSearchType.FullName.ToString(), searchModel.SearchType == UserSearchType.FullName));
            userSearchType.Add(new SelectListItem("زمان ثبت نام", UserSearchType.RegisterDate.ToString(), searchModel.SearchType == UserSearchType.RegisterDate));

            ViewBag.UserSearchType = userSearchType;

            var data = _adminService.GetUsers(searchModel.ToDto());

            return(View(new SearchModel <UserSearchViewModel, PaginationViewModel <UserViewModel> >(searchModel, data.ToVewModel())));
        }
        public IActionResult AllProfilesView(UserSearchViewModel userSearchViewModel, int pageIndex = 0)
        {
            ViewData["ItemsPerPage"] = new List <SelectListItem>
            {
                new SelectListItem("Items Per Page", "0"),
                new SelectListItem("5", "5"),
                new SelectListItem("10", "10"),
                new SelectListItem("15", "15"),
                new SelectListItem("20", "20")
            };
            if (!string.IsNullOrEmpty(LoggedUser))
            {
                var userSearchDisplayViewModel = new UserSearchViewModel()
                {
                    UsernameSearch  = userSearchViewModel.UsernameSearch,
                    FirstNameSearch = userSearchViewModel.FirstNameSearch,
                    LastNameSearch  = userSearchViewModel.LastNameSearch,
                    EmailSearch     = userSearchViewModel.EmailSearch,
                    PageIndex       = pageIndex > 0 ? pageIndex : 1,
                    PageSize        = Convert.ToInt32(userSearchViewModel.PageSize)
                };

                ViewData["pageIndex"] = userSearchDisplayViewModel.PageIndex;
                ViewData["pageSize"]  = userSearchDisplayViewModel.PageSize;

                var allProfilesViewModel = this.userDomain.GetAllUsers(userSearchDisplayViewModel);
                ViewData["totalItems"] = allProfilesViewModel.TotalItems;
                return(View(allProfilesViewModel.Items));
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
예제 #9
0
        public async Task <IActionResult> Users(UserSearchViewModel data)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var users = await _domainService.Get(data.UserName, data.DisplayName, data.StartDate, data.EndDate, data.Email, data.OrderBy, data.OrderType);

                var query = from user in users
                            select new UserSearchResultViewModel
                {
                    UserId       = user.UserId,
                    UserName     = user.UserName,
                    DisplayName  = user.DisplayName,
                    Email        = user.Email,
                    CreationDate = user.CreationDate
                };

                return(new OkObjectResult(query.ToList()));
            }
            catch
            {
                return(BadRequest("Unable to perform the search."));
            }
        }
예제 #10
0
        public void SeatchActionViewTest_CalledWithValidModelAndValidModelState_WithMockGitHubApiClass()
        {
            string login = "******";
            UserSearchViewModel model = new UserSearchViewModel {
                UserName = login
            };

            GitHubUserModel expectedData = new GitHubUserModel
            {
                Id         = 1,
                Location   = "Location",
                Login      = login,
                Avatar_Url = "url"
            };

            gitHubApi.Setup(x => x.GetUserAndRepos(login)).ReturnsAsync(expectedData);

            ViewResult      view        = controller.Search(model) as ViewResult;
            GitHubUserModel resultModel = view.ViewData.Model as GitHubUserModel;

            Assert.AreEqual("SearchReults", view.ViewName);
            Assert.AreEqual(expectedData.GetType(), view.ViewData.Model.GetType());

            Assert.IsNotNull(resultModel.Id);
            Assert.AreEqual(resultModel.Id, expectedData.Id);
            Assert.AreEqual(resultModel.Location, expectedData.Location);
            Assert.AreEqual(resultModel.Login, expectedData.Login);
            Assert.AreEqual(resultModel.Avatar_Url, expectedData.Avatar_Url);
        }
예제 #11
0
        public async Task <IActionResult> List(int page, UserSearchViewModel model)
        {
            if (page < 1)
            {
                return(NotFound());
            }

            IEnumerable <UserListingModel> users = new List <UserListingModel>();

            if (string.IsNullOrEmpty(model.SearchUsername))
            {
                users = await this._users.GetAllAsync(page, PageSize);
            }
            else
            {
                users = await this._users.GetAllMatchesAsync(model.SearchUsername, page, PageSize);
            }

            if (users.Count() == 0 && this._users.Total > 0)
            {
                return(Redirect("/Admin/Users/List/1" + HttpContext.Request.QueryString.Value));
            }

            return(View(new UserPageViewModel()
            {
                Users = users,
                CurrentPage = page,
                TotalPages = (int)Math.Ceiling(this._users.Total / (double)PageSize)
            }));
        }
예제 #12
0
        public ActionResult Index(UserSearchViewModel vm)
        {
            vm.Total = _userRepository.Count();

            Func <IQueryable <User>, IQueryable <User> > userFilter = q =>
            {
                q = q.Include(u => u.AccessRule)
                    .Include(u => u.Department)
                    .Include(u => u.Designation)
                    .Include(u => u.Location)
                    .Include(u => u.Person)
                    .Include(u => u.ReportingPerson)
                    .Include(u => u.Shift);


                if (!vm.ShowExEmployees)
                {
                    q = q.Where(r => r.EmployeeStatus != EmployeeStatus.Ex);
                }

                if (vm.DepartmentId.HasValue)
                {
                    q = q.Where(r => r.DepartmentId == vm.DepartmentId.Value);
                }

                if (vm.LocationId.HasValue)
                {
                    q = q.Where(r => r.LocationId == vm.LocationId.Value);
                }

                if (vm.DesignationId.HasValue)
                {
                    q = q.Where(r => r.DesignationId == vm.DesignationId.Value);
                }

                if (vm.ShiftId.HasValue)
                {
                    q = q.Where(r => r.ShiftId == vm.ShiftId.Value);
                }

                if (!string.IsNullOrEmpty(vm.Code))
                {
                    q = q.Where(r => r.EmployeeCode.Contains(vm.Code));
                }

                if (vm.Status.HasValue)
                {
                    q = q.Where(r => r.EmployeeStatus == vm.Status.Value);
                }

                // Skip admin User
                q = q.Where(e => e.Id != 1);

                return(q);
            };

            vm.Users = _userRepository.SearchPage(userFilter, o => o.OrderByDescending(u => u.DateOfJoin), vm.GetPageNo(), vm.PageSize);
            return(View(vm));
        }
예제 #13
0
 public IActionResult UserSearch([Bind("City")] UserSearchViewModel userSearchViewModel)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("UserSearchResults", "search", userSearchViewModel));
     }
     return(View());
 }
        // GET: Usuarios
        public ActionResult Index()
        {
            var user = new UserSearchViewModel();

            user.Posted     = false;
            user.SearchText = User.Identity.Name;
            return(View(user));
        }
예제 #15
0
        public ActionResult GetUserByName(string _searchText, int?_skip)
        {
            var _UserDetails = _iUserService.getUsersByName(_searchText.Trim(), _skip.Value, GlobalConst.Records.LandingTake);
            UserSearchViewModel objUserList = new UserSearchViewModel();

            objUserList.UserDetails = Mapper.Map <IEnumerable <User> >(_UserDetails.UserDetails);
            objUserList.TotalCount  = _UserDetails.TotalCount;
            return(Json(objUserList, GlobalConst.ContentTypes.TextHtml));
        }
예제 #16
0
        public async Task <IActionResult> Index(bool?isLocked = null, int page = 1)
        {
            try
            {
                UserSearchViewModel model = new UserSearchViewModel {
                    Users = new List <UserViewModel>(), IsLocked = isLocked
                };
                model.Skip = (page - 1) * model.Fetch;
                int total;
                IEnumerable <AppUser> appUsers;
                if (isLocked == null)
                {
                    ViewBag.Title = "All Users";
                    total         = userManager.Users.Count();
                    appUsers      = userManager.Users.Skip(model.Skip).Take(model.Fetch);
                }
                else if (isLocked == false)
                {
                    ViewBag.Title = "Search Users";
                    total         = userManager.Users.Where(u => (u.LockoutEnabled && u.LockoutEnd == null)).Count();
                    appUsers      = userManager.Users.Where(u => (u.LockoutEnabled && u.LockoutEnd == null)).Skip(model.Skip).Take(model.Fetch);
                }
                else
                {
                    ViewBag.Title = "Locked Users";
                    total         = userManager.Users.Where(u => (u.LockoutEnabled && u.LockoutEnd != null)).Count();
                    appUsers      = userManager.Users.Where(u => (u.LockoutEnabled && u.LockoutEnd != null)).Skip(model.Skip).Take(model.Fetch);
                }
                if (appUsers != null)
                {
                    IEnumerable <string> roles;
                    foreach (AppUser user in appUsers)
                    {
                        roles = await userManager.GetRolesAsync(user);

                        model.Users.Add(new UserViewModel {
                            Profile = user, Roles = roles
                        });
                    }
                }
                PageInfo pageInfo = new PageInfo
                {
                    TotalItems  = total,
                    ItemPerPage = model.Fetch,
                    PageAction  = nameof(Index),
                    CurrentPage = page
                };
                model.PageInfo = pageInfo;
                return(View(model));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                throw;
            }
        }
예제 #17
0
        public IActionResult Index(string searchString)
        {
            var UserSearchResult = new UserSearchViewModel
            {
                UsersResult      = _userInfoRepo.Search(searchString).ToList(),
                DefaultAvatarImg = _config.GetValue <string>("FileUploadSettings:DefaultAvatarImgFilePath")
            };

            return(View(UserSearchResult));
        }
예제 #18
0
        private Expression <Func <UserInfo, bool> > SearchUserWhere(UserSearchViewModel userSearchViewModel)
        {
            var predicate = WhereExtension.True <UserInfo>();//初始化where表达式

            predicate = predicate.And(p => p.UserName.Equals(userSearchViewModel.UserName));

            predicate = predicate.And(p => p.PassWord.Equals(userSearchViewModel.PassWord));


            return(predicate);
        }
예제 #19
0
        public int UserSerachByWhere(UserSearchViewModel userSearchViewModel)
        {
            var predicate = SearchUserWhere(userSearchViewModel);
            var result    = DbSet.Where(predicate).Count();

            //.Skip(SkipNum)
            //.Take(foodInfoSearchViewModel.pageViewModel.PageSize)
            //.OrderBy(o => o.AddDate).ToList();

            return(result);
        }
예제 #20
0
        public async Task <IActionResult> UserSearchResults([FromQuery(Name = "City")] string city)
        {
            UserSearchViewModel userSearchViewModel = new UserSearchViewModel();

            userSearchViewModel.City = city;

            KeyValuePair <string, object>  userSearchKeyValuePair         = new KeyValuePair <string, object>("userSearchResults", userSearchViewModel);
            UserSearchResultsListViewModel userSearchResultsListViewModel = (UserSearchResultsListViewModel)await _searchRepository.Get(userSearchKeyValuePair);

            return(View(userSearchResultsListViewModel));
        }
예제 #21
0
        public async Task <IActionResult> Index(UserSearchViewModel model)
        {
            var result = await _service.Search(model.ToSearchModel());

            if (IsAjaxRequest())
            {
                return(PartialView("_List", result));
            }

            return(View(result));
        }
예제 #22
0
        public IActionResult GetUser(UserSearchViewModel Vmodel)
        {
            if (ModelState.IsValid)
            {
                var user = _unitOfWork.GetUser(Vmodel.TransNum, Vmodel.email);


                return(View("UserDetails", user));
            }
            return(View());
        }
예제 #23
0
        //根据条件查询用户
        private Expression <Func <User_Info, bool> > SearchUserWhere(UserSearchViewModel userSearchViewModel)
        {
            var predicate = WhereExtension.True <User_Info>();//初始化where表达式

            predicate = predicate.And(p => p.UserId.Contains(userSearchViewModel.UserId));
            predicate = predicate.And(p => p.UserName.Contains(userSearchViewModel.UserName));
            predicate = predicate.And(p => p.Levels.Contains(userSearchViewModel.Levels));
            predicate = predicate.And(p => p.status.Contains(userSearchViewModel.status));
            //predicate = predicate.And(p => p.User_DepartId== userSearchViewModel.User_DepartId);
            return(predicate);
        }
예제 #24
0
        public UserSearchModel searchUser(UserSearchViewModel input)
        {
            try
            {
                UserSearchModel resultObject = new UserSearchModel();
                SqlParameter[]  prms         = new SqlParameter[]
                {
                    new SqlParameter {
                        ParameterName = "userName", DbType = DbType.Date, Value = input.userName == null ? (object)DBNull.Value : input.userName, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "fullName", DbType = DbType.Date, Value = input.fullName == null ? (object)DBNull.Value : input.fullName, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "branchCode", DbType = DbType.String, Value = input.branchCode == null ? (object)DBNull.Value : input.branchCode, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "isActive", DbType = DbType.Int32, Value = input.isActive, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "isDelete", DbType = DbType.Int32, Value = input.isDelete, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "userId", DbType = DbType.String, Value = input.userId == null ? (object)DBNull.Value : input.userId, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "pageNumber", DbType = DbType.Int32, Value = input.pageNumber, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "pageSize", DbType = DbType.Int32, Value = input.pageSize, Size = Int32.MaxValue
                    },


                    new SqlParameter {
                        ParameterName = "resultMessage", DbType = DbType.String, Direction = ParameterDirection.Output, Size = Int32.MaxValue
                    },
                    new SqlParameter {
                        ParameterName = "resultCode", DbType = DbType.Int32, Direction = ParameterDirection.Output, Size = Int32.MaxValue
                    }
                };
                var result = _Repository.ExecWithStoreProcedureCommand(Store_searchUser, prms);
                if (result.errorCode == 0)
                {
                    resultObject = JsonConvert.DeserializeObject <UserSearchModel>(result.errorMessage);
                }
                return(resultObject);
            }
            catch (Exception ex)
            {
                HDBH.Log.WriteLog.Error("UserService => searchUser", ex);
                return(new UserSearchModel());
            }
        }
예제 #25
0
        public JsonResult Search(UserSearchViewModel input)
        {
            var result = new UserSearchModel();

            result = _userService.searchUser(input);
            return(Json(new
            {
                recordsTotal = result.totalRecord,
                recordsFiltered = result.totalRecord,
                data = result.resultList
            }));
        }
 public ActionResult Index(UserSearchViewModel user)
 {
     using (var UC = new UserControl())
     {
         var userFinded = UC.FindUsersByUserName(user.SearchText);
         user.Posted = true;
         if (userFinded != null)
         {
             user.Results.Add(userFinded);
         }
         return(View(user));
     }
 }
예제 #27
0
        //查询用户
        public List <UserSearchMiddlecs> User_Search(UserSearchViewModel userSearchViewModel)
        {
            List <User_Info> user_Infos = _IUserInfoRepository.SearchInfoByWhere(userSearchViewModel);

            List <UserSearchMiddlecs> userSearches = new List <UserSearchMiddlecs>();

            foreach (var item in user_Infos)
            {
                var UserSearchMiddlecs = _IMapper.Map <User_Info, UserSearchMiddlecs>(item);
                userSearches.Add(UserSearchMiddlecs);
            }
            return(userSearches);
        }
        public async Task <IActionResult> List()
        {
            var roleNames = await GetAvailableRoles();

            roleNames.Insert(0, new SelectListItem {
                Text = "All", Value = ""
            });
            var model = new UserSearchViewModel {
                AvailableRoles = roleNames, Status = ""
            };

            return(View("List", model));
        }
예제 #29
0
        public PartialViewResult UserSearch(UserSearchViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(viewModel));
            }
            var users  = _userService.SearchUsers(viewModel.FullName, viewModel.Age ?? 0);
            var userId = _userService.GetUserByLogin(Thread.CurrentPrincipal.Identity.Name).Id;

            ViewBag.friendsIds = _friendService.GetUsersFriendsIds(userId);

            return(PartialView("_UserSearchResult", users));
        }
예제 #30
0
        public ActionResult Search()
        {
            var clubs  = this.clubService.GetAllNames();
            var cities = this.cityService.GetAllNames();

            var model = new UserSearchViewModel()
            {
                FoundUsers = new List <UserSearchResultViewModel>(),
                Clubs      = clubs,
                Cities     = cities
            };

            return(this.View(model));
        }
예제 #31
0
 public ActionResult Search(UserSearchViewModel searchData)
 {
     searchData.SearchResults = dbContext.users
         .Where(user => searchData.Name != null && user.full_name.Contains(searchData.Name));
     return View(searchData);
 }