今日は、私は私のモデルの値にアクセスすることができないという問題があります。取得財産
public void SearchWholeUser(string fullName){
UserADSearch searchUser = new UserADSearch();
List<SpecificADModel> source = new List<SpecificADModel>();
source = searchUser.SearchFull(path, fullName);
//string username = the value of username comes here
//used to initialize the detailed info frame
initializeInfos(source);
GetChildRequests(username);
}
値を設定すると、別のクラスで問題なく機能します。リストから価値を引き出すことは可能でしょうか? 私はすでにでそれを試してみました:
string username = source[1].ToString();
しかし、それはどちらか動作しませんでした。
新しいADリクエストを作成せずにユーザー名を取得する方法はありますか?事前に
おかげ
編集
SearchFull()このようlokks(私はこれは必要ではないと思う):
public List<SpecificADModel> SearchFull(string direction, string fullName)
{
//New List in the SpecificADModel format.
List<SpecificADModel> users = new List<SpecificADModel>();
try
{
// New AD search for clicked user on the lefthandside ListView
DirectoryEntry entry = new DirectoryEntry(direction, "admin", "pass", AuthenticationTypes.Secure);
//searches for all relevant Infos in AD
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectCategory=person)(objectClass=user)(&(cn=" + fullName + ")))";
searcher.PropertiesToLoad.Clear();
searcher.PropertiesToLoad.Add("displayName");
searcher.PropertiesToLoad.Add("samAccountName");
searcher.PropertiesToLoad.Add("givenname");
searcher.PropertiesToLoad.Add("sn");
searcher.PropertiesToLoad.Add("company");
searcher.PropertiesToLoad.Add("department");
searcher.PropertiesToLoad.Add("title");
searcher.PropertiesToLoad.Add("streetAddress");
searcher.PropertiesToLoad.Add("homephone");
searcher.PropertiesToLoad.Add("telephoneNumber");
SearchResult result = searcher.FindOne();
string displayName = result.Properties["displayName"][0].ToString();
string accountName = result.Properties["samAccountName"][0].ToString();
string firstName = result.Properties["givenname"][0].ToString();
string lastName = result.Properties["sn"][0].ToString();
string companyName = result.Properties["company"][0].ToString();
string departmentName = result.Properties["department"][0].ToString();
string jobTitle = result.Properties["title"][0].ToString();
string streetAddress = result.Properties["streetAddress"][0].ToString();
string homePhone = result.Properties["homephone"][0].ToString();
string directPhone = result.Properties["telephoneNumber"][0].ToString();
//Results will be stored in SpeceficADModel Format in the users ListView
users.Add(new SpecificADModel()
{
DisplayName = displayName,
Username = accountName,
FirstName = firstName,
LastName = lastName,
CompanyName = companyName,
Department = departmentName,
JobTitle = jobTitle,
AdressBusiness = streetAddress,
ReceptionNumberBusiness = homePhone,
DirectNumberBusiness = directPhone
});
//returns List<>
return users;
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine(e.ToString());
Console.WriteLine(e.ToString());
return null;
}
}
私は質問をよく理解していませんでしたが、 rchFullは内部で行います。 – Aamir
多分 'string username = source [1] .Username;'? – SeM
プロパティの追加が完了したらプロジェクトを再構築しましたか? :) – Auguste