コード例 #1
0
        public void UpdatingReceivedBatchAtIdWithIncreaseInQuanityWillUpdateInventoryCorrectly()
        {
            int           expectedQuantityBefore = 3;
            int           expectedQuantityAfter  = 5;
            string        batchNumber            = "872890302902";
            BatchOperator batchOperator          = new BatchOperator("Jane", "Doe");

            ReceivedBatch firstBatch = new ReceivedBatch(
                "White", batchNumber, new DateTime(2019, 9, 16), 1, 44614, batchOperator
                );

            ReceivedBatch secondBatch = new ReceivedBatch(
                "White", batchNumber, new DateTime(2019, 9, 23), 2, 44663, batchOperator
                );

            receivedBatchSource.SaveReceivedBatch(firstBatch);
            receivedBatchSource.SaveReceivedBatch(secondBatch);
            Assert.AreEqual(expectedQuantityBefore, inventorySource.FindInventoryBatchByBatchNumber(batchNumber).Quantity);

            EditablePurchaseOrder edited = receivedBatchSource.GetPurchaseOrderForEditing(44663);

            edited.ReceivedBatches[0].Quantity = 4;
            receivedBatchSource.UpdateReceivedBatch(edited.GetReceivedBatchMappedSystemId(0), edited.ReceivedBatches[0]);

            Assert.AreEqual(expectedQuantityAfter, inventorySource.FindInventoryBatchByBatchNumber(batchNumber).Quantity);
        }
コード例 #2
0
 public ReceivedPurchaseOrderEditorViewModel(
     EditablePurchaseOrder purchaseOrder,
     IColorList colorList,
     IBatchNumberValidator batchNumberValidator,
     IBatchOperatorSource operatorSource,
     IActiveInventorySource inventorySource,
     IReceivedBatchSource receivedBatchSource,
     IImplementedBatchSource implementedBatchSource
     )
 {
     this.purchaseOrder          = purchaseOrder;
     this.operatorSource         = operatorSource;
     this.inventorySource        = inventorySource;
     this.receivedBatchSource    = receivedBatchSource;
     this.implementedBatchSource = implementedBatchSource;
     receivedBatches             = new ObservableCollection <ReceivedBatch>();
     ReceivedBatch = new ReceivedBatch();
     ImportPurchaseOrderInformation();
     UpdateReceivedBatchCommand    = new UpdatePurchaseOrderReceivingRecordCommand(this);
     UpdatePurchaseOrderCommand    = new UpdatePurchaseOrderHeaderCommand(this);
     DeleteReceivingRecordCommand  = new DeletePurchaseOrderReceivingRecordCommand(this);
     ReceivedBatchSelectionChanged = new ReceivedBatchForEditingSelectionChangedCommand(this);
     UpdateText                   = "Save Item";
     this.colorList               = colorList;
     this.batchNumberValidator    = batchNumberValidator;
     SelectedColorIndex           = 0;
     ReceivedBatchesSelectedIndex = -1;
 }
コード例 #3
0
        public EditablePurchaseOrder GetPurchaseOrderForEditing(int poNumber)
        {
            ITransaction finder = new FindBatchesInReceivingLedgerByPONumberTransaction(poNumber, sqliteStore);

            ReceivedBatchRepository = ExecuteTransactionAndBuildReceivedBatchObservableCollection(finder);
            UpdateMappingsFromTransactionResults(finder.Results);
            EditablePurchaseOrder editablePo = new EditablePurchaseOrder(ReceivedBatchRepository, ReceivedBatchIdMappings);

            return(editablePo);
        }
コード例 #4
0
        public void BuildEditablePurchaseOrderFromDataSource()
        {
            int           targetPONumber = 11111;
            ReceivedBatch originalBatch  = helper.GetBatchWithSpecificPO(targetPONumber);

            receivedBatchSource.SaveReceivedBatch(originalBatch);
            EditablePurchaseOrder editablePo = receivedBatchSource.GetPurchaseOrderForEditing(targetPONumber);

            Assert.AreEqual(originalBatch.ActivityDate.ToString("yyyy-MM-dd HH:mm:ss"), editablePo.ReceivingDate.ToString("yyyy-MM-dd HH:mm:ss"));
            Assert.AreEqual(originalBatch.PONumber, editablePo.PONumber);
            Assert.AreEqual(originalBatch.ReceivingOperator.FullName, editablePo.ReceivingOperator.FullName);
            Assert.AreEqual(originalBatch.ColorName, editablePo.ReceivedBatches[0].ColorName);
            Assert.AreEqual(originalBatch.Quantity, editablePo.ReceivedBatches[0].Quantity);
            Assert.AreEqual(originalBatch.BatchNumber, editablePo.ReceivedBatches[0].BatchNumber);
        }
コード例 #5
0
        [ExcludeFromCodeCoverage]  //This is a smell :-(
        public ReceivedPurchaseOrderEditorViewModel GetReceivedPurchaseOrderEditorViewModel()
        {
            EditablePurchaseOrder purchaseOrder = receivedBatchSource.GetPurchaseOrderForEditing(poNumber);
            ReceivedPurchaseOrderEditorViewModel poViewModel = new ReceivedPurchaseOrderEditorViewModel(
                purchaseOrder,
                new DuracolorIntermixColorList(),
                new DuracolorIntermixBatchNumberValidator(),
                operatorSource,
                inventorySource,
                receivedBatchSource,
                implementedBatchSource
                );

            return(poViewModel);
        }
コード例 #6
0
 void ReloadPurchaseOrder()
 {
     purchaseOrder = receivedBatchSource.GetPurchaseOrderForEditing(poNumberAsInt);
     ImportPurchaseOrderInformation();
 }