I have many different methods like ones below, but is there way I could improve them and remove duplicate code ?
public static ADUser Load(string userName)
{
using (PrincipalContext pc = MyUtilities.GetPrincipalContext())
using (UserPrincipalExtension user = UserPrincipalExtension.FindByIdentity(pc, IdentityType.SamAccountName, userName))
{
if (user != null)
{
return Utilities.LoadUser(user);
}
}
return null;
}
public static ADUser LoadBySid(string sid)
{
using (PrincipalContext pc = MyUtilities.GetPrincipalContext())
using (UserPrincipalExtension user = UserPrincipalExtension.FindByIdentity(pc, IdentityType.Sid, sid))
{
if (user != null)
{
return Utilities.LoadUser(user);
}
}
return null;
}