/// <summary> /// save product and all entities /// </summary> /// <param name="contract"></param> /// <param name="userId"></param> /// <returns>new product id</returns> public Guid ProductSaveCompleteById( ProductContract contract, Guid userId ) { // check checksum ( object has hash code ) // move from contract to data var data = new Product(); CrudeProductService.ContractToData(contract.Product, data.product); CrudeProductAttributeService.ContractListToDataList(contract.ProductAttribute, data.ProductAttribute); CrudeProductIdentifierService.ContractListToDataList(contract.ProductIdentifier, data.ProductIdentifier); CrudeProductInfoService.ContractListToDataList(contract.ProductInfo, data.ProductInfo); CrudeProductImageService.ContractListToDataList(contract.ProductImage, data.ProductImage); CrudeProductDocumentationService.ContractListToDataList(contract.ProductDocumentation, data.ProductDocumentation); // save product data.Save(userId); return(data.product.ProductId); }