BuCol Setup
This commit is contained in:
@ -4,6 +4,7 @@ using CsvHelper.Configuration;
|
||||
using CsvHelper;
|
||||
using System.Globalization;
|
||||
using Splat;
|
||||
using StarsAssistant.Services;
|
||||
|
||||
namespace StarsAssistant.CSV;
|
||||
|
||||
@ -45,49 +46,48 @@ public class PlanetLoader
|
||||
/// <param name="race">Import File</param>
|
||||
public void ImportForRace(Model.Race race)
|
||||
{
|
||||
using (var db = Locator.Current.GetService<Model.StarsDatabase>()!)
|
||||
using (var reader = new StreamReader(Game.PlanetFileForRace(race), System.Text.Encoding.Latin1))
|
||||
using (var csv = new CsvReader(reader, CsvConfig))
|
||||
{
|
||||
List<CSV.Planet> records = csv.GetRecords<Planet>().ToList();
|
||||
var planetByPlayer = from csvp in records
|
||||
group csvp by csvp.Owner into byOwners
|
||||
select byOwners;
|
||||
using var db = Locator.Current.GetService<Model.StarsDatabase>()!;
|
||||
using var reader = new StreamReader(Game.PlanetFileForRace(race), System.Text.Encoding.Latin1);
|
||||
using var csv = new CsvReader(reader, CsvConfig);
|
||||
|
||||
foreach (var owner in planetByPlayer)
|
||||
List<CSV.Planet> records = csv.GetRecords<Planet>().ToList();
|
||||
var planetByPlayer = from csvp in records
|
||||
group csvp by csvp.Owner into byOwners
|
||||
select byOwners;
|
||||
|
||||
foreach (var owner in planetByPlayer)
|
||||
{
|
||||
Model.Race? r;
|
||||
if (owner.Key == race.Name)
|
||||
{
|
||||
Model.Race? r;
|
||||
if (owner.Key == race.Name)
|
||||
r = race;
|
||||
}
|
||||
else
|
||||
{
|
||||
r = db.Race.Find(owner.Key);
|
||||
if (r == null)
|
||||
{
|
||||
r = race;
|
||||
r = new() { Name = owner.Key };
|
||||
db.Add(r);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Planet csvp in owner)
|
||||
{
|
||||
Model.Planet? p = db.Planet.Find(csvp.Name);
|
||||
if (p == null)
|
||||
{
|
||||
p = new() { Name = csvp.Name };
|
||||
csvp.UpdateDbPlanet(p);
|
||||
db.Add(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
r = db.Race.Find(owner.Key);
|
||||
if (r == null)
|
||||
{
|
||||
r = new() { Name = owner.Key };
|
||||
db.Add(r);
|
||||
}
|
||||
csvp.UpdateDbPlanet(p);
|
||||
db.Update(p);
|
||||
}
|
||||
|
||||
foreach (Planet csvp in owner)
|
||||
{
|
||||
Model.Planet? p = db.Planet.Find(csvp.Name);
|
||||
if (p == null)
|
||||
{
|
||||
p = new() { Name = csvp.Name };
|
||||
csvp.UpdateDbPlanet(p);
|
||||
db.Add(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
csvp.UpdateDbPlanet(p);
|
||||
db.Update(p);
|
||||
}
|
||||
}
|
||||
db.SaveChanges();
|
||||
}
|
||||
db.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user