public void HandleObfuscation(Entity entity, FieldToBeObfuscated field, IEntityMetadataCache metaData) { entity.ThrowArgumentNullExceptionIfNull(nameof(entity)); field.ThrowArgumentNullExceptionIfNull(nameof(field)); metaData.ThrowArgumentNullExceptionIfNull(nameof(metaData)); // Get the min and maximum values for the field using the meta data cache DoubleAttributeMetadata doubleMetaData = (DoubleAttributeMetadata)metaData.GetAttribute(entity.LogicalName, field.FieldName); int min = (int)doubleMetaData.MinValue.GetValueOrDefault(0); int max = (int)doubleMetaData.MaxValue.GetValueOrDefault(10); if (field.CanBeFormatted) { Dictionary <string, object> metadataParameters = new Dictionary <string, object> { { "min", min }, { "max", max } }; entity[field.FieldName] = formattingClient.CreateFormattedValue((double)entity[field.FieldName], field, metadataParameters); return; } entity[field.FieldName] = doubleScramblerClient.ExecuteScramble((double)entity[field.FieldName], min, max); }
public void HandleObfuscation(Entity entity, FieldToBeObfuscated field, IEntityMetadataCache metaData) { entity.ThrowArgumentNullExceptionIfNull(nameof(entity)); field.ThrowArgumentNullExceptionIfNull(nameof(field)); metaData.ThrowArgumentNullExceptionIfNull(nameof(metaData)); StringAttributeMetadata stringMetaData = (StringAttributeMetadata)metaData.GetAttribute(entity.LogicalName, field.FieldName); if (field.CanBeFormatted) { Dictionary <string, object> metadataParams = new Dictionary <string, object>(); if (stringMetaData.MaxLength != null) { metadataParams.Add("maxlength", stringMetaData.MaxLength); } entity[field.FieldName] = formattingClient.CreateFormattedValue((string)entity[field.FieldName], field, metadataParams); return; } entity[field.FieldName] = strScramblerClient.ExecuteScramble((string)entity[field.FieldName]); }