예제 #1
0
        public IEnumerable <ImportModel> Upload()
        {
            var file   = File.ReadAllText(_options.Value.JsonPath);
            var points = JsonConvert.DeserializeObject <List <ImportModel> >(file);

            var dboWasteTakePoints = points.Select(x => new WasteTakePointDbo
            {
                Id       = Guid.NewGuid(),
                Location = new LocationDbo
                {
                    Coordinates = new Point(x.Longitude, x.Latitude)
                },
                Name = x.Type
            }).ToList();

            _dbContext.WasteTakePoints.AddRange(dboWasteTakePoints);

            _dbContext.SaveChanges();

            return(points);
        }
        public async Task <IActionResult> PrepareDb()
        {
            garbageCollectorContext.AppUsers.RemoveRange(garbageCollectorContext.AppUsers);
            garbageCollectorContext.WasteTakePoints.RemoveRange(garbageCollectorContext.WasteTakePoints);
            garbageCollectorContext.WasteCategories.RemoveRange(garbageCollectorContext.WasteCategories);
            garbageCollectorContext.SaveChanges();

            var points = _dataUploader.Upload();

            _dataUploader.ImportCategories();
            await _dataUploader.MapPointsToCategoriesAsync().ConfigureAwait(true);

            await _dataUploader.CreateDefaultUser().ConfigureAwait(true);

            return(Ok());
        }