コード例 #1
0
ファイル: HomeModels.cs プロジェクト: hthang369/WebApp_NDCHR
        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>());
        }
コード例 #2
0
ファイル: HomeModels.cs プロジェクト: hthang369/WebApp_NDCHR
        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 }
            });
        }
コード例 #3
0
        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();
        }
コード例 #4
0
ファイル: HomeModels.cs プロジェクト: hthang369/WebApp_NDCHR
        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);
        }