private object GetCredentialPropertyValue(ResourceCredentials credentials) { var prop = credentials.GetType().GetProperty(this.MappedCredentialPropertyName); if (prop == null) { return(null); } return(prop.GetValue(credentials)); }
public static void CreateOrUpdateCredentials(string name, ResourceCredentials credentials, bool allowFunctionAccess) { dbLock.Wait(); try { using var cmd = new SQLiteCommand(GetScript(), connection.Value); cmd.Parameters.AddWithValue("@CredentialType_Name", credentials.GetType().GetCustomAttribute <ScriptAliasAttribute>()?.Alias ?? credentials.GetType().Name); cmd.Parameters.AddWithValue("@Credential_Name", name); cmd.Parameters.AddWithValue("@EncryptedConfiguration_Xml", Encrypt(Persistence.SerializeToPersistedObjectXml(credentials))); cmd.Parameters.AddWithValue("@AllowFunctionAccess_Indicator", allowFunctionAccess ? 1 : 0); cmd.ExecuteNonQuery(); } finally { dbLock.Release(); } }