private static System.Data.DataTable GetTabDataTable(int tabId, string referenceIds, bool isShowLookupitem, bool IsSubItemFullPathName) { string[] arrayInputmainReferenceIds = referenceIds.Trim().Replace(System.Environment.NewLine, "").Split(','); PdmTabClrDto aPdmTabClrDto = PdmCacheManager.DictTabCache[tabId]; List <BlockSubitemClrUserDefineDto> tabSubitemDtoList = PdmCacheManager.GetTabBlockSubitem(tabId); List <int> subitemIds = tabSubitemDtoList.Select(o => o.SubItemID).ToList(); List <PdmBlockSubItemClrDto> listclrSubitems = PdmCacheManager.GetMutiplePdmBlockSubItemEntityFromCache(subitemIds); System.Data.DataTable tabFieldResultDataTable = PLMSReferenceValueRetrieveBL.RetrieveDataTableReferenceSimpleDcutValue(arrayInputmainReferenceIds, listclrSubitems, isShowLookupitem); #region ------------- update Datatable column name by name conversion Dictionary <string, DataColumn> dictDataColumn = new Dictionary <string, DataColumn>(); foreach (DataColumn dataColumn in tabFieldResultDataTable.Columns) { dictDataColumn.Add(dataColumn.ColumnName, dataColumn); } if (IsSubItemFullPathName) { foreach (var subitemDto in tabSubitemDtoList) { if (dictDataColumn.ContainsKey(subitemDto.SubItemID.ToString())) { dictDataColumn[subitemDto.SubItemID.ToString()].ColumnName = subitemDto.SubItemFullPathName; } } } else // it iwll show externa mappimg name { var dictSubItemMappng = PdmTabBlockSubItemExtraInfoDal.DictTabSubitemExternapMappingName[tabId]; List <string> noMappingColumnsList = new List <string>(); var productRefereIdSubItemDto = PdmCacheManager.GetPdmBlockSubItemDtoWithInternalCode(BlockRegister.ProductReferenceIdBlock.ProductReferenceId); string referenceIdExternaName = ""; foreach (int subItemID in dictSubItemMappng.Keys) { if (dictDataColumn.ContainsKey(subItemID.ToString())) { string exterName = dictSubItemMappng[subItemID]; if (string.IsNullOrEmpty(exterName)) { exterName = subItemID.ToString() + "_NoMapping"; noMappingColumnsList.Add(exterName); } dictDataColumn[subItemID.ToString()].ColumnName = exterName; if (subItemID == productRefereIdSubItemDto.SubItemId) { referenceIdExternaName = exterName; } } } foreach (string nomappingColumn in noMappingColumnsList) { tabFieldResultDataTable.Columns.Remove(nomappingColumn); } if (!string.IsNullOrEmpty(referenceIdExternaName)) { // need to remove hradr coding referenceId if (tabFieldResultDataTable.Columns.Contains(referenceIdExternaName)) { tabFieldResultDataTable.Columns.Remove(referenceIdExternaName); // rename productReferenId as referenceIdExternaName tabFieldResultDataTable.Columns["ProductReferenceID"].ColumnName = referenceIdExternaName; } } } #endregion return(tabFieldResultDataTable); }
// [Microsoft.SqlServer.Server.SqlProcedure] public static void TestCLR() { // PLMSReferenceValueRetrieveBL.GetMutipleBlockGridCellValueTable(new[] { 9625 }, new[] { 5807 }, new[] { 4407, //4408, //4410, //4411, //4412, //4413, //4414, //4415, //4416}); var result = PLMSReferenceValueRetrieveBL.RetrieveBlocksReferencesGridColumnsRowList(new[] { 9625 }, new[] { 5807 }, new[] { 4407, 4408, 4410, 4411, 4412, 4413, 4414, 4415, 4416 }); //CLROutput.Output(result.Count.ToString () ); foreach (var pair in result) { CLROutput.OutputDebug(pair.Key.ToString()); var dictValue1 = pair.Value; foreach (var pair2 in dictValue1) { CLROutput.OutputDebug(pair2.Key.ToString()); var dictvalue3 = pair2.Value; foreach (var row in dictvalue3) { // row.RowId //CLROutput.Output(pair3.Key.ToString()); //var dictvalue4 = pair3.Value; //foreach (var pair4 in dictvalue4) //{ // CLROutput.Output(pair4.Key.ToString()); // var dictvalue5 = pair4.Value; //} } } } // CLROutput.SendDataTable(gridcolumnResultDataTable); //using (SqlConnection conn = new SqlConnection("Data Source=srv-spider;Initial Catalog=PLMS_Devlp;User ID=sa;Password=visualdev")) //{ // //SqlContext. // conn.Open(); // // TestDatatableScheme(conn); // // DataTableUtility.BulkCopyDatatableToDatabaseTable(conn, result, "FromDataTale", dictDataTableAndDatabaseTableMappingColumn); // TestExcelExport(conn); //} //PLMSDWStoredProcedures.GenerateUserDefinTableScript(); }