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); }
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; }
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); }
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); }
[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); }
void ReloadPurchaseOrder() { purchaseOrder = receivedBatchSource.GetPurchaseOrderForEditing(poNumberAsInt); ImportPurchaseOrderInformation(); }