internal IResult <PackagingProduct> UpdatePackagingProduct(UpdatePackagingProductParameters parameters, DateTime timeStamp) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (parameters.Parameters.Weight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativeWeight)); } if (parameters.Parameters.PackagingWeight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativeWeight)); } if (parameters.Parameters.PalletWeight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativePalletWeight)); } var packagingProduct = _productUnitOfWork.PackagingProductRepository.FindByKey(parameters.ProductKey, p => p.Product); if (packagingProduct == null) { return(new InvalidResult <PackagingProduct>(null, string.Format(UserMessages.PackagingProductNotFound, parameters.ProductKey.KeyValue))); } var update = UpdateProduct(packagingProduct.Product, parameters.Parameters); if (!update.Success) { return(update.ConvertTo <PackagingProduct>()); } packagingProduct.Weight = parameters.Parameters.Weight; packagingProduct.PackagingWeight = parameters.Parameters.PackagingWeight; packagingProduct.PalletWeight = parameters.Parameters.PalletWeight; return(new SuccessResult <PackagingProduct>(packagingProduct)); }
public void Updates_tblPackaging_record_as_expected() { //Arrange var packaging = RVCUnitOfWork.PackagingProductRepository.FindBy(p => true, p => p.Product); if (packaging == null) { Assert.Inconclusive("No suitable PackagingProduct to test."); } var parameters = new UpdatePackagingProductParameters { UserToken = TestUser.UserName, ProductKey = packaging.ToPackagingProductKey(), ProductName = "Test Packaging Product", ProductCode = packaging.Product.ProductCode, Weight = packaging.Weight, PackagingWeight = packaging.PackagingWeight, PalletWeight = packaging.PalletWeight }; //Act var result = Service.UpdatePackagingProduct(parameters); result.AssertSuccess(); var resultString = GetKeyFromConsoleString(ConsoleOutput.SynchedTblPackaging); //Assert MockKillSwitch.Verify(k => k.Engage(), Times.Never()); var pkgId = int.Parse(resultString); using (var oldContext = new RioAccessSQLEntities()) { var tblProduct = oldContext.tblPackagings.FirstOrDefault(p => p.PkgID == pkgId); Assert.AreEqual(parameters.ProductName, tblProduct.Packaging); Assert.AreEqual(int.Parse(parameters.ProductCode), tblProduct.PkgID); Assert.AreEqual(parameters.Weight, tblProduct.NetWgt); Assert.AreEqual(parameters.PackagingWeight, tblProduct.PkgWgt); Assert.AreEqual(parameters.PalletWeight, tblProduct.PalletWgt); } }