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); }