| 12345678910111213141516171819202122232425262728293031323334353637383940 | using InABox.Core;using Comal.Classes;using InABox.Database;namespace PRS.Shared;public class Update_7_54 : DatabaseUpdateScript{    public override VersionNumber Version => new VersionNumber(7, 54);    private KanbanStatus CalculateStatus(string? category)    {        if (String.IsNullOrWhiteSpace(category) || category.Equals("Open"))            return KanbanStatus.Open;        if(category.Equals("In Progress"))            return KanbanStatus.InProgress;        if (category.Equals("Waiting"))            return KanbanStatus.Waiting;        if (category.Equals("Complete"))            return KanbanStatus.Complete;        return KanbanStatus.Open;    }    public override bool Update()    {        var kanbans = DbFactory.NewProvider(Logger.Main).Query(            typeof(Kanban),            new Filter<Kanban>("Category").IsNotEqualTo(""),            Columns.None<Kanban>().Add(x => x.ID).Add(x => x.Status).Add("Category")            ).ToList<Kanban>();        foreach(var kanban in kanbans)        {            kanban.Status = CalculateStatus(CoreUtils.GetPropertyValue(kanban,"Category") as String);            CoreUtils.SetPropertyValue(kanban, "Category", "");        }        DbFactory.NewProvider(Logger.Main).Save(kanbans);        return true;    }}
 |