Моя цель состоит в том, чтобы пользователь AD выполнял поиск существующих пользователей на основе определенных критериев (имя, фамилия, идентификатор) и отображал соответствующие элементы.
Я использую PrincipalSearcher для этого:
Контроллер:
public ViewResult Index(string fname, string lname, int id)
{
UserPrincipal user = new UserPrincipal(pcontext);
user.GivenName = fname;
user.Surname = lname;
user.EmployeeId = id.ToString();
PrincipalSearcher ps = new PrincipalSearcher();
ps.QueryFilter = user;
PrincipalSearchResult<Principal> results = ps.FindAll();
List<Principal> userResults = new List<Principal>();
foreach (Principal item in results)
{
userResults.Add(item);
}
var viewModel = new UserSearchViewModel
{
Users = userResults.ToList()
};
return View(viewModel);
}
В конце я передаю результаты созданной мною модели представления, привязывая ее к модели списка.
ViewModel:
public class UserSearchViewModel
{
public Request Request { get; set; }
public List<UserSearch> Users { get; set; }
public int id { get; set; }
public string fname { get; set; }
public string lname { get; set; }
}
Текущее сообщение об ошибке, которое я получаю, следующее:
Не удается неявно преобразовать тип 'System.Collections.Generic.List' в 'System.Collections.Generic.List'
Я попытался изменить userResults на тип List, но ошибка остается. Я попытался просто вернуть результаты, но потом не могу понять, как отправить результаты пользователя, а затем отобразить результаты в представлении.
Буду признателен за любую помощь или направление в достижении моей цели.
РЕДАКТИРОВАТЬ: Модель
public class UserSearch
{
public int employeeId { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
}