internal IResult <AdditiveProduct> CreateAdditiveProduct(CreateAdditiveProductParameters parameters, DateTime timeStamp) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var additiveType = _productUnitOfWork.AdditiveTypeRepository.FindByKey(parameters.AdditiveTypeKey); if (additiveType == null) { return(new InvalidResult <AdditiveProduct>(null, string.Format(UserMessages.AdditiveTypeNotFound, parameters.AdditiveTypeKey.KeyValue))); } var productResult = CreateProduct(parameters.Parameters, ProductTypeEnum.Additive); if (!productResult.Success) { return(productResult.ConvertTo((AdditiveProduct)null)); } var product = productResult.ResultingObject; var additiveProduct = new AdditiveProduct { Id = product.Id, AdditiveTypeId = parameters.AdditiveTypeKey.AdditiveTypeKey_AdditiveTypeId, Product = product }; additiveProduct = _productUnitOfWork.AdditiveProductRepository.Add(additiveProduct); return(new SuccessResult <AdditiveProduct>(additiveProduct)); }
internal static void SetAdditiveType(this AdditiveProduct additiveProduct, IAdditiveTypeKey additiveTypeKey) { if (additiveProduct == null) { throw new ArgumentNullException("additiveProduct"); } if (additiveTypeKey == null) { throw new ArgumentNullException("additiveTypeKey"); } additiveProduct.AdditiveType = null; additiveProduct.AdditiveTypeId = additiveTypeKey.AdditiveTypeKey_AdditiveTypeId; }
internal static void AssertEqual(this AdditiveProduct additiveProduct, IInventoryProductReturn productReturn) { if (additiveProduct == null) { throw new ArgumentNullException("additiveProduct"); } if (productReturn == null) { throw new ArgumentNullException("productReturn"); } Assert.AreEqual(new ProductKey((IProductKey)additiveProduct).KeyValue, productReturn.ProductKey); Assert.AreEqual(additiveProduct.Product.Name, productReturn.ProductName); Assert.AreEqual(additiveProduct.Product.ProductType, productReturn.ProductType); Assert.AreEqual(additiveProduct.AdditiveType.Description, productReturn.ProductSubType); }
public static string BuildKey(this AdditiveProduct additiveProduct) { return(new AdditiveProductKey(additiveProduct).ToString()); }
public static AdditiveProductKey GetKey(this AdditiveProduct additiveProduct) { return(new AdditiveProductKey(additiveProduct)); }