Пример #1
0
        public void Test_Delete2RootContainers_IsImpossible()
        {
            var container1 = WhenIHaveA <CohortAggregateContainer>();

            var container2 = WhenIHaveA <CohortAggregateContainer>();

            var cmd = new ExecuteCommandDelete(base.ItemActivator, new IDeleteable[] { container1, container2 });

            Assert.IsTrue(cmd.IsImpossible, "expected command to be impossible");
            StringAssert.Contains("root container", cmd.ReasonCommandImpossible);
        }
Пример #2
0
        public void Test_DeleteRootContainer_IsImpossible()
        {
            var container = WhenIHaveA <CohortAggregateContainer>();

            Assert.IsNotNull(container);
            Assert.IsTrue(container.IsRootContainer(), "expected it to be a root container");

            var cmd = new ExecuteCommandDelete(base.ItemActivator, container);

            Assert.IsTrue(cmd.IsImpossible, "expected command to be impossible");
            StringAssert.Contains("root container", cmd.ReasonCommandImpossible);
        }
Пример #3
0
        public void Test_DeleteNonRootContainer_Possible()
        {
            var container    = WhenIHaveA <CohortAggregateContainer>();
            var subcontainer = WhenIHaveA <CohortAggregateContainer>();

            var cic = subcontainer.GetCohortIdentificationConfiguration();

            cic.RootCohortAggregateContainer_ID = null;
            cic.SaveToDatabase();

            container.AddChild(subcontainer);
            Assert.IsFalse(subcontainer.IsRootContainer(), "expected it not to be a root container");
            var cmd = new ExecuteCommandDelete(base.ItemActivator, subcontainer);

            Assert.IsFalse(cmd.IsImpossible, "expected command to be possible");
        }
Пример #4
0
        private void treeView_KeyPress(View.KeyEventEventArgs obj)
        {
            if (!_treeView.CanFocus || !_treeView.HasFocus)
            {
                return;
            }

            try
            {
                switch (obj.KeyEvent.Key)
                {
                case Key.DeleteChar:
                    var many = _treeView.GetAllSelectedObjects().ToArray();
                    obj.Handled = true;

                    //delete many at once?
                    if (many.Length > 1)
                    {
                        if (many.Cast <object>().All(d => d is IDeleteable))
                        {
                            var cmd = new ExecuteCommandDelete(_activator, many.Cast <IDeleteable>().ToArray());
                            if (!cmd.IsImpossible)
                            {
                                cmd.Execute();
                            }
                            else
                            {
                                _activator.Show("Cannot Delete", cmd.ReasonCommandImpossible);
                            }
                        }
                    }
                    else
                    if (_treeView.SelectedObject is IDeleteable d)
                    {
                        // it is a single object selection
                        _activator.DeleteWithConfirmation(d);
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                _activator.ShowException("Error", ex);
            }
        }
Пример #5
0
        public void TestDeleteMultiple_OneObjectInheritsAnother()
        {
            var ei = WhenIHaveA <ExtractionInformation>();
            var ci = ei.CatalogueItem;

            ItemActivator.YesNoResponse = true;

            Assert.IsTrue(ci.Exists());
            Assert.IsTrue(ei.Exists());

            //now because we don't actually have a CASCADE in memory we will have to fake it
            ei.DeleteInDatabase();

            var cmd = new ExecuteCommandDelete(ItemActivator, new IDeleteable[] { ci, ei });

            cmd.Execute();

            Assert.IsFalse(ci.Exists());
            Assert.IsFalse(ei.Exists());
        }
Пример #6
0
        public void TestExtractionFilterDeleting_WhenItHas_ExtractionFilterParameterSet_Interactive()
        {
            var filter = WhenIHaveA <ExtractionFilter>();

            var set = new ExtractionFilterParameterSet(Repository, filter, "fff");

            Assert.IsTrue(filter.Exists());
            Assert.IsTrue(set.Exists());

            var activator = new TestActivateItems(this, Repository);

            activator.InteractiveDeletes = true;
            activator.YesNoResponse      = true;

            var del = new ExecuteCommandDelete(activator, filter);

            del.Execute();

            Assert.IsFalse(filter.Exists());
            Assert.IsFalse(set.Exists());
        }