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;
- }
- }
|