Ejemplo n.º 1
0
            public void Creates_new_tblPackaging_record_as_expected()
            {
                //Arrange
                var parameters = new CreatePackagingProductParameters
                {
                    UserToken       = TestUser.UserName,
                    ProductName     = "Test Packaging Product",
                    ProductCode     = "123456",
                    Weight          = 1,
                    PackagingWeight = 2,
                    PalletWeight    = 3
                };

                //Act
                var result = Service.CreatePackagingProduct(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);
                }
            }
Ejemplo n.º 2
0
        internal IResult <PackagingProduct> CreatePackagingProduct(CreatePackagingProductParameters 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.NegativePackagingWeight));
            }

            if (parameters.Parameters.PalletWeight < 0)
            {
                return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativePalletWeight));
            }

            var productResult = CreateProduct(parameters.Parameters, ProductTypeEnum.Packaging);

            if (!productResult.Success)
            {
                return(productResult.ConvertTo((PackagingProduct)null));
            }
            var product = productResult.ResultingObject;

            var packagingProduct = new PackagingProduct
            {
                Id              = product.Id,
                Weight          = parameters.Parameters.Weight,
                PackagingWeight = parameters.Parameters.PackagingWeight,
                PalletWeight    = parameters.Parameters.PalletWeight,

                Product = product
            };

            packagingProduct = _productUnitOfWork.PackagingProductRepository.Add(packagingProduct);

            return(new SuccessResult <PackagingProduct>(packagingProduct));
        }