1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using InABox.Core;
- using NPOI.HSSF.Record;
- using NPOI.OpenXmlFormats.Spreadsheet;
- namespace InABox.Database.Stores;
- public class AddressLookupStore : Store<AddressLookup>
- {
-
- private static List<AddressLookup> _cache= new();
- private static IQueryProviderFactory? _queryProviderFactory = null;
-
- public override void Init()
- {
- base.Init();
- // // Load the cache file into memory
- // string cachefile = Path.Combine(CoreUtils.GetPath(), "GNAF_CORE.psv");
- // if (File.Exists(cachefile))
- // {
- // DateTime start = DateTime.Now;
- // Logger.Send(LogType.Information,"",$"Loading Address Lookup File: {cachefile}");
- // using (StreamReader sr = new(cachefile))
- // {
- // var headers = sr.ReadLine().Split('|').ToList();
- // int streetfield = headers.IndexOf("ADDRESS_LABEL");
- // int statefield = headers.IndexOf("STATE");
- // int latfield = headers.IndexOf("LATITUDE");
- // int lngfield = headers.IndexOf("LONGITUDE");
- // while (!sr.EndOfStream)
- // {
- // var line = sr.ReadLine().Split('|').ToArray();
- // if (string.Equals(line[statefield], "WA"))
- // {
- // _cache.Add(new AddressLookup()
- // {
- // Address = line[streetfield],
- // Latitude = double.Parse(line[latfield]),
- // Longitude = double.Parse(line[lngfield])
- // });
- //
- // }
- // }
- // }
- // Logger.Send(LogType.Information,"",$"Found {_cache.Count} addresses in {(DateTime.Now - start):g}");
- // }
- // else
- // Logger.Send(LogType.Information,"",$"Address Lookup File: {cachefile} not found!");
- }
- // protected override CoreTable OnQuery(Filter<AddressLookup>? filter, Columns<AddressLookup>? columns, SortOrder<AddressLookup>? sort, CoreRange? range)
- // {
- // _queryProviderFactory ??= this.GetQueryProviderFactory();
- // var result = new CoreTable();
- // var cols = columns ?? Columns.All<AddressLookup>();
- // result.Columns.AddRange(cols.Select(x => new CoreColumn(x.Property)));
- // foreach (var lookup in _cache)
- // {
- // if (filter == null || filter.Match(lookup, _queryProviderFactory))
- // {
- // var row = result.NewRow();
- // result.LoadRow(lookup);
- // result.Rows.Add(row);
- // }
- // }
- // return result;
- // }
- }
|