Nuve.Reader.RootLexiconReader.AddEntries C# (CSharp) Method

AddEntries() public method

public AddEntries ( DataSet ds, string tableName, Root>.Dictionary rootsById, MorphemeSurfaceDictionary rootsBySurface ) : void
ds System.Data.DataSet
tableName string
rootsById Root>.Dictionary
rootsBySurface MorphemeSurfaceDictionary
return void
        public void AddEntries(DataSet ds, string tableName, Dictionary<string, Root> rootsById,
            MorphemeSurfaceDictionary<Root> rootsBySurface)
        {
            var data = ds.Tables[tableName].AsEnumerable();
            var entries = data.Select(x =>
                new RootLine
                {
                    Root = x.Field<string>("root"),
                    Surfaces = x.Field<string>("surfaces") ?? "",
                    Lex = x.Field<string>("lex"),
                    Active = x.Field<string>("active") ?? "",
                    Pos = x.Field<string>("Id"),
                    Labels = x.Field<string>("flags") ?? "",
                    Rules = x.Field<string>("rules") ?? ""
                });

            foreach (var entry in entries)
            {
                if (entry.Active == "")
                {
                    AddRoots(entry, rootsById, rootsBySurface);
                }
            }
        }

Usage Example

Example #1
0
        private MorphemeSurfaceDictionary <Root> ReadRoots()
        {
            try
            {
                var roots  = new MorphemeSurfaceDictionary <Root>();
                var reader = new RootLexiconReader(_orthography);


                string rootsPath = _dirPath + _seperator + Resources.InternalMainRootsPath;


                if (_external)
                {
                    using (var stream = new FileStream(rootsPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                    {
                        reader.AddEntries(TextToDataSet.Convert(stream, DefaultTableName, Delimiter), DefaultTableName,
                                          roots);
                    }

                    return(roots);
                }


                reader.AddEntries(EmbeddedTextResourceToDataSet(rootsPath), DefaultTableName, roots);


                string namesPath = _dirPath + _seperator + Resources.InternalPersonNamesPath;
                reader.AddEntries(EmbeddedTextResourceToDataSet(namesPath), DefaultTableName, roots);

                string abbreviationPath = _dirPath + _seperator + Resources.InternalAbbreviationsPath;
                reader.AddEntries(EmbeddedTextResourceToDataSet(abbreviationPath), DefaultTableName, roots);

                return(roots);
            }
            catch (Exception ex)
            {
                throw new InvalidLanguageFileException(ex, Type.Roots, "Invalid language file for roots: ");
            }
        }
All Usage Examples Of Nuve.Reader.RootLexiconReader::AddEntries