Пример #1
0
        // 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;
        }
Пример #2
0
        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);
        }