Exemple #1
0
        /// <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)));
        }