public void processReconciliationActionsTestUndisposeAndMove()
        {
            CswPrimaryKey ContainerLocId, ContainerLocationLocId;

            TestData.getTwoDifferentLocationIds(out ContainerLocId, out ContainerLocationLocId);

            CswNbtObjClassContainer ContainerNode = TestData.Nodes.createContainerNode(LocationId: ContainerLocId);

            ContainerNode.DisposeContainer();
            Assert.AreEqual(CswEnumTristate.True, ContainerNode.Disposed.Checked.ToString());
            CswNbtObjClassContainerLocation ContainerLocationNode = TestData.Nodes.createContainerLocationNode(
                ContainerNode.Node,
                CswEnumNbtContainerLocationActionOptions.UndisposeAndMove.ToString(),
                LocationId: ContainerLocationLocId,
                Type: CswEnumNbtContainerLocationTypeOptions.ReconcileScans.ToString());

            Assert.AreNotEqual(ContainerLocationNode.Location.SelectedNodeId, ContainerNode.Location.SelectedNodeId);
            Assert.AreEqual(CswEnumNbtContainerLocationStatusOptions.DisposedAtWrongLocation.ToString(), ContainerLocationNode.Status.Value);

            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();

            Sched.processReconciliationActions(TestData.CswNbtResources);
            Assert.AreEqual(CswEnumTristate.True, ContainerLocationNode.ActionApplied.Checked.ToString());
            Assert.AreEqual(ContainerLocationNode.Location.SelectedNodeId, ContainerNode.Location.SelectedNodeId);
            Assert.AreEqual(CswEnumTristate.False, ContainerNode.Missing.Checked.ToString());
            Assert.AreEqual(CswEnumTristate.False, ContainerNode.Disposed.Checked.ToString());
        }
        public void getContainerLocationIdsTestHasNodes()
        {
            TestData.Nodes.createContainerLocationNode(Action: CswEnumNbtContainerLocationActionOptions.Undispose.ToString());
            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();
            CswNbtView ContainerLocationsView            = Sched.getOutstandingContainerLocations(TestData.CswNbtResources);
            CswCommaDelimitedString ContainerLocationIds = Sched.getContainerLocationIds(TestData.CswNbtResources, ContainerLocationsView);

            Assert.IsTrue(ContainerLocationIds.Count > 0, "Expected results; CommaDelimitedString is empty.");
        }
        public void getContainerLocationIdsTestNoNodes()
        {
            TestData.setAllContainerLocationNodeActions(String.Empty);
            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();
            CswNbtView ContainerLocationsView            = Sched.getOutstandingContainerLocations(TestData.CswNbtResources);
            CswCommaDelimitedString ContainerLocationIds = Sched.getContainerLocationIds(TestData.CswNbtResources, ContainerLocationsView);

            Assert.AreEqual(0, ContainerLocationIds.Count, "Unexpected results found in CommaDelimitedString.");
        }
        public void getOutstandingContainerLocationsTestHasNodes()
        {
            TestData.Nodes.createContainerLocationNode(Action: CswEnumNbtContainerLocationActionOptions.Undispose.ToString());
            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();
            CswNbtView  ContainerLocationsView = Sched.getOutstandingContainerLocations(TestData.CswNbtResources);
            ICswNbtTree ContainerLocationsTree = TestData.CswNbtResources.Trees.getTreeFromView(ContainerLocationsView, false, false, false);

            Assert.IsTrue(ContainerLocationsTree.getChildNodeCount() > 0, "Expected results; view is empty.");
        }
        public void getOutstandingContainerLocationsTestNoNodes()
        {
            TestData.setAllContainerLocationNodeActions(String.Empty);
            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();
            CswNbtView  ContainerLocationsView = Sched.getOutstandingContainerLocations(TestData.CswNbtResources);
            ICswNbtTree ContainerLocationsTree = TestData.CswNbtResources.Trees.getTreeFromView(ContainerLocationsView, false, false, false);

            Assert.AreEqual(0, ContainerLocationsTree.getChildNodeCount(), "Unexpected results found in view.");
        }
        private CswScheduleLogicNbtContainerReconciliationActions _getReconciliationActionSched()
        {
            CswScheduleLogicNbtContainerReconciliationActions Sched = new CswScheduleLogicNbtContainerReconciliationActions();
            CswScheduleLogicDetail CswScheduleLogicDetail           = new CswScheduleLogicDetail();

            Sched.initScheduleLogicDetail(CswScheduleLogicDetail);
            Sched.getLoadCount(TestData.CswNbtResources);
            return(Sched);
        }
        public void processReconciliationActionsTestMoreRecentExists()
        {
            CswNbtObjClassContainer         ContainerNode = TestData.Nodes.createContainerNode();
            CswNbtObjClassContainerLocation FirstContainerLocationNode = TestData.Nodes.createContainerLocationNode(ContainerNode.Node, CswEnumNbtContainerLocationActionOptions.Undispose.ToString(), DateTime.Now.AddSeconds(-1));

            TestData.Nodes.createContainerLocationNode(ContainerNode.Node, CswEnumNbtContainerLocationActionOptions.Ignore.ToString());

            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();

            Sched.processReconciliationActions(TestData.CswNbtResources);
            Assert.AreEqual(CswEnumTristate.True, FirstContainerLocationNode.ActionApplied.Checked.ToString());
            Assert.AreEqual(CswEnumTristate.False, ContainerNode.Missing.Checked.ToString());
        }
        public void processReconciliationActionsTestMarkMissing()
        {
            CswNbtObjClassContainer         ContainerNode         = TestData.Nodes.createContainerNode();
            CswNbtObjClassContainerLocation ContainerLocationNode = TestData.Nodes.createContainerLocationNode(
                ContainerNode.Node,
                CswEnumNbtContainerLocationActionOptions.MarkMissing.ToString(),
                Type: CswEnumNbtContainerLocationTypeOptions.Missing.ToString());

            CswScheduleLogicNbtContainerReconciliationActions Sched = _getReconciliationActionSched();

            Sched.processReconciliationActions(TestData.CswNbtResources);
            Assert.AreEqual(CswEnumTristate.True, ContainerLocationNode.ActionApplied.Checked.ToString());
            Assert.AreEqual(CswEnumTristate.True, ContainerNode.Missing.Checked.ToString());
        }