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