예제 #1
0
    /// <summary>
    /// 根据用户ID,返回对应的权限列表
    /// </summary>
    /// <param name="UserID">用户ID</param>
    /// <returns>权限列表</returns>
    public DataView getPermissionByUser(string UserID)
    {
        //获取权限列表
        HybridDictionary hd = new HybridDictionary();

        hd.Add(PK, UserID);
        _dtData = _entity.ExecuteDataTable2(CommandType.Text, "SelectById", hd);
        DataView dv = new DataView(_dtData);

//        1、通过ASP.NET获取
// 如果测试的url地址是http://www.idc311.com/testweb/default.aspx, 结果如下:
//Request.ApplicationPath:                /testweb
// Request.CurrentExecutionFilePath:       /testweb/default.aspx
// Request.FilePath:                       /testweb/default.aspx
// Request.Path:                           /testweb/default.aspx
// Request.PhysicalApplicationPath:        E:\WWW\testwebRequest.PhysicalPath:                   E:\WWW\testweb\default.aspx
// Request.RawUrl:                         /testweb/default.aspx
// Request.Url.AbsolutePath:               /testweb/default.aspx
// Request.Url.AbsoluteUrl:                http://www.idc311.com/testweb/default.aspx
// Request.Url.Host:                       http://www.idc311.com/
// Request.Url.LocalPath:                  /testweb/default.aspx

        //for (int i = 0; i < dv.Count; i++)
        //{
        //    //
        //    //string sT = dv[i]["PMS_CTG_NAME"].ToString().Trim();//权限类型名称
        //    //string sPName = dv[i]["PMS_NAME"].ToString().Trim();//权限名称
        //    string sUrl = dv[i]["URL"].ToString().Trim();//地址
        //}
        return(dv);
    }
예제 #2
0
        public DataTable GetAcitivePermissions()
        {
            try
            {
                string strCommand = "GetAllActive";

                ISingleTable pl = UserManager.GetEntityTbl(strEntityName);
                return(pl.ExecuteDataTable2(CommandType.Text, strCommand));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #3
0
        public DataTable GetByCategory(string strCategory)
        {
            try
            {
                string strCommand = "GetByCategory";

                HybridDictionary hTable = new HybridDictionary();
                hTable.Add("PMS_CTG_NAME", strCategory);

                ISingleTable pl = UserManager.GetEntityTbl(strEntityName);
                return(pl.ExecuteDataTable2(CommandType.Text, strCommand, hTable));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #4
0
        public StringCollection GetInputStatistics(string inputRegionId, string sourceId, int dataWayId)
        {
            //取出该录入区域和来源的所有统计项
            HybridDictionary myHd4 = new HybridDictionary();

            myHd4.Add("INPUT_REGION_ID", inputRegionId);
            myHd4.Add("SOURCE_ID", sourceId);
            myHd4.Add("DATA_WAY_ID", dataWayId);
            DataTable        tableInputStaitem = statisticItemTable.ExecuteDataTable2(CommandType.Text, "SelectUseStaitemByReginputSource", myHd4);
            StringCollection colInputSaitem    = new StringCollection();

            foreach (DataRow dr in tableInputStaitem.Rows)
            {
                colInputSaitem.Add(dr["STATISTIC_ITEM_ID"].ToString());
            }

            //取出该来源的所有统计
            HybridDictionary myHd = new HybridDictionary();

            myHd.Add("SOURCE_ID", sourceId);
            DataTable tableStatistic = statisticTable.ExecuteDataTable2(CommandType.Text, "SelectIdNameBySourceId", myHd);
            DataView  dvStatistic    = new DataView(tableStatistic, "use_identifier <> 0", null, DataViewRowState.CurrentRows);

            SortedList listStatistic = new SortedList();

            //获取每个统计对应的统计项
            foreach (DataRowView drv in dvStatistic)
            {
                HybridDictionary hdStaitem = new HybridDictionary();

                listStatistic.Add(drv["STATISTIC_ID"], null);

                HybridDictionary myHd2 = new HybridDictionary();
                myHd2.Add("STATISTIC_ID", drv["STATISTIC_ID"]);
                DataTable tableTopStaitem = statisticStaitemCombTable.ExecuteDataTable2(CommandType.Text, "SelectbyID", myHd2);
                DataView  dvTopStaitem    = new DataView(tableTopStaitem, "use_identifier <> 0", null, DataViewRowState.CurrentRows);

                foreach (DataRowView drvTop in dvTopStaitem)
                {
                    hdStaitem.Add(drvTop["STATISTIC_ITEM_ID"], drvTop["STATISTIC_ITEM_ID"]);

                    HybridDictionary myHd3 = new HybridDictionary();
                    myHd3.Add("PARENT_STAITEM_ID", drvTop["STATISTIC_ITEM_ID"]);
                    DataTable tableStaitem = staitemCombUseView.ExecuteDataTable(CommandType.Text, "SelectByTopId", myHd3);
                    DataView  dvStaitem    = new DataView(tableStaitem, null, null, DataViewRowState.CurrentRows);

                    foreach (DataRowView drvStaitem in dvStaitem)
                    {
                        if (!(hdStaitem.Contains(drvStaitem["CHILD_STAITEM_ID"])))
                        {
                            hdStaitem.Add(drvStaitem["CHILD_STAITEM_ID"], drvStaitem["CHILD_STAITEM_ID"]);
                        }
                    }
                }
                listStatistic[drv["STATISTIC_ID"]] = hdStaitem;
            }

            //检查需要录入的统计项是否在各统计中是否存在
            StringCollection colInputStatistic = new StringCollection();

            for (int i = 0; i < listStatistic.Count; i++)
            {
                bool   isExist = false;
                string key     = listStatistic.GetKey(i).ToString();

                foreach (string staitemId in colInputSaitem)
                {
                    if (((HybridDictionary)(listStatistic.GetByIndex(i))).Contains(staitemId))
                    {
                        isExist = true;
                        break;
                    }
                }
                if (isExist)
                {
                    colInputStatistic.Add(key);
                }
            }
            return(colInputStatistic);
        }