public void GetUsers_Default_ReturnsEmployeesWithSiteAccess() { var query = new UserQuery() { RoleName = "Employee", HasSiteAccess = true }; var users = repository.GetUsers(query); Assert.IsNotNull(users); Assert.AreEqual(11, users.Count); }
public void GetUsers_ReturnsAdministrators() { var query = new UserQuery() { RoleName = "Administrator" }; var users = repository.GetUsers(query); Assert.IsNotNull(users); Assert.AreEqual(3, users.Count); }
public IList<Employee> GetUsers(UserQuery query) { var criteria = Session.CreateCriteria<Employee>(); if (query.HasSiteAccess.HasValue) criteria.Add(Expression.Eq("IsEmployed", query.HasSiteAccess.Value)); if (!string.IsNullOrEmpty(query.Name)) criteria.Add(Expression.Like("Name", string.Format("%{0}%", query.Name))); if (!string.IsNullOrEmpty(query.RoleName)) criteria.Add(Expression.Eq("RoleName", query.RoleName)); if (string.IsNullOrEmpty(query.SortBy)) criteria.AddOrder(new Order("Name", true)); else criteria.AddOrder(new Order(query.SortBy, (query.SortDirection != null && query.SortDirection.Equals("asc", StringComparison.InvariantCultureIgnoreCase)))); return criteria.List<Employee>(); }