Exemplo n.º 1
0
        //select EntityID ,EntityCode ,EntityType,SysTableName  from pdmEntity
        public static PdmEntityBlClrDto ConvertDataRowDto(DataRow row)
        {
            PdmEntityBlClrDto aDto = new  PdmEntityBlClrDto();

            aDto.EntityId             = (System.Int32)row["EntityID"];
            aDto.EntityCode           = (System.String)row["EntityCode"];
            aDto.EntityGroupId        = row["EntityGroupID"]  as System.Int32 ? ;
            aDto.IsBuiltInTable       = row["IsBuiltInTable"]  as System.Boolean ? ;
            aDto.ManageUrl            = row["ServiceUrl"] as System.String;
            aDto.Description          = row["Description"] as System.String;
            aDto.ServiceHeaderDict    = row["ServiceHeaderDict"] as System.String;
            aDto.IsSimpleColumn       = row["IsSimpleColumn"]  as System.Boolean ? ;
            aDto.IsImport             = row["IsImport"]  as System.Boolean ? ;
            aDto.EntityType           = row["EntityType"]  as System.Int32 ? ;
            aDto.SysTableName         = row["SysTableName"] as System.String;
            aDto.IsRelationEntity     = row["IsRelationEntity"]  as System.Boolean ? ;
            aDto.MasterEntityId       = row["MasterEntityID"]  as System.Int32 ? ;
            aDto.ChildEntityId        = row["ChildEntityID"]  as System.Int32 ? ;
            aDto.FolderId             = row["FolderID"]  as System.Int32 ? ;
            aDto.Uilayout             = row["UILayout"] as System.String;
            aDto.SystemTimeStamp      = (System.Byte[])row["SystemTimeStamp"];
            aDto.EntityWithFkentityId = row["EntityWithFKEntityID"]  as System.Int32 ? ;
            aDto.MasterEntityColumnId = row["MasterEntityColumnID"]  as System.Int32 ? ;
            aDto.ChildEntityColumnId  = row["ChildEntityColumnID"]  as System.Int32 ? ;
            aDto.DataSourceFrom       = row["DataSourceFrom"]  as System.Int32 ? ;
            aDto.RequestMethod        = row["RequestMethod"] as System.String;
            return(aDto);
        }
Exemplo n.º 2
0
        internal static string GetSysDefineQueryIDAndDisplay(PdmEntityBlClrDto aPdmEntityDto)
        {
            var SystemDefinePrimaryKeyColumnName = aPdmEntityDto.PdmUserDefineEntityColumnList.Where(o => o.IsPrimaryKey.HasValue && o.IsPrimaryKey.Value).FirstOrDefault();
            var SystemDefineDisplayColumnNames   = aPdmEntityDto.PdmUserDefineEntityColumnList.Where(o => !string.IsNullOrEmpty(o.SystemTableColumnName)).ToList();

            string splitToken = "+' | '+";

            string aselectIdQuery = string.Empty;

            if (SystemDefinePrimaryKeyColumnName != null)
            {
                aselectIdQuery = "select " + SystemDefinePrimaryKeyColumnName.SystemTableColumnName + " as Id, ";
            }

            string aDisplay = GetDisplayColumnNew(splitToken, aPdmEntityDto);

            if (!string.IsNullOrEmpty(aselectIdQuery) && SystemDefineDisplayColumnNames.Count > 1)
            {
                return(aselectIdQuery + "( " + aDisplay + " )  as Display " + " from " + aPdmEntityDto.SysTableName + " order by " + SystemDefineDisplayColumnNames[0].SystemTableColumnName);
            }
            else
            {
                return(string.Empty);
            }
        }
Exemplo n.º 3
0
        internal static List <BlockSubitemClrUserDefineDto> RetriveBlockSubitemFullPathNameAndControlType(SqlConnection conn, string qeuryTabBlockSubitem)
        {
            List <BlockSubitemClrUserDefineDto> aDictSubitemID_Name = new List <BlockSubitemClrUserDefineDto>();
            SqlCommand cmd = new SqlCommand(qeuryTabBlockSubitem, conn);

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            System.Data.DataTable resultTabel = new DataTable();
            adapter.Fill(resultTabel);

            foreach (DataRow aRow in resultTabel.Rows)
            {
                int    subItemID        = (int)aRow["SubItemID"];
                string aStringSubItemId = subItemID.ToString();
                string subItemName      = DataTableUtility.FilterSQLDBInvalidChar(aRow["SubItemName"].ToString()) + "_" + aStringSubItemId;

                //dbo.pdmBlockSubItem.EntityID dbo.pdmEntity.EntityCode, dbo.pdmEntity.SysTableName

                int?entityID = aRow["EntityID"] as int?;

                if (entityID.HasValue)
                {
                    string entityCode  = DataTableUtility.FilterSQLDBInvalidChar(aRow["EntityCode"].ToString());
                    string systemTable = aRow["SysTableName"].ToString();

                    PdmEntityBlClrDto aEntityBlClrDto = PdmCacheManager.DictPdmEntityBlEntity[entityID.Value];

                    if (aEntityBlClrDto.EntityType == (int)EmEntityType.UserDefineTable)
                    {
                        subItemName += "_FK_" + PLMConstantString.PLM_DW_UserDefineTablePrefix + entityCode + "_" + entityID;
                    }
                    else
                    {
                        subItemName += "_FK_" + systemTable;
                    }
                }

                // need to

                int controlType = int.Parse(aRow["ControlType"].ToString());



                BlockSubitemClrUserDefineDto aDto = new BlockSubitemClrUserDefineDto();
                aDto.SubItemID   = subItemID;
                aDto.SubItemName = subItemName;
                aDto.EntityID    = entityID;
                aDto.ControlType = controlType;

                //!!!!!!!!!!!!!!!!!!!!!!!


                aDictSubitemID_Name.Add(aDto);
            }

            return(aDictSubitemID_Name);
        }
Exemplo n.º 4
0
        public static List <GridColumnClrUserDefineDto> GetGridColumnIDAndName(int gridID)
        {
            List <GridColumnClrUserDefineDto> aGridColumns = new List <GridColumnClrUserDefineDto>();

            using (SqlConnection conn = new SqlConnection(PLMConstantString.PLM_APP_ConnectionString))
            {
                conn.Open();

                // call  udf function RetriveProductTabCopyRootTabID
                string qeuryGridColumn = string.Format(@"SELECT     PdmGridMetaColumn.GridColumnID, PdmGridMetaColumn.ColumnName, PdmGridMetaColumn.ColumnTypeID , pdmEntity.EntityCode, pdmEntity.EntityID, pdmEntity.SysTableName
                                                        FROM      PdmGridMetaColumn LEFT OUTER JOIN     pdmEntity ON PdmGridMetaColumn.EntityID = pdmEntity.EntityID WHERE GridID={0} ", gridID);

                SqlCommand cmd = new SqlCommand(qeuryGridColumn, conn);

                SqlDataAdapter        adapter     = new SqlDataAdapter(cmd);
                System.Data.DataTable resultTabel = new DataTable();
                adapter.Fill(resultTabel);

                foreach (DataRow aRow in resultTabel.Rows)
                {
                    int aColumnID = (int)aRow["GridColumnID"];

                    string colName = DataTableUtility.FilterSQLDBInvalidChar(aRow["ColumnName"].ToString() + "_" + aColumnID);

                    int?   entityID    = aRow["EntityID"] as int?;
                    string entityCode  = DataTableUtility.FilterSQLDBInvalidChar(aRow["EntityCode"].ToString());
                    string systemTable = aRow["SysTableName"].ToString();
                    if (entityID.HasValue)
                    {
                        PdmEntityBlClrDto aEntityBlClrDto = PdmCacheManager.DictPdmEntityBlEntity[entityID.Value];
                        if (aEntityBlClrDto.EntityType == (int)EmEntityType.UserDefineTable)
                        {
                            colName += "_FK_" + PLMConstantString.PLM_DW_UserDefineTablePrefix + entityCode + "_" + entityID;
                        }
                        else
                        {
                            colName += "_FK_" + systemTable;
                        }
                    }

                    int controlType = int.Parse(aRow["ColumnTypeID"].ToString());

                    GridColumnClrUserDefineDto aDto = new GridColumnClrUserDefineDto();
                    aDto.GridColumnID = aColumnID;
                    aDto.ColumnName   = colName;
                    aDto.EntityID     = entityID;
                    aDto.ColumnTypeId = controlType;

                    aGridColumns.Add(aDto);
                }
            }

            return(aGridColumns);
        }
Exemplo n.º 5
0
        private static void UpdateSystemDefineCache(PdmEntityBlClrDto entity)
        {
            int entityId = entity.EntityId;

            CLROutput.OutputDebug("UpdateSystemDefineCache start...  ConnectInfo:" + entity.ConnectInfo);

            // CLROutput.OutputDebug("UpdateSystemDefineCache start...");

            if (!string.IsNullOrEmpty(entity.ConnectInfo))
            {
                //try
                //{
                using (SqlConnection conn = new SqlConnection(entity.ConnectInfo))
                {
                    conn.Open();

                    string lastChange = PdmCacheEntityLookupItem.GetLastChangeCheckSum(conn, entity.SysTableName);

                    //  CLROutput.InsertException(conn, "entity.LastScanCheckSum: " + entity.LastScanCheckSum + "lastChange :" + lastChange);

                    CLROutput.OutputDebug("entity.LastScanCheckSum: " + entity.LastScanCheckSum + "lastChange :" + lastChange);

                    if (lastChange != entity.LastScanCheckSum)
                    {
                        if (DictEntityLookupCache.ContainsKey(entityId))
                        {
                            CLROutput.OutputDebug(" lastChange sysdefine before DictEntityLookupCache " + "__" + entity.EntityCode + "__" + entity.LastScanCheckSum, conn);
                            List <LookupItemDto>        newLookupitem = PdmCacheEntityLookupItem.GetOneSystemDefinTableLookupItems(conn, PLMSEntityClrBL.GetSysDefineQueryIDAndDisplay(entity));
                            Dictionary <object, string> result        = PdmCacheEntityLookupItem.ConvertLookItemToDictionaryItem(newLookupitem);

                            DictEntityLookupCache.Remove(entityId);
                            DictEntityLookupCache.Add(entityId, result);

                            entity.LastScanCheckSum = lastChange;
                            // CLROutput.InsertException(conn, " lastChange sysdefine  after" + "__" + entity.EntityCode + "__" + entity.LastScanCheckSum);
                        }
                    }
                }

                //}
                //catch (Exception ex)
                //{

                //    //using (SqlConnection conn = new SqlConnection(PLMConstantString.PLM_APP_ConnectionString))
                //    //{
                //    //    conn.Open();
                //    //    CLROutput.InsertException(conn, " exception " + entity.EntityId  + "__" + entity.EntityCode   + ex.ToString());

                //    //}

                //}
            }
        }
Exemplo n.º 6
0
        private static string GetDisplayColumnNew(string splitToken, PdmEntityBlClrDto aPdmEntityDto)
        {
            string aDisplay = string.Empty;
            string orderby  = string.Empty;

            var SystemDefineDisplayColumnNames = aPdmEntityDto.PdmUserDefineEntityColumnList.Where(o => !string.IsNullOrEmpty(o.SystemTableColumnName)).ToList();

            foreach (var aPdmUserDefineEntityColumnEntity in SystemDefineDisplayColumnNames)
            {
                if (aPdmUserDefineEntityColumnEntity.IsPrimaryKey != true)
                {
                    aDisplay = aDisplay + " IsNull(  cast ( " + aPdmUserDefineEntityColumnEntity.SystemTableColumnName + " as nvarchar(MAX)  ) , '' )" + splitToken;
                }
                // aDisplay = aDisplay + " IsNull(  cast ( " + aPdmUserDefineEntityColumnEntity.SystemTableColumnName + " as varchar ) , '' )" + splitToken;
            }

            if (aDisplay != string.Empty)
            {
                aDisplay = aDisplay.Substring(0, aDisplay.Length - splitToken.Length);
            }
            return(aDisplay);
        }
Exemplo n.º 7
0
        private static void SetupGridAndGridColumn(SqlConnection conn)
        {
            List <PdmGridClrDto>           gridList   = PdmGridDal.GetAllList(conn);
            List <PdmGridMetaColumnClrDto> columnList = PdmGridMetaColumnDal.GetAllList(conn);

            foreach (PdmGridClrDto aPdmGridClrDto in gridList)
            {
                DictGridCache.Add(aPdmGridClrDto.GridId, aPdmGridClrDto);
                aPdmGridClrDto.PdmGridMetaColumnList = columnList.Where(o => o.GridId == aPdmGridClrDto.GridId).ToList();
            }

            foreach (PdmGridMetaColumnClrDto aPdmGridMetaColumnClrDto in columnList)
            {
                DictAllPdmGridMetaColumnCache.Add(aPdmGridMetaColumnClrDto.GridColumnId, aPdmGridMetaColumnClrDto);
                if (aPdmGridMetaColumnClrDto.EntityId.HasValue)
                {
                    PdmEntityBlClrDto aEntityBlClrDto = DictPdmEntityBlCache[aPdmGridMetaColumnClrDto.EntityId.Value];
                    aPdmGridMetaColumnClrDto.EntityCode     = aEntityBlClrDto.EntityCode;;
                    aPdmGridMetaColumnClrDto.EntityBlClrDto = aEntityBlClrDto;
                }
            }
        }
Exemplo n.º 8
0
        internal static void SetDepdentMasterEntityColumn(PdmGridClrDto aPdmGridEntity, DataTable toReturnDcuTable)
        {
            //var dictSysDefineMasterEntityColumnIdEntityIds = aPdmGridEntity.MasterEntityColumn.Where(col => col.EntityId.HasValue && col.EntityId.Value < 3000).ToDictionary(col => col.GridColumnId, col => col.EntityId.Value);

            Dictionary <int, int> dictUserDefineMasterEntityColumnIdEntityIds = new Dictionary <int, int>();

            foreach (var column in aPdmGridEntity.MasterEntityColumn)
            {
                if (column.EntityId.HasValue)
                {
                    int entityId       = column.EntityId.Value;
                    int masterColumnId = column.GridColumnId;

                    PdmEntityBlClrDto aPdmEntityBlClrDto = PdmCacheManager.DictPdmEntityBlEntity[entityId];
                    if (aPdmEntityBlClrDto.EntityType == (int)EmEntityType.SystemDefineTable)
                    {
                        // int entityId = columnIdEntity.Value;

                        List <string> columnNames = new List <string>();
                        if (aPdmGridEntity.MasterEntityDepdentColumn.ContainsKey(masterColumnId))
                        {
                            columnNames = aPdmGridEntity.MasterEntityDepdentColumn[masterColumnId].Where(o => !string.IsNullOrEmpty(o.InternalCode)).Select(o => o.InternalCode).ToList();
                            DataTable aDtResult = PLMSEntityClrBL.GetMutipleSysDefineEntityRowValue(entityId, columnNames);
                            ProcessSystemDefineEntityColumn(aPdmGridEntity, toReturnDcuTable, aDtResult, masterColumnId);
                        }
                    }
                    else if (aPdmEntityBlClrDto.EntityType == (int)EmEntityType.UserDefineTable)
                    {
                        dictUserDefineMasterEntityColumnIdEntityIds.Add(masterColumnId, entityId);
                    }
                }
            }

            List <int> userDefineColumnIds = new List <int>();

            foreach (var columnIdEntity in dictUserDefineMasterEntityColumnIdEntityIds)
            {
                int masterColumnId = columnIdEntity.Key;
                int entityId       = columnIdEntity.Value;

                var pdmUserDefineEntity = PdmCacheManager.DictPdmEntityBlEntity[entityId];

                if (aPdmGridEntity.MasterEntityDepdentColumn.ContainsKey(masterColumnId))
                {
                    // if (aDtcolumn.UserDefineEntityColumnId.ToString() == dependentEntityColumn.InternalCode)
                    var columnids = aPdmGridEntity.MasterEntityDepdentColumn[masterColumnId]
                                    .Where(o => !string.IsNullOrEmpty(o.InternalCode))
                                    .Select(o => int.Parse(o.InternalCode.Trim()));

                    userDefineColumnIds.AddRange(columnids);
                }
            }
            if (userDefineColumnIds.Count > 0)
            {
                // Key: EntityId, vlaue
                Dictionary <int, List <SimpleUserDefineEntityRow> > result = PLMSEntityClrBL.GetDictEntityUserDefineRows(dictUserDefineMasterEntityColumnIdEntityIds.Values.ToList(), userDefineColumnIds);

                foreach (var columnIdEntity in dictUserDefineMasterEntityColumnIdEntityIds)
                {
                    int masterColumnId = columnIdEntity.Key;
                    int entityId       = columnIdEntity.Value;
                    if (result.ContainsKey(entityId))
                    {
                        List <SimpleUserDefineEntityRow> listRow = result[entityId];

                        CLROutput.OutputDebug("masterColumnId =" + masterColumnId);

                        ProcessUserDefineEntityColumn(aPdmGridEntity, toReturnDcuTable, listRow, masterColumnId);
                    }
                }
            }
        }