Esempio n. 1
0
        public void TierII_1Day_OneOfTwoMaterialComponentsPresent()
        {
            CswPrimaryKey           LocationId   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode              Constituent1 = TestData.Nodes.createConstituentNode(IsTierII: CswEnumTristate.True);
            CswNbtNode              Constituent2 = TestData.Nodes.createConstituentNode(IsTierII: CswEnumTristate.False, CASNo: "67-64-1");
            Collection <CswNbtNode> Constituents = new Collection <CswNbtNode> {
                Constituent1, Constituent2
            };
            CswNbtNode ChemicalNode = TestData.Nodes.createMaterialNode(CASNo: "50-00-0", IsTierII: CswEnumTristate.True, State: "Solid", Constituents: Constituents);
            CswNbtNode PoundsUnit   = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(2, Data.Materials.Count);
            foreach (TierIIData.TierIIMaterial TierIIMat in Data.Materials)
            {
                Assert.AreEqual(TierIIMat.CASNo == "12-34-0" ? .1 : 1, TierIIMat.MaxQty);
            }
        }
Esempio n. 2
0
        public void getTierIIDataTestNoData()
        {
            CswPrimaryKey LocationId = TestData.Nodes.createLocationNode().NodeId;

            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.ToString(),
                EndDate    = DateTime.Now.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(0, Data.Materials.Count);
        }
        public CswNbtWebServiceRegulatoryReporting.TierIIDataReturn getTierIIData(TierIIData.TierIIDataRequest Request)
        {
            CswNbtWebServiceRegulatoryReporting.TierIIDataReturn Ret = new CswNbtWebServiceRegulatoryReporting.TierIIDataReturn();

            var SvcDriver = new CswWebSvcDriver <CswNbtWebServiceRegulatoryReporting.TierIIDataReturn, TierIIData.TierIIDataRequest>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceRegulatoryReporting.getTierIIData,
                ParamObj: Request
                );

            SvcDriver.run();
            return(Ret);
        }
Esempio n. 4
0
        public void TierII_1Day_MaterialNotPresentNotTierII()
        {
            CswPrimaryKey LocationId    = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode  = TestData.Nodes.createMaterialNode(IsTierII: CswEnumTristate.False);
            CswNbtNode    KilogramsUnit = TestData.Nodes.createUnitOfMeasureNode("Weight", "kg", 1, 0, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, KilogramsUnit, ChemicalNode, LocationId);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(0, Data.Materials.Count);
        }
Esempio n. 5
0
        public void TierII_1Day_MaterialPresentSpecificGravity()
        {
            CswPrimaryKey LocationId   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode = TestData.Nodes.createMaterialNode(SpecificGravity: 0.5);//1 L = .5 kg = 1.102 lb
            CswNbtNode    LiterNode    = TestData.Nodes.createUnitOfMeasureNode("Volume", "Liters", 1.0, 0, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, LiterNode, ChemicalNode, LocationId);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(1.102, Data.Materials[0].MaxQty);
            Assert.AreEqual(1.102, Data.Materials[0].AverageQty);
        }
Esempio n. 6
0
        public void TierII_2Days_ContainerMoveToUnrelatedLocation()
        {
            CswPrimaryKey LocationIdA   = TestData.Nodes.createLocationNode().NodeId;
            CswPrimaryKey LocationIdB   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode  = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode    PoundsUnit    = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);
            CswNbtNode    ContainerNode = TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationIdA, DateTime.Today.AddDays(-1), CswEnumNbtContainerUseTypes.Closed);

            TestData.Nodes.createContainerLocationNode(ContainerNode, Type: CswEnumNbtContainerLocationTypeOptions.Move.ToString(), LocationId: LocationIdB);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationIdA.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials[0].Locations.Count);
            Assert.AreEqual(1, Data.Materials[0].DaysOnSite);
        }
Esempio n. 7
0
        public void TierII_2Days_MaterialDispenseForUse()
        {
            CswPrimaryKey LocationId    = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode  = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode    PoundsUnit    = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);
            CswNbtNode    ContainerNode = TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId, DateTime.Today.AddDays(-1), CswEnumNbtContainerUseTypes.Closed);

            TestData.Nodes.createContainerDispenseTransactionNode(ContainerNode, Quantity: .5, Type: CswEnumNbtContainerDispenseType.Dispense.ToString());
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(1, Data.Materials[0].MaxQty);
            Assert.AreEqual(.75, Data.Materials[0].AverageQty);
        }
Esempio n. 8
0
        public void TierII_3Days_ContainerDispose()
        {
            CswPrimaryKey           LocationId    = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode              ChemicalNode  = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode              PoundsUnit    = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);
            CswNbtObjClassContainer ContainerNode = TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId, DateTime.Today.AddDays(-1), CswEnumNbtContainerUseTypes.Closed);

            ContainerNode.DisposeContainer(true);
            ContainerNode.postChanges(false);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.AddDays(1).ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials[0].MaxQty);
            Assert.AreEqual(1, Data.Materials[0].AverageQty);
            Assert.AreEqual(2, Data.Materials[0].DaysOnSite);
        }
Esempio n. 9
0
        public void TierII_1Day_MaterialPresentWithMultipleStorageTypes()
        {
            CswPrimaryKey LocationId   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode    PoundsUnit   = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId);
            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId, UseType: CswEnumNbtContainerUseTypes.Closed);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(2, Data.Materials[0].MaxQty);
            Assert.AreEqual(2, Data.Materials[0].AverageQty);
            Assert.AreEqual(2, Data.Materials[0].Storage.Count);
        }
Esempio n. 10
0
        public void TierII_1Day_MaterialComponentPresent()
        {
            CswPrimaryKey LocationId   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    Constituent  = TestData.Nodes.createConstituentNode(IsTierII: CswEnumTristate.True);
            CswNbtNode    ChemicalNode = TestData.Nodes.createMaterialNode(CASNo: "", IsTierII: CswEnumTristate.False, State: "Solid", Constituents: new Collection <CswNbtNode> {
                Constituent
            });
            CswNbtNode PoundsUnit = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(0.1, Data.Materials[0].MaxQty);
        }
Esempio n. 11
0
        public void TierII_2Days_MaterialDispenseIntoChildContainer()
        {
            CswPrimaryKey           LocationId      = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode              ChemicalNode    = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode              PoundsUnit      = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);
            CswNbtObjClassContainer SourceContainer = TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId, DateTime.Today.AddDays(-1), CswEnumNbtContainerUseTypes.Closed);
            CswNbtNode              ChildContainer  = TestData.Nodes.createContainerNode("Container", 0, PoundsUnit, ChemicalNode, LocationId);

            SourceContainer.DispenseOut(CswEnumNbtContainerDispenseType.Dispense, 0.5, PoundsUnit.NodeId, DestinationContainer: ChildContainer);
            ChildContainer.postChanges(false);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(1, Data.Materials[0].MaxQty);
            Assert.AreEqual(1, Data.Materials[0].AverageQty);
        }
Esempio n. 12
0
        public void TierII_1Day_MaterialPresentInChildOfChildLocation()
        {
            CswPrimaryKey LocationIdA  = TestData.Nodes.createLocationNode().NodeId;
            CswPrimaryKey LocationIdB  = TestData.Nodes.createLocationNode(ParentLocationId: LocationIdA).NodeId;
            CswPrimaryKey LocationIdC  = TestData.Nodes.createLocationNode(ParentLocationId: LocationIdB).NodeId;
            CswNbtNode    ChemicalNode = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode    PoundsUnit   = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationIdC);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationIdA.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(1, Data.Materials[0].MaxQty);
            Assert.AreEqual(1, Data.Materials[0].AverageQty);
            Assert.AreEqual(1, Data.Materials[0].Locations.Count);
        }
Esempio n. 13
0
        public void TierII_1Day_MaterialPresent()
        {
            CswPrimaryKey LocationId   = TestData.Nodes.createLocationNode().NodeId;
            CswNbtNode    ChemicalNode = TestData.Nodes.createMaterialNode(State: "Solid");
            CswNbtNode    PoundsUnit   = TestData.Nodes.createUnitOfMeasureNode("Weight", "lb", 4.53592, -1, CswEnumTristate.True);

            TestData.Nodes.createContainerWithRecords("Container", 1, PoundsUnit, ChemicalNode, LocationId);
            TierIIData.TierIIDataRequest Request = new TierIIData.TierIIDataRequest
            {
                LocationId = LocationId.ToString(),
                StartDate  = DateTime.Today.AddDays(-1).ToString(),
                EndDate    = DateTime.Today.ToString()
            };
            TierIIData Data = TierIIAction.getTierIIData(Request);

            Assert.AreEqual(1, Data.Materials.Count);
            Assert.AreEqual(1, Data.Materials[0].MaxQty);
            Assert.AreEqual(1, Data.Materials[0].AverageQty);
            Assert.IsNotNullOrEmpty(Data.Materials[0].TradeName);                 //Material name exists
            Assert.AreEqual("12-34-0", Data.Materials[0].CASNo);                  //Material data exists
            Assert.AreEqual("Storage", Data.Materials[0].Storage[0].UseType);     //Container data exists
            Assert.AreEqual("New Room", Data.Materials[0].Locations[0].Location); //Location data exists
        }
        /// <summary>
        /// Gets all reportable Materials and their max and average quantities in a given Location for the given timeframe
        /// </summary>
        public static void getTierIIData(ICswResources CswResources, TierIIDataReturn Return, TierIIData.TierIIDataRequest Request)
        {
            CswNbtActTierIIReporting _CswNbtActTierIIReporting = new CswNbtActTierIIReporting((CswNbtResources)CswResources);

            Return.Data = _CswNbtActTierIIReporting.getTierIIData(Request);
        }