public override void Execute() { var existing = Session.QueryOver <DBCurrentAlianceRanking>() .Where(x => x.AlianceName == AlianceScore.AlianceName && x.Continent == AlianceScore.Continent) .SingleOrDefault(); if (existing == null) { existing = new DBCurrentAlianceRanking(); existing.AlianceName = AlianceScore.AlianceName; existing.Continent = AlianceScore.Continent; } existing.Score = AlianceScore.Score; existing.CitiesNo = AlianceScore.CitiesNo; existing.Players = AlianceScore.Players; existing.Rank = AlianceScore.Rank; existing.UpdateDT = DateTime.Now; Session.SaveOrUpdate(existing); //to jeszcze historia... var hist = new DBAlianceScoreHistory(); hist.AlianceName = AlianceScore.AlianceName; hist.CitiesNo = AlianceScore.CitiesNo; hist.Continent = AlianceScore.Continent; hist.CreateDT = existing.UpdateDT; hist.Rank = AlianceScore.Rank; hist.Players = AlianceScore.Players; hist.Score = AlianceScore.Score; Session.Save(hist); }
public void T003_ImportAlianceScoreHistoryCSV() { using (var s = Db.SessionFactory.OpenSession()) { var file = System.IO.File.OpenText(@"C:\projekty\ProITSoft\CotGLibs\CotGLibs\CotGBrowser\data\AlianceScoreHistory.csv"); string line; var t = s.BeginTransaction(); while ((line = file.ReadLine()) != null) { var fields = line.Split(';'); if (fields[0] == "Id") { continue; //header } var row = new DBAlianceScoreHistory(); row.AlianceName = fields[1]; row.Score = int.Parse(fields[2]); row.CitiesNo = int.Parse(fields[3]); row.CreateDT = DateTime.Parse(fields[4]); row.Continent = int.Parse(fields[5]); row.Players = int.Parse(fields[6]); row.Rank = int.Parse(fields[7]); s.SaveOrUpdate(row); } t.Commit(); } }