예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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);
        }