public IGatewayProviderSettings BuildEntity(GatewayProviderSettingsDto dto) { var extendedData = string.IsNullOrEmpty(dto.ExtendedData) ? new ExtendedDataCollection() : new ExtendedDataCollection( dto.EncryptExtendedData ? dto.ExtendedData.DecryptWithMachineKey() : dto.ExtendedData ); var entity = new GatewayProviderSettings() { Key = dto.Key, ProviderTfKey = dto.ProviderTfKey, Name = dto.Name, Description = dto.Description, ExtendedData = extendedData, EncryptExtendedData = dto.EncryptExtendedData, UpdateDate = dto.UpdateDate, CreateDate = dto.CreateDate }; entity.ResetDirtyProperties(); return(entity); }
/// <summary> /// Builds an entity based on a resolved type /// </summary> /// <param name="t">The resolved Type t</param> /// <param name="gatewayProviderType">The gateway provider type</param> /// <returns></returns> internal IGatewayProviderSettings BuildEntity(Type t, GatewayProviderType gatewayProviderType) { Mandate.ParameterNotNull(t, "Type t cannot be null"); Mandate.ParameterCondition(t.GetCustomAttribute <GatewayProviderActivationAttribute>(false) != null, "Type t must have a GatewayProviderActivationAttribute"); var att = t.GetCustomAttribute <GatewayProviderActivationAttribute>(false); var provider = new GatewayProviderSettings() { Key = att.Key, ProviderTfKey = EnumTypeFieldConverter.GatewayProvider.GetTypeField(gatewayProviderType).TypeKey, Name = att.Name, Description = att.Description, ExtendedData = new ExtendedDataCollection(), EncryptExtendedData = false, UpdateDate = DateTime.Now, CreateDate = DateTime.Now }; provider.ResetHasIdentity(); return(provider); }