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