Esempio n. 1
0
        public static LotStat?GetHoldLotStat(LotHoldType?hold, LotProductionStatus productionStatus)
        {
            switch (hold)
            {
            case LotHoldType.HoldForCustomer: return(LotStat.Completed_Hold);

            case LotHoldType.HoldForAdditionalTesting: return(productionStatus == LotProductionStatus.Produced ? LotStat._09Hold : LotStat.InProcess_Hold);

            case LotHoldType.HoldForTreatment: return(LotStat.TBT);

            default: return(null);
            }
        }
        public static string GetDescription(this LotProductionStatus status)
        {
            switch (status)
            {
            case LotProductionStatus.Produced:
                return("Produced");

            case LotProductionStatus.Batched:
                return("Batched");
            }

            throw new InvalidOperationException("The GetDescription method does not support the LotProductionStatus \"{0}\".");
        }
Esempio n. 3
0
        public void Returns_PickedInventoryItems_with_Lot_status_properties_as_expected_on_success()
        {
            //Arrange
            StartStopwatch();

            const LotQualityStatus    lotStatus0        = LotQualityStatus.Contaminated;
            const bool                onHold0           = false;
            const LotProductionStatus productionStatus0 = LotProductionStatus.Batched;

            const LotQualityStatus    lotStatus1 = LotQualityStatus.Pending;
            const bool                onHold1    = true;
            const LotProductionStatus status1    = LotProductionStatus.Produced;

            var lotKey0 = new LotKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Lot>(l => l.EmptyLot(), l => l.QualityStatus = lotStatus0, l => l.ProductionStatus = productionStatus0, l => l.Hold = null));
            var lotKey1 = new LotKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Lot>(l => l.EmptyLot(), l => l.QualityStatus = lotStatus1, l => l.ProductionStatus = status1, l => l.Hold = LotHoldType.HoldForAdditionalTesting));

            var parentRecord    = CreateParentRecord();
            var pickedInventory = GetPickedInventoryRecordFromParent(parentRecord);
            var pickedKey0      = new PickedInventoryItemKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <PickedInventoryItem>(i => i.ConstrainByKeys(pickedInventory, lotKey0)));
            var pickedKey1      = new PickedInventoryItemKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <PickedInventoryItem>(i => i.ConstrainByKeys(pickedInventory, lotKey1)));

            StopWatchAndWriteTime("Arrange");

            //Act
            var result = TimedExecution(() => MethodUnderTest(parentRecord));

            //Assert
            result.AssertSuccess();
            var items = GetPickedInventoryItemsFromResult(result.ResultingObject);

            var inventory = items.Single(r => r.PickedInventoryItemKey == pickedKey0.KeyValue);

            Assert.AreEqual(lotStatus0, inventory.QualityStatus);
            Assert.AreEqual(onHold0, inventory.HoldType != null);
            Assert.AreEqual(productionStatus0, inventory.ProductionStatus);

            inventory = items.Single(r => r.PickedInventoryItemKey == pickedKey1.KeyValue);
            Assert.AreEqual(lotStatus1, inventory.QualityStatus);
            Assert.AreEqual(onHold1, inventory.HoldType != null);
            Assert.AreEqual(status1, inventory.ProductionStatus);
        }
            public void CreatesFilterLotParameterObjectCorrectly()
            {
                // Arrange
                const LotTypeEnum         expectedLotType = LotTypeEnum.GRP;
                const LotProductionStatus expectedStatus  = LotProductionStatus.Produced;

                FilterLotParameters actualParameters = null;

                MockLotService
                .Setup(m => m.GetLotSummaries(It.IsAny <FilterLotParameters>()))
                .Callback((FilterLotParameters param) => actualParameters = param)
                .Returns(new SuccessResult <ILotQualitySummariesReturn>(Fixture.Create <ILotQualitySummariesReturn>()));

                // Act
                LotsControler.Get(expectedLotType, expectedStatus);

                // Assert
                Assert.IsNotNull(actualParameters);
                Assert.AreEqual(expectedLotType, actualParameters.LotType);
                Assert.AreEqual(expectedStatus, actualParameters.ProductionStatus);
            }
Esempio n. 5
0
 internal static Expression <Func <Lot, bool> > FilterByProductionStatus(LotProductionStatus productionStatus)
 {
     return(l => l.ProductionStatus == productionStatus);
 }