public static object ApplySpreadsheetData( this object asset, ISpreadsheetData spreadsheetData, string sheetName, object keyValue = null, string sheetFieldName = "") { if (spreadsheetData.HasSheet(sheetName) == false) { return(asset); } var syncAsset = asset.CreateSheetScheme(); var sheetValueIndo = new SheetValueInfo { Source = asset, SheetName = sheetName, SpreadsheetData = spreadsheetData, SyncScheme = syncAsset, SyncFieldName = sheetFieldName, SyncFieldValue = keyValue, StartColumn = 0 }; return(DefaultProcessor.ApplyData(sheetValueIndo)); }
public static bool IsInIgnoreCache(this SheetValueInfo valueInfo, object target) { return(valueInfo != null && target != null && valueInfo.IgnoreCache != null && valueInfo.IgnoreCache.Contains(target)); }
public static bool IsInIgnoreCache(this SheetValueInfo valueInfo) { return(valueInfo != null && valueInfo.Source != null && valueInfo.IgnoreCache != null && valueInfo.IgnoreCache.Contains(valueInfo.Source)); }
public void Apply(SheetValueInfo valueInfo, DataRow row) { if (valueInfo == null) { throw new ArgumentNullException(nameof(valueInfo)); } foreach (var coProcessor in _processors) { coProcessor.Apply(valueInfo, row); } }
public static object ApplySpreadsheetData(this object asset, SheetSyncScheme syncAsset, ISpreadsheetData data) { var sheetValueInfo = new SheetValueInfo { Source = asset, SyncScheme = syncAsset, SpreadsheetData = data, StartColumn = 0 }; return(DefaultProcessor.ApplyData(sheetValueInfo)); }
public void Apply(SheetValueInfo sheetValueInfo, DataRow row) { sheetValueInfo.IgnoreCache = sheetValueInfo.IgnoreCache ?? new HashSet <object>(); sheetValueInfo.IgnoreCache.Add(sheetValueInfo.SheetName.ToLower()); var validColumns = GetValidColumns(sheetValueInfo, row); foreach (var cell in validColumns) { var nestedTableName = cell.Key; var nestedTableKey = cell.Value; if (string.IsNullOrEmpty(nestedTableName) || string.IsNullOrEmpty(nestedTableKey.ToString())) { continue; } sheetValueInfo.Source.ApplySpreadsheetData(sheetValueInfo, nestedTableName, nestedTableKey, overrideStartColumn: _overrideStartColumn); } }
public static object ApplySpreadsheetData( this object asset, SheetValueInfo sheetValueInfo, string sheetName, object keyValue = null, string sheetFieldName = "", int overrideStartColumn = 0) { if (!sheetValueInfo.SpreadsheetData.HasSheet(sheetName)) { return(asset); } sheetValueInfo.SheetName = sheetName; sheetValueInfo.SyncFieldName = sheetFieldName; sheetValueInfo.SyncFieldValue = keyValue; sheetValueInfo.StartColumn = overrideStartColumn; return(DefaultProcessor.ApplyData(sheetValueInfo)); }
public static object ApplySpreadsheetData( this object asset, Type type, ISpreadsheetData sheetData, string sheetId, object keyValue = null, string sheetFieldName = "") { var syncAsset = type.CreateSheetScheme(); var sheetValue = new SheetValueInfo { Source = asset, SheetName = sheetId, SpreadsheetData = sheetData, SyncScheme = syncAsset, SyncFieldName = sheetFieldName, SyncFieldValue = keyValue, StartColumn = 0 }; return(DefaultProcessor.ApplyData(sheetValue)); }
private Dictionary <string, object> GetValidColumns(SheetValueInfo sheetValueInfo, DataRow row) { var result = new Dictionary <string, object>(); var table = row.Table; var rowValues = row.ItemArray; for (var i = 0; i < table.Columns.Count; i++) { var columnName = table.Columns[i].ColumnName; if (IsValidColumn(columnName)) { var tableName = GetTableName(columnName); if (sheetValueInfo.IsInIgnoreCache(tableName)) { continue; } result.Add(tableName, rowValues[i]); } } return(result); }