/// <summary> /// Saves the specified profile. /// </summary> /// <param name="profile">The profile.</param> public static void Save(MDirectoryProfile profile) { if (profile == null) { throw new ArgumentNullException("profile", "profile cannot be a null reference (Nothing in Visual Basic)!"); } CacheController.RemoveFromCache(s_DirectoryInfoCachedName); MSecurityEntityProfile mSecurityEntityProfile = SecurityEntityUtility.CurrentProfile(); Logger mLog = Logger.Instance(); try { profile.ImpersonatePassword = CryptoUtility.Decrypt(profile.ImpersonatePassword, mSecurityEntityProfile.EncryptionType); } catch (CryptoUtilityException) { profile.ImpersonatePassword = CryptoUtility.Encrypt(profile.ImpersonatePassword, mSecurityEntityProfile.EncryptionType); } try { profile.Directory = CryptoUtility.Decrypt(profile.Directory, mSecurityEntityProfile.EncryptionType); } catch (CryptoUtilityException) { profile.Directory = CryptoUtility.Encrypt(profile.Directory, mSecurityEntityProfile.EncryptionType); } try { profile.ImpersonateAccount = CryptoUtility.Decrypt(profile.ImpersonateAccount, mSecurityEntityProfile.EncryptionType); } catch (CryptoUtilityException) { profile.ImpersonateAccount = CryptoUtility.Encrypt(profile.ImpersonateAccount, mSecurityEntityProfile.EncryptionType); } BDirectories myBLL = new BDirectories(mSecurityEntityProfile, ConfigSettings.CentralManagement); try { myBLL.Save(profile); } catch (DataAccessLayerException ex) { mLog.Error(ex); throw new WebSupportException("Could not save the directory information!"); } String mCacheName = mSecurityEntityProfile.Id.ToString(CultureInfo.CurrentCulture) + "_" + s_DirectoryInfoCachedName; CacheController.RemoveFromCache(mCacheName); }
/// <summary> /// Gets the directories. /// </summary> /// <returns>Collection{MDirectoryProfile}.</returns> public static Collection <MDirectoryProfile> Directories() { MSecurityEntityProfile mSecurityEntityProfile = SecurityEntityUtility.CurrentProfile(); BDirectories mBDirectories = new BDirectories(mSecurityEntityProfile, ConfigSettings.CentralManagement); String mCacheName = mSecurityEntityProfile.Id.ToString(CultureInfo.InvariantCulture) + "_" + s_DirectoryInfoCachedName; Collection <MDirectoryProfile> mRetVal = null; mRetVal = (Collection <MDirectoryProfile>)(HttpContext.Current.Cache[mCacheName]); if (mRetVal == null) { mRetVal = mBDirectories.Directories(); CacheController.AddToCacheDependency(mCacheName, mRetVal); } return(mRetVal); }