// ================================================================================== /// <summary> /// GetAdditionalUserProperty /// To handle additional ADS properties which EvAdsFacade could not /// </summary> /// <param name="EvUser">EvAdsUserProfile.</param> /// <example> /// <code numberLines="true"> /// string userId = "User" + Guid.NewGuid().ToString(); /// EvAdsUserProfile evUser = new EvAdsUserProfile() /// { /// EmailAddress = @"*****@*****.**", /// SamAccountName = userId /// }; /// EvAdConfig config = new EvAdConfig() /// { /// Server = "192.168.10.53", /// ContextType = ContextType.Domain, /// RootContainer = "OU=Test Users,DC=evado,DC=local", /// UsersContainer = "OU=Test Users,DC=evado,DC=local", /// GroupsContainer = "OU=Test Users,DC=evado,DC=local", /// AdminName = @"evado", /// AdminPassword = "******", /// LdapString = "LDAP://192.168.10.53/dc=evado,dc=local" /// }; /// /// /// EvAdsLdapHelper helper = new EvAdsLdapHelper(config.LdapString, config.AdminName, config.AdminPassword); /// helper.GetAdditionalUserProperty(evUser); /// </code> /// </example> // ---------------------------------------------------------------------------------- public void GetAdditionalUserProperty(EvAdsUserProfile EvUser) { DirectoryEntry deUser = this.GetDirectoryEntry(EvUser); if (deUser == null) { return; } EvUser.JobTitle = GetProperty(deUser, _ldapTitleProp); EvUser.OrgId = GetProperty(deUser, _ldapDepartmentProp); EvUser.OrganisationName = GetProperty(deUser, _ldapCompanyProp); string info = GetProperty(deUser, _ldapInfo); if (info != null) { string [] parts = info.Split(';'); EvUser.PasswordResetToken = parts [0]; string resetExpiry = parts [1]; if (resetExpiry != null && resetExpiry != String.Empty) { EvUser.PasswordResetTokenExpiry = DateTime.ParseExact(resetExpiry, "s", System.Globalization.CultureInfo.InvariantCulture); } } }
// ================================================================================== /// <summary> /// SetAdditionalUserProperty /// To handle additional ADS properties which EvAdsFacade could not /// </summary> /// <param name="EvUser">EvAdsUserProfile.</param> /// <example> /// <code numberLines="true"> /// string userId = "User" + Guid.NewGuid().ToString(); /// EvAdsUserProfile evUser = new EvAdsUserProfile() /// { /// EmailAddress = @"*****@*****.**", /// SamAccountName = userId /// }; /// evUser.JobTitle = "Tester 1"; /// evUser.OrgId = "Evado"; /// evUser.OrganizationName = "Evado Medical Solution"; /// EvAdConfig config = new EvAdConfig() /// { /// Server = "192.168.10.53", /// ContextType = ContextType.Domain, /// RootContainer = "OU=Test Users,DC=evado,DC=local", /// UsersContainer = "OU=Test Users,DC=evado,DC=local", /// GroupsContainer = "OU=Test Users,DC=evado,DC=local", /// AdminName = @"evado", /// AdminPassword = "******", /// LdapString = "LDAP://192.168.10.53/dc=evado,dc=local" /// }; /// /// /// EvAdsLdapHelper helper = new EvAdsLdapHelper(config.LdapString, config.AdminName, config.AdminPassword); /// helper.SetAdditionalUserProperty(evUser); /// </code> /// </example> // ---------------------------------------------------------------------------------- public void SetAdditionalUserProperty(EvAdsUserProfile EvUser) { DirectoryEntry deUser = GetDirectoryEntry(EvUser); string passwordResetTokenExpiry = String.Empty; if (EvUser.PasswordResetTokenExpiry != null) { passwordResetTokenExpiry = EvUser.PasswordResetTokenExpiry.Value.ToString("s", System.Globalization.CultureInfo.InvariantCulture); } if (deUser != null) { if (String.IsNullOrEmpty(EvUser.JobTitle) == false) { SetProperty(deUser, _ldapTitleProp, EvUser.JobTitle); } if (String.IsNullOrEmpty(EvUser.OrgId) == false) { SetProperty(deUser, _ldapDepartmentProp, EvUser.OrgId); } if (String.IsNullOrEmpty(EvUser.OrgId) == false) { SetProperty(deUser, _ldapCompanyProp, EvUser.OrganisationName); } if (String.IsNullOrEmpty(EvUser.PasswordResetToken) == false && String.IsNullOrEmpty(passwordResetTokenExpiry) == false) { SetProperty(deUser, _ldapInfo, EvUser.PasswordResetToken + ";" + passwordResetTokenExpiry); } deUser.CommitChanges( ); } }
public EvAdsUserProfile FindUserObjectById(string evUserId) { EvAdsUserProfile evUser = null; var deSearch = GetDirectorySearcher(); deSearch.Filter = SearchFilter("user", evUserId); deSearch.PropertiesToLoad.Add("department"); var result = deSearch.FindOne(); DisplayProperties(result); SetProperty(result, "pager", "2222-2222-222"); Console.ReadLine(); DisplayProperties(result); Console.ReadLine(); var deUser = GetDirectoryEntry(result); evUser = new EvAdsUserProfile(deUser.Properties["cn"].Value.ToString()) { DisplayName = deUser.Properties["cn"].Value.ToString(), EmailAddress = deUser.Properties["mail"].Value.ToString(), VoiceTelephoneNumber = deUser.Properties["mobile"].Value.ToString() }; return(evUser); }
} // END DeleteItem method // ===================================================================================== /// <summary> /// Description: /// Creates or Updates the user profile in the ADS. /// </summary> /// <param name="UserToSave">EvAdsUserProfile</param> /// <param name="UserToSave">EvAdsUserProfile</param> /// <param name="OutEvUser">EvAdsUserProfile</param> // ------------------------------------------------------------------------------------- public EvAdsCallResult SaveItem( EvAdsUserProfile UserToSave, bool isCreatingNewUser, out EvAdsUserProfile OutEvUser) { this.LogMethod("SaveItem method."); this.LogValue("UserToSave.SamAccountName: " + UserToSave.SamAccountName); this.LogValue("isCreatingNewUser: "******"UserToSave.Password: "******"ACTION: SaveItem"); return(EvAdsCallResult.Invalid_Argument); } else { if (isCreatingNewUser == true && callResult == EvAdsCallResult.Object_Not_Found) { OutEvUser = _evAdFacade.CreateNewUser(UserToSave); this.LogMethod_End("ACTION: CreateNewUser"); } else { if (isCreatingNewUser == false && callResult == EvAdsCallResult.Success) { this.LogValue("ACTION: UpdatE user"); OutEvUser = _evAdFacade.UpdateAdUser(UserToSave); } } } } catch (Exception Ex) { this.LogValue(EvStatics.getException(Ex)); } this.LogAssembly(this._evAdFacade.Log); this.LogMethod_End("SaveItem"); return(EvAdsCallResult.Success); }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #endregion #region Update Data methods // ===================================================================================== /// <summary> /// DeleteItem method /// /// Description: /// Deletes the User from the table. /// /// </summary> /// <param name="Profile">EvAdsUserProfile</param> // ------------------------------------------------------------------------------------- public Evado.Model.EvEventCodes DeleteItem(EvAdsUserProfile Profile) { this.LogMethod("DeleteItem method."); this.LogValue("Profile.SamAccountName: " + Profile.SamAccountName); this._evAdFacade.LogLevel = this._LogLevel; this._evAdFacade.DeleteUserFromAd(Profile); this.LogAssembly(this._evAdFacade.Log); return(Evado.Model.EvEventCodes.Ok); } // END DeleteItem method
protected bool Equals(EvAdsUserProfile other) { return(string.Equals(_userId, other._userId) && string.Equals(EmailAddress, other.EmailAddress) && string.Equals(Description, other.Description) && string.Equals(DisplayName, other.DisplayName) && Enabled.Equals(other.Enabled) && string.Equals(GivenName, other.GivenName) && string.Equals(SamAccountName, other.SamAccountName) && string.Equals(Surname, other.Surname) && UserCannotChangePassword.Equals(other.UserCannotChangePassword) && string.Equals(UserPrincipalName, other.UserPrincipalName) && string.Equals(VoiceTelephoneNumber, other.VoiceTelephoneNumber)); }
// ================================================================================== /// <summary> /// Get DirectoryEntry for User after finding out with SamAccountName /// </summary> /// <param name="DE">DirectoryEntry.</param> /// <param name="PropertyName">string.</param> /// <param name="NewValue">string.</param> // ---------------------------------------------------------------------------------- private DirectoryEntry GetDirectoryEntry(EvAdsUserProfile EvUser) { // // Find user by SamAccountName // DirectorySearcher deSearch = this.GetDirectorySearcher( ); if (deSearch == null) { return(null); } deSearch.Filter = SearchFilter("user", EvUser.SamAccountName); SearchResult result = deSearch.FindOne( ); DirectoryEntry deUser = result.GetDirectoryEntry( ); return(deUser); }
// ================================================================================== /// <summary> /// AddEvUser method /// </summary> /// <param name="EvUser">EvAdsUserProfile.</param> // ------------------------------------------------------------------------------------- public void AddEvUser(EvAdsUserProfile EvUser) { _evUsers.Add(EvUser); }
}// Close getTrial method public void AddGroupsToEvAdsUser(ref EvAdsUserProfile evUser) { this._evAdFacade.AddGroupsToEvAdsUser(ref evUser); }