using InABox.Configuration; using InABox.Core; using InABox.Database; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PRS.Shared { public class Update_7_43 : DatabaseUpdateScript { public override VersionNumber Version => new VersionNumber(7, 43); public override bool Update() { var filters = DbFactory.NewProvider(Logger.Main).Query( new InABox.Core.Filter(x => x.Section).IsEqualTo("CoreFilterDefinitions"), Columns.None().Add(x => x.ID, x => x.Contents)).ToObjects().ToList(); foreach(var filter in filters) { var defs = Serialization.Deserialize(filter.Contents) ?? new CoreFilterDefinitions(); var nextSequence = 0L; foreach(var def in defs) { if(def.Sequence < nextSequence) { def.Sequence = nextSequence; } nextSequence = def.Sequence + 1; } filter.Contents = Serialization.Serialize(defs); } DbFactory.NewProvider(Logger.Main).Save(filters); return true; } } }