コード例 #1
0
        public void InsertDefaultStyle()
        {
            //var db = new PraxisContext();
            //Remove any existing entries, in case I'm refreshing the rules on an existing entry.
            if (serverMode != "PostgreSQL") //PostgreSQL has stricter requirements on its syntax.
            {
                //db.Database.ExecuteSqlRaw("DELETE FROM TagParserEntriesTagParserMatchRules");
                //db.Database.ExecuteSqlRaw("DELETE FROM TagParserEntries");
                //db.Database.ExecuteSqlRaw("DELETE FROM TagParserMatchRules");
            }

            if (serverMode == "SQLServer")
            {
                Database.BeginTransaction();
                Database.ExecuteSqlRaw("SET IDENTITY_INSERT StyleEntries ON;");
            }
            StyleEntries.AddRange(Singletons.defaultStyleEntries);
            SaveChanges();
            if (serverMode == "SQLServer")
            {
                Database.ExecuteSqlRaw("SET IDENTITY_INSERT StyleEntries OFF;");
                Database.CommitTransaction();
            }

            foreach (var file in System.IO.Directory.EnumerateFiles("MapPatterns"))
            {
                StyleBitmaps.Add(new StyleBitmap()
                {
                    Filename = System.IO.Path.GetFileName(file),
                    Data     = System.IO.File.ReadAllBytes(file)
                });
            }
            SaveChanges();
        }
コード例 #2
0
        public void ResetStyles()
        {
            Log.WriteLog("Replacing current styles with default ones");
            var styles = Singletons.defaultStyleEntries.Select(t => t.StyleSet).Distinct().ToList();

            var toRemove       = StyleEntries.Include(t => t.PaintOperations).Where(t => styles.Contains(t.StyleSet)).ToList();
            var toRemovePaints = toRemove.SelectMany(t => t.PaintOperations).ToList();
            var toRemoveImages = StyleBitmaps.ToList();

            StylePaints.RemoveRange(toRemovePaints);
            SaveChanges();
            StyleEntries.RemoveRange(toRemove);
            SaveChanges();
            StyleBitmaps.RemoveRange(toRemoveImages);
            SaveChanges();

            InsertDefaultStyle();
            Log.WriteLog("Styles restored to PraxisMapper defaults");
        }