public List <BusinessObject> GetFieldInfoByModuleName(string strModuleName) { DataSet ds = new STScreensController().GetScreenByModuleNameAndUserGroupName(strModuleName, AuthConfig.CurrenUserGroupInfo.ADUserGroupName); if (ds != null && ds.Tables.Count > 0) { DataRow[] drs = ds.Tables[0].Select("STScreenText like '%Message%' AND STScreenNumber like 'DS%'"); if (drs.Length > 0) { int iScreenID = Convert.ToInt32(drs.FirstOrDefault()["STScreenID"]); ds = new STFieldsController().GetActiveFieldsByScreenIDAndUserGroupID(iScreenID, AuthConfig.CurrenUserGroupInfo.ADUserGroupID); if (ds != null && ds.Tables.Count > 0) { DataRow[] rows = ds.Tables[0].Select("STFieldType = 'GMCGridControl'"); if (rows.Length > 0) { STGridColumnsController GridColumnCtrl = new STGridColumnsController(); int iFieldID = Convert.ToInt32(rows.FirstOrDefault()["STFieldID"]); ds = GridColumnCtrl.GetAllDataByGridColumnAndUserIDOrderByTabIndex(iFieldID, AuthConfig.CurrenUserInfo.ADUserID); return(GridColumnCtrl.GetListFromDataset(ds)); } } } } return(new List <BusinessObject>()); }
public Dictionary <List <STGridColumnsInfo>, DataSet> GetScreenEmployeeOffWork(string sModuleName, int iObjectID) { DataSet dsScreen = GetScreenByModuleNameAndUserGroupName(sModuleName, "ADMIN"); if (dsScreen == null || dsScreen.Tables.Count == 0 && dsScreen.Tables[0].Rows.Count == 0) { return(null); } STScreensInfo objScreen = new STScreensController().GetObjectFromDataRow(dsScreen.Tables[0].Rows[0]) as STScreensInfo; List <DataRow> dr = GetLocalDataSet("*", "STFields", string.Format(@"STScreenID = {0} AND STFieldType = 'GMCGridControl' AND STFieldGroup <> 'HiddenWeb'", objScreen.STScreenID)); if (dr.Count == 0) { return(null); } STFieldsInfo objField = (STFieldsInfo) new STFieldsController().GetObjectFromDataRow(dr[0]); if (objField == null) { return(null); } BaseBusinessController itemCtrl = BusinessControllerFactory.GetBusinessController(objField.STFieldDataSource + "Controller"); DataSet ds = new DataSet(); if (itemCtrl != null) { ds = itemCtrl.GetDataSetByID(iObjectID); } List <STGridColumnsInfo> lstGridColumns = new List <STGridColumnsInfo>(); dr = GetLocalDataSet("*", "STGridColumns", string.Format("FK_STFieldID = {0}", objField.STFieldID)); STGridColumnsController GridColCtrl = new STGridColumnsController(); dr.Distinct().ToList().ForEach(x => { STGridColumnsInfo colInfo = (STGridColumnsInfo)GridColCtrl.GetObjectFromDataRow(x); lstGridColumns.Add(colInfo); }); return(new Dictionary <List <STGridColumnsInfo>, DataSet>() { { lstGridColumns, ds } }); }
public virtual void InitializeScreens() { STScreensController objScreensController = new STScreensController(); DataSet dsScreens = objScreensController.GetAllDataByForeignColumn("FK_STModuleID", CurrentModuleID); if (dsScreens.Tables.Count > 0) { foreach (DataRow row in dsScreens.Tables[0].Rows) { STScreensInfo objSTScreensInfo = (STScreensInfo)objScreensController.GetObjectFromDataRow(row); if (!objSTScreensInfo.STScreenIsVisible) { return; } if (objSTScreensInfo.STScreenCode.StartsWith("DM") || objSTScreensInfo.STScreenCode.StartsWith("SM")) { InitializeNewScreen(objSTScreensInfo); } } } dsScreens.Dispose(); }
public IEnumerable GetScreenByModuleID(int iModuleID) { STModulesInfo objModule = (STModulesInfo) new STModulesController().GetObjectByID(iModuleID); List <STScreensInfo> lstScreens = new List <STScreensInfo>(); STScreensController ScreenCtrl = new STScreensController(); STFieldsController STFieldsCtrl = new STFieldsController(); STGridColumnsController STGridColumnCtrl = new STGridColumnsController(); STFieldColumnsController STFieldColumnCtrl = new STFieldColumnsController(); DataSet ds = GetScreenByModuleNameAndUserGroupName(objModule.STModuleName, AuthConfig.CurrenUserGroupInfo.ADUserGroupName); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count == 0) { ds = GetScreenByModuleNameAndUserGroupName(objModule.STModuleName, "ADMIN"); } Dictionary <STScreensInfo, Dictionary <STFieldsInfo, List <BusinessObject> > > dicControls = new Dictionary <STScreensInfo, Dictionary <STFieldsInfo, List <BusinessObject> > >(); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { STScreensInfo objScreen = (STScreensInfo)ScreenCtrl.GetObjectFromDataRow(dr); lstScreens.Add(objScreen); } lstScreens.Sort((st1, st2) => st1.STScreenSortOrder.CompareTo(st2.STScreenSortOrder)); foreach (STScreensInfo item in lstScreens) { if (item.STScreenSortOrder >= 0) { ds = STFieldsCtrl.GetActiveFieldsByScreenIDAndUserGroupID(item.STScreenID, AuthConfig.CurrenUserGroupInfo.ADUserGroupID); Dictionary <STFieldsInfo, List <BusinessObject> > dicFields = new Dictionary <STFieldsInfo, List <BusinessObject> >(); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { STFieldsInfo objField = (STFieldsInfo)STFieldsCtrl.GetObjectFromDataRow(dr); if (objField.STFieldType.EndsWith("GridControl")) { DataSet dsInfo = STGridColumnCtrl.GetAllDataByGridColumnAndUserIDOrderByTabIndex(objField.STFieldID, AuthConfig.CurrenUserInfo.ADUserID); if (!dicFields.ContainsKey(objField)) { dicFields.Add(objField, STGridColumnCtrl.GetListFromDataset(dsInfo)); } } else if (objField.STFieldType.EndsWith("LookupEdit")) { DataSet dsInfo = STFieldColumnCtrl.GetAllDataByForeignColumn("STFieldID", objField.STFieldID); if (!dicFields.ContainsKey(objField)) { dicFields.Add(objField, STFieldColumnCtrl.GetListFromDataset(dsInfo)); } } else if (!dicFields.ContainsKey(objField)) { dicFields.Add(objField, new List <BusinessObject>()); } } } if (!dicControls.ContainsKey(item)) { dicControls.Add(item, dicFields); } } } return(dicControls); } return(null); }