public static void SaveTasks(IWorkitem item, IList<Member> owners) { IAssetType taskType = Program.MetaModel.GetAssetType("Task"); IAttributeDefinition taskName = taskType.GetAttributeDefinition("Name"); IAttributeDefinition taskEstimate = taskType.GetAttributeDefinition("DetailEstimate"); IAttributeDefinition taskOwners = taskType.GetAttributeDefinition("Owners"); IAttributeDefinition taskTodo = taskType.GetAttributeDefinition("ToDo"); IList<Task> tasks = item.Tasks; int ownerIndex = 1; foreach (Task task in tasks) { //shouldn't have to do this - scope should not be sent in initialized object when calling services.New Asset asset = Program.Services.New(taskType, Oid.FromToken(item.Id, Program.MetaModel)); asset.Attributes.Remove("Task.Scope"); asset.SetAttributeValue(taskName, task.Name); asset.SetAttributeValue(taskEstimate, task.Estimate); asset.SetAttributeValue(taskTodo, task.Todo); asset.AddAttributeValue(taskOwners, Oid.FromToken(owners[ownerIndex].Id, Program.MetaModel)); ownerIndex = ownerIndex == 1 ? 2 : 1; Program.Services.Save(asset); task.Id = asset.Oid.Momentless.Token; } }
public static void SaveTests(IWorkitem item, IList<Member> owners) { IAssetType testType = Program.MetaModel.GetAssetType("Test"); IAttributeDefinition testName = testType.GetAttributeDefinition("Name"); IAttributeDefinition testEstimate = testType.GetAttributeDefinition("DetailEstimate"); IAttributeDefinition testOwners = testType.GetAttributeDefinition("Owners"); IAttributeDefinition testTodo = testType.GetAttributeDefinition("ToDo"); IList<Test> tests = item.Tests; int ownerIndex = 1; foreach (Test test in tests) { Asset asset = Program.Services.New(testType, Oid.FromToken(item.Id, Program.MetaModel)); asset.Attributes.Remove("Test.Scope"); asset.SetAttributeValue(testName, test.Name); asset.SetAttributeValue(testEstimate, test.Estimate); asset.SetAttributeValue(testTodo, test.Todo); asset.AddAttributeValue(testOwners, Oid.FromToken(owners[ownerIndex].Id, Program.MetaModel)); ownerIndex = ownerIndex == 1 ? 2 : 1; Program.Services.Save(asset); test.Id = asset.Oid.Momentless.Token; } }
public bool wifilter(IWorkitem item) { if (item == null) { return(false); } if (listWorkItemQueues == null) { return(true); } var wiq = listWorkItemQueues.SelectedItem as OpenRPA.WorkitemQueue; if (wiq == null) { return(true); } if (item.wiq == wiq.name || item.wiqid == wiq._id) { return(true); } return(false); }