/// <summary> /// get product and all entities /// </summary> /// <param name="productId"></param> /// <returns></returns> public ProductContract ProductGetCompleteById( Guid productId ) { var contract = new ProductContract(); var data = new Product(productId); // move data from data access layer to business logic layer contract.Product = new CrudeProductContract(); CrudeProductService.DataToContract(data.product, contract.Product); contract.ProductAttribute = CrudeProductAttributeService.DataListToContractList(data.ProductAttribute); contract.ProductIdentifier = CrudeProductIdentifierService.DataListToContractList(data.ProductIdentifier); contract.ProductInfo = CrudeProductInfoService.DataListToContractList(data.ProductInfo); contract.ProductImage = CrudeProductImageService.DataListToContractList(data.ProductImage); contract.ProductDocumentation = CrudeProductDocumentationService.DataListToContractList(data.ProductDocumentation); // generate checksum return(contract); }