public InventoryAuditBuilder(int userId, Guid transactionTypeId, LumberProduct[] lumberProducts, MiscellaneousProduct[] miscProducts) { var transaction = new InventoryTransaction { UserId = userId, TransactionTypeId = transactionTypeId }; var createInventoryTransactionCommand = new CreateInventoryTransaction(transaction); Commands.Add(createInventoryTransactionCommand); var createLumberTransactionDetailCommands = lumberProducts.Select(p => new CreateLumberTransactionDetails(transaction, p.Id, p.Quantity)); Commands.AddRange(createLumberTransactionDetailCommands); var createMiscTransactionDetailCommands = miscProducts.Select(p => new CreateMiscellaneousTransactionDetails(transaction, p.Id, p.Quantity)); Commands.AddRange(createMiscTransactionDetailCommands); var lumberUpdateCommands = lumberProducts.Select(lp => new UpdateLumberProductInventory(lp)).ToList(); Commands.AddRange(lumberUpdateCommands); var miscUpdateCommands = miscProducts.Select(mp => new UpdateMiscellaneousProductInventory(mp)).ToList(); Commands.AddRange(miscUpdateCommands); }
public void ReceiveAndReleaseQuantity_HappyPath_ReceivesAndReleases() { var productId = Product.Light.Id; var locationId = Location.TestRack.Id; var rng = new Random(); var quant = rng.Next(10) + 1; var client = new JsonServiceClient(TestAppHost.BaseUri); var xact = new CreateInventoryTransaction { ProductId = productId, LocationId = locationId, Quantity = quant }; var count = new GetProductQuantityOnHand { Id = xact.ProductId }; var login = client.Post(new Authenticate { provider = AuthenticateService.CredentialsProvider, UserName = "******", Password = "******" }); client.SessionId = login.SessionId; client.Post(xact); var qoh = client.Get(count); Assert.GreaterOrEqual(quant, 1); Assert.NotNull(qoh); Assert.AreEqual(quant, qoh.Quantity); xact.Quantity = -xact.Quantity + 1; client.Post(xact); qoh = client.Get(count); Assert.NotNull(qoh); Assert.AreEqual(1, qoh.Quantity); }
protected void AddCreateInventoryTransactionCommand(InventoryTransaction transaction) { var createInventoryTransactionCommand = new CreateInventoryTransaction(transaction); Commands.Add(createInventoryTransactionCommand); }