// public bool HasError => InvalidCells.Length > 0 || InvalidIdValue || InvalidForeignIdValue // || IdDuplicate || ForeignIdNotFound; public void Populate(IdParseResult result) { UserDefinedId = result.UserDefinedId; ForeignUserDefinedId = result.ForeignUserDefinedId; InvalidIdValue = result.InvalidIdValue; InvalidForeignIdValue = result.InvalidForeignIdValue; }
public virtual IdParseResult ParseId(IExcelRow row, SheetMappingOptions options) { var result = new IdParseResult { InvalidForeignIdValue = false, InvalidIdValue = false }; var id = 0; var excludeColumns = new List <int>(); if (options.IdIndex.HasValue) { excludeColumns.Add(options.IdIndex.Value); var val = row.Cells[options.IdIndex.Value].Value?.ToString(); if (int.TryParse(val, out id)) { result.UserDefinedId = id; } else { result.InvalidIdValue = true; } } if (options.IndexAsId) { result.UserDefinedId = row.Index; result.InvalidIdValue = false; } if (options.ParentIdIndex.HasValue) { excludeColumns.Add(options.ParentIdIndex.Value); var val = row.Cells[options.ParentIdIndex.Value].Value?.ToString(); if (int.TryParse(val, out id)) { result.ForeignUserDefinedId = id; } else { result.InvalidForeignIdValue = true; } } result.ExcludeColumns = excludeColumns.ToArray(); return(result); }