/// <summary> /// get current, past and present information about a product /// </summary> /// <param name="productId"></param> /// <returns></returns> public List <ProductHistoryContract> ProductHistory( Guid productId ) { var dataAccessLayer = new SolutionNorSolutionPim.DataAccessLayer.ProductSearch(); List <SolutionNorSolutionPim.DataAccessLayer.ProductHistoryData> dataList = new List <DataAccessLayer.ProductHistoryData>(); // get start ProductHistoryData data = dataAccessLayer.ProductHistoryPart(productId); dataList.Add(data); // get next while (data.ProductBecameId != Guid.Empty) { data = dataAccessLayer.ProductHistoryPart(data.ProductBecameId); dataList.Add(data); } // get previous data = dataAccessLayer.ProductHistoryBecame(productId); while (data.ProductId != Guid.Empty) { dataList.Add(data); data = dataAccessLayer.ProductHistoryBecame(data.ProductId); } var businessLogicLayer = new ProductHistory(); return(businessLogicLayer.ProductHistoryFromDal(dataList)); }
// returns a list of ProductHistory contracts from ProductSearchService // links: // docLink: http://sql2x.org/documentationLink/0b582d9b-64df-473e-9f42-7ce7701e67f0 // parameters: // productId: filter by this key, 00000000-0000-0000-0000-000000000000 for no filter public virtual List <ProductHistoryContract> ProductHistory(System.Guid productId) { // transfer all ProductHistory serialized objects from ProductSearch as ProductHistory contracts var dataAccessLayer = new SolutionNorSolutionPim.DataAccessLayer.ProductSearch(); var businessLogicLayer = new ProductHistory(); return(businessLogicLayer.ProductHistoryFromDal(dataAccessLayer.ProductHistory(productId))); }