public void GetUserList() { try { GetUsersListRequest request = null; GetUsersListResponse response = null; request = new GetUsersListRequest(); response = _userService.GetUserList(request); Assert.IsTrue(response.IsSucess && response.Users != null && response.Users.Count > 0); request = new GetUsersListRequest() { SearchValue = "hy", SearchProperty = "Name"}; response = _userService.GetUserList(request); Assert.IsTrue(response.IsSucess && response.Users != null && response.Users.Count > 0); } catch (Exception ex) { Assert.IsTrue(false); } }
public GetUsersListResponse GetUserList(GetUsersListRequest request) { GetUsersListResponse response = new GetUsersListResponse(); try { using (IUnitOfWork unitOfWork = RepositoryFactory.GetUnitOfWork()) { if (request == null) throw new Exception("null Input!"); IUserRepository userRepository = RepositoryFactory.Get(typeof(IUserRepository), unitOfWork) as IUserRepository; IRoleRepository roleRepository = RepositoryFactory.Get(typeof(IRoleRepository), unitOfWork) as IRoleRepository; List<Role> roles = roleRepository.GetAll().ToList(); List<User> list = null; if (request.SearchProperty != null && request.SearchProperty != string.Empty) { if (typeof(User).GetProperty(request.SearchProperty) != null) { list = userRepository.GetAll().Where(LambdaConstruct.ParameterPropertyEqualConstant<User>(request.SearchProperty, request.SearchValue)).ToList(); } else throw new Exception("no SearchProperty in GetUserlist of Userservice!"); } else { list = userRepository.GetAll().ToList(); } if (list == null) throw new Exception("no User in GetUserList of UserService!"); response.Users = new List<ViewModels.UserView>(); foreach (var item in list) { Role role = roles.Where(it => it.Id == item.RoleId).FirstOrDefault(); if (role == null) throw new Exception("no Role in GetUserList of UserService!"); else { ViewModels.UserView useView = new ViewModels.UserView() { Id = item.Id.ToString(), Name = item.Name, Password = item.Password, Duty = item.Duty, Email = item.Email, RoleId = item.RoleId, RoleName = role.Name }; response.Users.Add(useView); } } response.IsSucess = true; } } catch (Exception ex) { Log.Write(ex.Message); response.IsSucess = false; response.Message = ex.Message; } return response; }