示例#1
0
        public DataTable Return_dtDrillDownObject_ToModel(string packId, string drillDownIdentifier)
        {
            DataTable result;

            logger.Trace("Drill Down Identifier: {0}", drillDownIdentifier);

            result = dataAdapter.CreateNew_DrillDownDetails_ToDataTable(drillDownIdentifier);

            switch (drillDownIdentifier)
            {
            case "Department":
                logger.Trace("Department case initiated");

                IEnumerable <Department_Details> _departmentDetail;
                _departmentDetail = performLookup.GetDetail <Department_Details>(packId, drillDownIdentifier);
                result            = dataAdapter.Map_Details_ToDataTable(result, _departmentDetail);
                break;

            case "PackCodes":
                logger.Trace("Pack case initiated");

                IEnumerable <PackCode_Details> _packCodeDetail;
                _packCodeDetail = performLookup.GetDetail <PackCode_Details>(packId, drillDownIdentifier);
                result          = dataAdapter.Map_Details_ToDataTable(result, _packCodeDetail);
                break;

            case "Product":
                logger.Trace("Product case initiated");

                IEnumerable <Product_Details> _productDetail;
                _productDetail = performLookup.GetDetail <Product_Details>(packId, drillDownIdentifier);
                result         = dataAdapter.Map_Details_ToDataTable(result, _productDetail);
                break;

            case "Size":
                logger.Trace("Size Department case initiated");

                IEnumerable <Size_Details> _sizeDetail;
                _sizeDetail = performLookup.GetDetail <Size_Details>(packId, drillDownIdentifier);
                result      = dataAdapter.Map_Details_ToDataTable(result, _sizeDetail);
                break;

            default:
                logger.Warn("Invalid Drill down identifier");
                break;
            }

            return(result.IsInitialized ? result : null);
        }