コード例 #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 XMLTreeFieldNode CalculateTreeFields(List <STFieldsInfo> lstSTFields)
        {
            XMLTreeFieldNode   node                 = new XMLTreeFieldNode(null);
            STFieldsController FieldCtrl            = new STFieldsController();
            SortedList <int, XMLTreeFieldNode> list = new SortedList <int, XMLTreeFieldNode>();

            foreach (STFieldsInfo field in lstSTFields)
            {
                XMLTreeFieldNode node2 = new XMLTreeFieldNode(field);
                list.Add(field.STFieldID, node2);
            }
            foreach (XMLTreeFieldNode node3 in list.Values)
            {
                if (node3.fieldValue.STFieldParentID != 0)
                {
                    if (list.ContainsKey(node3.fieldValue.STFieldParentID))
                    {
                        node3.parentNode = list[node3.fieldValue.STFieldParentID];
                        if (node3.parentNode.ChildrenNodes.ContainsKey(node3.fieldValue.STFieldZOrder))
                        {
                            int key = node3.parentNode.ChildrenNodes.Keys[node3.parentNode.ChildrenNodes.Keys.Count - 1] + 1;
                            node3.parentNode.ChildrenNodes.Add(key, node3);
                        }
                        else
                        {
                            node3.parentNode.ChildrenNodes.Add(node3.fieldValue.STFieldZOrder, node3);
                        }
                        node3.level = node3.parentNode.level + 1;
                        foreach (XMLTreeFieldNode local1 in node3.ChildrenNodes.Values)
                        {
                            local1.level++;
                        }
                    }
                }
                else if (node.ChildrenNodes.ContainsKey(node3.fieldValue.STFieldZOrder))
                {
                    int num2 = node.ChildrenNodes.Keys[node.ChildrenNodes.Keys.Count - 1] + 1;
                    node.ChildrenNodes.Add(num2, node3);
                }
                else
                {
                    node.ChildrenNodes.Add(node3.fieldValue.STFieldZOrder, node3);
                }
            }
            return(node);
        }
コード例 #3
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);
        }