public void LoadIntoDatabase()
        {
            var records = ParserHelper.ParseRecords(Records);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                foreach (var record in records)
                {
                    loader.Add(record);
                }

                using (var transaction = connection.BeginTransaction())
                {
                    loader.Load(transaction);

                    using (var command = connection.CreateCommand())
                    {
                        command.Transaction = transaction;
                        command.CommandText = "SELECT * FROM Locations";
                        using (var adapter = new SqlDataAdapter(command))
                        {
                            var table = new DataTable();
                            adapter.Fill(table);
                            Assert.Equal(4, table.Rows.Count);
                        };
                    }
                }
            }
        }
        public void FindMissingTiploc()
        {
            var records = ParserHelper.ParseRecords(Records);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                foreach (var record in records)
                {
                    loader.Add(record);
                }

                var id = loader.Find("WATRLOO");
                Assert.Equal(5L, id);

                var row = loader.Table.Rows[4];
                Assert.Equal(5L, row["Id"]);
                Assert.Equal("I", row["Action"]);
                Assert.Equal("WATRLOO", row["Tiploc"]);
                Assert.Equal("WATRLOO - MISSING", row["Description"]);
                Assert.Equal(DBNull.Value, row["Nlc"]);
                Assert.Equal(DBNull.Value, row["NlcCheckCharacter"]);
                Assert.Equal(DBNull.Value, row["NlcDescription"]);
                Assert.Equal(DBNull.Value, row["Stanox"]);
                Assert.Equal(DBNull.Value, row["ThreeLetterCode"]);
            }
        }
        public void CreateDataTableWithLocationColumns()
        {
            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();
                var table = loader.Table;

                Assert.Equal(9, table.Columns.Count);
                Assert.NotNull(table.Columns["Nlc"]);
            }
        }
        public void OtherRecordsNotAdded()
        {
            var records = ParserHelper.ParseRecords(Records);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                Assert.False(loader.Add(records[4]));

                Assert.Equal(0, loader.Table.Rows.Count);
            }
        }
        /// <summary>
        /// Create a new instance of <see cref="UnlocLoader"/>.
        /// </summary>
        public UnlocLoader()
        {
            var locationParser = new LocationParser();

            _countryLoader  = new CountryLoader();
            _locationLoader = new LocationLoader(locationParser);
            _fileDownloader = new FileDownloader();

            _countryLoader.OnInfo  += (sender, s) => OnInfo?.Invoke(sender, s);
            _countryLoader.OnWarn  += (sender, s) => OnWarn?.Invoke(sender, s);
            _countryLoader.OnTrace += (sender, s) => OnTrace?.Invoke(sender, s);

            _locationLoader.OnInfo  += (sender, s) => OnInfo?.Invoke(sender, s);
            _locationLoader.OnWarn  += (sender, s) => OnWarn?.Invoke(sender, s);
            _locationLoader.OnTrace += (sender, s) => OnTrace?.Invoke(sender, s);
        }
        public void FindExistingTiploc()
        {
            var records = ParserHelper.ParseRecords(Records);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                foreach (var record in records)
                {
                    loader.Add(record);
                }

                var id = loader.Find("PRNC884");
                Assert.Equal(2L, id);
            }
        }
        public void CreatesLookup()
        {
            var records  = ParserHelper.ParseRecords(Records);
            var expected = records.OfType <Tiploc>().Select(r => r.Code);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                foreach (var record in records)
                {
                    loader.Add(record);
                }

                Assert.All(expected, t => Assert.True(loader.Lookup.ContainsKey(t)));
            }
        }
 public MainWindowViewModel(MainWindow mainOpen)
 {
     _main              = mainOpen;
     WorkerList         = _dataBaseService.GetAllWorkerRecords().ToList();
     LocationListFromDB = _dataBaseService.GetAllLocations();
     if (LocationListFromDB.Count == 0)
     {
         LocationListFromFile = LocationLoader.LoadLocations();
         _dataBaseService.AddLocationsToDataBase(LocationListFromFile);
     }
     actionEventObject = new ActionEvent();
     backgroundWorker1 = new BackgroundWorker()
     {
         WorkerReportsProgress      = true,
         WorkerSupportsCancellation = true,
     };
     backgroundWorker1.DoWork += DoWork;
     backgroundWorker1.RunWorkerAsync();
     actionEventObject.ActionPerformed += ActionPerformed;
 }
        public void AddDelete()
        {
            var records = ParserHelper.ParseRecords(Records);

            using (var connection = _fixture.CreateConnection())
            {
                connection.Open();
                var loader = new LocationLoader(connection, new Sequence(), Substitute.For <ILogger>());
                loader.Initialise();

                Assert.True(loader.Add(records[3]));

                var row = loader.Table.Rows[0];
                Assert.Equal(1L, row["Id"]);
                Assert.Equal("D", row["Action"]);
                Assert.Equal("LNDRBES", row["Tiploc"]);
                Assert.Equal(DBNull.Value, row["Description"]);
                Assert.Equal(DBNull.Value, row["Nlc"]);
                Assert.Equal(DBNull.Value, row["NlcCheckCharacter"]);
                Assert.Equal(DBNull.Value, row["NlcDescription"]);
                Assert.Equal(DBNull.Value, row["Stanox"]);
                Assert.Equal(DBNull.Value, row["ThreeLetterCode"]);
            }
        }
예제 #10
0
 public static Point LoadEliteLocation()
 {
     return(LocationLoader.LoadEliteLocation());
 }
예제 #11
0
 public static List <Point> LoadLegendaryLocations()
 {
     return(LocationLoader.LoadLegendaryLocations());
 }
예제 #12
0
 public void Construct(LocationLoader locationLoader)
 {
     text.text = locationLoader.LocationData.List[0].Id;
 }