1234567891011121314151617181920212223242526272829303132333435363738 |
- 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<GlobalSettings>(x => x.Section).IsEqualTo("CoreFilterDefinitions"),
- Columns.None<GlobalSettings>().Add(x => x.ID, x => x.Contents)).ToObjects<GlobalSettings>().ToList();
- foreach(var filter in filters)
- {
- var defs = Serialization.Deserialize<CoreFilterDefinitions>(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;
- }
- }
- }
|