1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using Comal.Classes;
- using InABox.Core;
- using InABox.Database;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- 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.Provider.Query(
- typeof(Kanban),
- new Filter<Kanban>("Category").IsNotEqualTo(""),
- new Columns<Kanban>(x => x.ID).Add(x => x.Status).Add("Category")
- ).ToList<Kanban>();
- foreach(var kanban in kanbans)
- {
- var newStatus = CalculateStatus(CoreUtils.GetPropertyValue(kanban,"Category") as String);
- if (kanban.Status != newStatus)
- kanban.Status = newStatus;
- CoreUtils.SetPropertyValue(kanban, "Category", "");
- }
- DbFactory.Provider.Save(kanbans);
- return true;
- }
- }
|