Exemple #1
0
        public static List <PdmEntityColumnClrUserDefineDto> GetErpExchangeDatabaseTableColumnDto(SqlConnection conn, string databaseTableName)
        {
            string query = string.Format(@"SELECT  Columns.COLUMN_NAME as ColumnName,Columns.DATA_TYPE as DataType,
             Columns.CHARACTER_MAXIMUM_LENGTH as MaxLength, Columns.DATETIME_PRECISION as Precision,  Columns.NUMERIC_SCALE as Scale,
            cast( (case when  PK.COLUMN_NAME Is not null then 1 else 0 end) as bit) as PrimaryKey

            FROM information_schema.columns as Columns
            left join
            (
               SELECT column_name
            FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
            WHERE OBJECTPROPERTY(OBJECT_ID(constraint_name), 'IsPrimaryKey') = 1
            AND table_name = '{0}'
            ) as PK on Pk.COLUMN_NAME =  Columns.COLUMN_NAME
            WHERE table_name = '{0}'  and
             ( Columns.DATA_TYPE <> 'timestamp'  and  Columns.DATA_TYPE <>'image'
                and   Columns.DATA_TYPE <>'xml'
                      and   Columns.DATA_TYPE <>'varbinary'
             )
           and  Columns.COLUMN_NAME  NOT IN ('{1}') ",
                                         databaseTableName,

                                         PLMConstantString.ExchangeRowDataChangeTimeStamp

                                         );

            List <PdmEntityColumnClrUserDefineDto> toreturnList = new List <PdmEntityColumnClrUserDefineDto>();

            // PLMSDataImport.ExchangeRowDataPLMImportDateTimeColumn
            // CLROutput.Output(query);
            var result = DataAcessHelper.GetDataTableQueryResult(conn, query);

            //  CLROutput.SendDataTable(result);

            foreach (DataRow arow in result.Rows)
            {
                PdmEntityColumnClrUserDefineDto fromDataBaseDto = PLMDataRowConverter.ConvertErpExchangeDatabaseTableColumnDataRowToPdmEntityColumnDto(arow);

                toreturnList.Add(fromDataBaseDto);
            }

            var textboxColumn = toreturnList.Where(o => o.UicontrolType == (int)EmControlType.TextBox).FirstOrDefault();

            if (textboxColumn != null)
            {
                textboxColumn.UsedByDropDownList = true;
            }
            return(toreturnList);
        }