示例#1
0
        /**
         * Read all county files
         */
        private void ReadCounties()
        {
            var selectedCounties = ReadSelectedCounties();

            //Read county files
            foreach (string filePath in Directory.EnumerateFiles(Configuration.GetSetting(Configuration.INPUT_DIRECTORY)))
            {
                County county = ReadCounty(filePath, selectedCounties);
                if (county != null)
                {
                    Counties.Add(county);
                }
            }
            CountiesRead?.Invoke();
        }
示例#2
0
        /**
         * Event handler for when a county file's contents change
         * */
        private void OnCountyFileChanged(object source, FileSystemEventArgs e)
        {
            try
            {
                Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
                var selectedCounties = ReadSelectedCounties();
                lock (e)
                {
                    if (e.ChangeType == WatcherChangeTypes.Changed)
                    {
                        var now           = DateTime.Now;
                        var lastWriteTime = File.GetLastWriteTime(e.FullPath);

                        string fileName = Path.GetFileNameWithoutExtension(e.FullPath);
                        if (!fileName.StartsWith("_"))
                        {
                            County toUpdate = ReadCounty(e.FullPath, selectedCounties);
                            if (toUpdate == null)
                            {
                                return;
                            }
                            foreach (var county in Counties)
                            {
                                if (county.Name == toUpdate.Name)
                                {
                                    county.Code      = toUpdate.Code;
                                    county.Processed = toUpdate.Processed;
                                    CountyUpdated?.Invoke(county);
                                }
                            }
                        }
                        // do something...
                        _lastRead = lastWriteTime;
                    }
                }
            }
            catch (Exception ex)
            {
                Error?.Invoke(ex.Message);
            }
        }
示例#3
0
 private void OnCountyFileUpdated(County county)
 {
     CountyFileUpdated?.Invoke(county);
 }