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);
        }
Пример #2
0
        public void T005_ImportCurrentAlianceRankingCSV()
        {
            using (var s = Db.SessionFactory.OpenSession())
            {
                var    file = System.IO.File.OpenText(@"C:\projekty\ProITSoft\CotGLibs\CotGLibs\CotGBrowser\data\CurrentAlianceRanking.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 DBCurrentAlianceRanking();
                    row.AlianceName = fields[1];
                    row.Score       = int.Parse(fields[2]);
                    row.CitiesNo    = int.Parse(fields[3]);
                    row.UpdateDT    = 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();
            }
        }