public static CodeModel.Definitions.FunctionDefinition CreateFunctionDefinitionFromSqlReader(SQLiteDataReader rdr, string fileName) { var className = FileContextUtil.GetClassNameFromFileName(fileName); var funcName = rdr.GetString(rdr.GetOrdinal("name")); var sig = FunctionSignature.ParseFromDb(rdr.GetString(rdr.GetOrdinal("sig"))); var devDescValue = rdr.GetStringOrNull(rdr.GetOrdinal("description")); if (devDescValue != null) { // TODO: Transitionary until the next database version if (sig.Description == null) { sig.Description = devDescValue; } } var trueFileName = fileName; var altFileName = rdr.GetStringOrNull(rdr.GetOrdinal("alt_file_name")); if (!string.IsNullOrEmpty(altFileName)) { trueFileName = altFileName; } var pos = rdr.GetInt32(rdr.GetOrdinal("pos")); var filePos = new FilePosition(trueFileName, pos); return(new CodeModel.Definitions.FunctionDefinition(sig, filePos, 0, 0, 0, Span.Empty)); }
public FFFunction(FFApp app, FFFile file, FFClass cls, SQLiteDataReader rdr) { #if DEBUG if (app == null) { throw new ArgumentNullException("app"); } if (file == null) { throw new ArgumentNullException("file"); } #endif _app = app; _file = file; _class = cls; _id = rdr.GetInt64(rdr.GetOrdinal("rowid")); _name = rdr.GetString(rdr.GetOrdinal("name")); _sig = FunctionSignature.ParseFromDb(rdr.GetString(rdr.GetOrdinal("sig"))); var devDescValue = rdr.GetStringOrNull(rdr.GetOrdinal("description")); if (devDescValue != null) { // TODO: Transitionary until the next database version if (_sig.Description == null) { _sig.Description = devDescValue; } } var fileName = _file.FileName; var altFileName = rdr.GetStringOrNull(rdr.GetOrdinal("alt_file_name")); if (!string.IsNullOrEmpty(altFileName)) { fileName = altFileName; } var pos = rdr.GetInt32(rdr.GetOrdinal("pos")); var filePos = new FilePosition(fileName, pos); _def = new CodeModel.Definitions.FunctionDefinition(_sig, filePos, 0, 0, 0, _span); UpdateVisibility(); }
public FFPermEx(FFFile file, SQLiteDataReader rdr) { _file = file; _name = rdr.GetString(rdr.GetOrdinal("name")); _id = rdr.GetInt32(rdr.GetOrdinal("rowid")); var fileName = rdr.GetStringOrNull(rdr.GetOrdinal("alt_file_name")); if (string.IsNullOrEmpty(fileName)) { fileName = file.FileName; } var pos = rdr.GetInt32(rdr.GetOrdinal("pos")); _filePos = new FilePosition(fileName, pos); _def = new ExtractTableDefinition(_name, _filePos, true); }
private void LoadStreets() { RemoveStreets(); string strFilename = $"{Tool.StartupPath}\\streets_bw.sqlite"; RectLatLng bb = this.mcMapControl.ViewArea; //TODO: Check if the area is not to big ... But what is big ? SQLiteConnectionStringBuilder csbDatabase = new SQLiteConnectionStringBuilder { DataSource = strFilename }; using (SQLiteConnection dbConnection = new SQLiteConnection(csbDatabase.ConnectionString)) { dbConnection.Open(); try { // 0 1 2 3 //const string strSelectStatement = "select highway,ref,name,way from streets_bw where highway in ('motorway','motorway_link','trunk','trunk_link','primary','secondary','primary_link','secondary_link','residential')"; const string strSelectStatement = "select highway,ref,name,way from streets_bw"; uint iCounter = 0; DateTime dtStart = DateTime.Now; using (SQLiteCommand dbSelectCommand = new SQLiteCommand(strSelectStatement, dbConnection)) { using (SQLiteDataReader dbResult = dbSelectCommand.ExecuteReader()) { while (dbResult.Read()) { Highway type = Highway.Unknown; try { type = (Highway)Enum.Parse(typeof(Highway), dbResult.GetString(0), true); } catch (Exception ex) { Debug.WriteLine(ex.Message); } string strRef = dbResult.GetStringOrNull(1); string strName = dbResult.GetStringOrNull(2); LineString way = (LineString)dbResult.GetGeometryFromWKB(3); if (bb.Contains(way.Coordinate.ToPointLatLng())) { List <PointLatLng> list = new List <PointLatLng>(way.Count); list.AddRange(way.Coordinates.Select(pos => pos.ToPointLatLng())); this.Dispatcher.Invoke(() => { PathMarker mrWay = new PathMarker(this.mcMapControl, list, type, $"{( strName.IsNotEmpty() ? strName : "Unknown" )}{( strRef.IsNotEmpty() ? $" ({strRef})" : "" )}") { Tag = type }; this.mcMapControl.Markers.Add(mrWay); }); iCounter++; } } } } DateTime dtStop = DateTime.Now; MB.Information("Load {0} Ways In {1}.", iCounter, (dtStop - dtStart).ToHHMMSSString()); } catch (Exception ex) { MB.Error(ex); } finally { if (dbConnection.State == ConnectionState.Open) { dbConnection.Close(); } } } }