/// <summary> /// Constructs a DmColumn object based on a DmColumnSurrogate object. /// </summary> public DmColumn ConvertToDmColumn() { DmColumn dmColumn = DmColumn.CreateColumn(this.ColumnName, DmUtils.GetTypeFromAssemblyQualifiedName(this.DataType)); dmColumn.dbTypeAllowed = this.dbTypeAllowed; if (dmColumn.dbTypeAllowed) { dmColumn.DbType = (DbType)this.DbType; } dmColumn.AllowDBNull = this.AllowDBNull; dmColumn.IsReadOnly = this.IsReadOnly; dmColumn.MaxLength = this.MaxLength; dmColumn.IsAutoIncrement = this.IsAutoIncrement; dmColumn.Precision = this.Precision; dmColumn.PrecisionSpecified = this.PrecisionSpecified; dmColumn.Scale = this.Scale; dmColumn.ScaleSpecified = this.ScaleSpecified; dmColumn.IsUnique = this.IsUnique; dmColumn.IsUnicode = this.IsUnicode; dmColumn.IsCompute = this.IsCompute; dmColumn.IsUnsigned = this.IsUnsigned; dmColumn.OriginalDbType = this.OriginalDbType; dmColumn.OriginalTypeName = this.OriginalTypeName; dmColumn.SetOrdinal(this.Ordinal); return(dmColumn); }
public override object ConvertFromString(string s) { return(DmUtils.GetTypeFromAssemblyQualifiedName(s)); }
public static ServiceConfiguration DeserializeFromDmSet(DmSet set) { if (set == null) { return(null); } if (!set.Tables.Contains("DotmimSync__ServiceConfiguration")) { return(null); } ServiceConfiguration configuration = new ServiceConfiguration(); var dmRowConfiguration = set.Tables["DotmimSync__ServiceConfiguration"].Rows[0]; configuration.BatchDirectory = dmRowConfiguration["BatchDirectory"] as String;; configuration.ConflictResolutionPolicy = (ConflictResolutionPolicy)dmRowConfiguration["ConflictResolutionPolicy"]; configuration.DownloadBatchSizeInKB = (int)dmRowConfiguration["DownloadBatchSizeInKB"]; configuration.EnableDiagnosticPage = (bool)dmRowConfiguration["EnableDiagnosticPage"]; configuration.UseBulkOperations = (bool)dmRowConfiguration["UseBulkOperations"]; configuration.UseVerboseErrors = (bool)dmRowConfiguration["UseVerboseErrors"]; configuration.OverwriteConfiguration = (bool)dmRowConfiguration["OverwriteConfiguration"]; configuration.SerializationConverter = (SerializationFormat)dmRowConfiguration["SerializationConverter"]; if (set.Tables.Contains("DotmimSync__FilterParameter")) { configuration.FilterParameters = new List <SyncParameter>(); var dmTableFilterParameters = set.Tables["DotmimSync__FilterParameter"]; foreach (var dmRowFilter in dmTableFilterParameters.Rows) { SyncParameter syncParameter = new SyncParameter(); syncParameter.Name = dmRowFilter["Name"] as String; var valueType = dmRowFilter["ValueType"] as String; var value = dmRowFilter["Value"] as String; var objType = DmUtils.GetTypeFromAssemblyQualifiedName(valueType); var converter = objType.GetConverter(); var objValue = converter.ConvertFromInvariantString(valueType); syncParameter.Value = objValue; configuration.FilterParameters.Add(syncParameter); } } if (set.Tables.Contains("DotmimSync__Table")) { var dmTableTables = set.Tables["DotmimSync__Table"]; configuration.Tables = new string[dmTableTables.Rows.Count]; for (int i = 0; i < dmTableTables.Rows.Count; i++) { var dmRowTable = dmTableTables.Rows[i]; var tableName = dmRowTable["Name"] as String; configuration.Tables[i] = tableName; } } var configTables = set.Tables.Where(tbl => !tbl.TableName.StartsWith("DotmimSync__")); if (configTables != null) { foreach (var configTable in configTables) { configuration.ScopeSet.Tables.Add(configTable.Clone()); } } return(configuration); }