コード例 #1
0
        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);
        }
コード例 #2
0
        //  [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();
        }