示例#1
0
        public static bool CheckApp(out string msg, string appid = "")
        {
            msg = "";
            Guid userID = RoadFlow.Platform.Users.CurrentUserID;

            if (userID.IsEmptyGuid())
            {
                msg = "<script>top.login();</script>";
                return(false);
            }
            appid = appid.IsNullOrEmpty() ? HttpContext.Current.Request[nameof(appid)] : appid;
            Guid appGuid;

            if (!appid.IsGuid(out appGuid))
            {
                return(false);
            }
            List <RoadFlow.Data.Model.MenuUser> all1 = new RoadFlow.Platform.MenuUser().GetAll(true);
            string source;
            string params1;
            bool   flag = new RoadFlow.Platform.Menu().HasUse(appGuid, userID, all1, out source, out params1, false);

            if (!flag)
            {
                return(false);
            }
            string url = HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"].ToString();

            if (!url.IsNullOrEmpty())
            {
                url = url.TrimStart('/');
                if (!url.IsNullOrEmpty())
                {
                    List <RoadFlow.Data.Model.AppLibrarySubPages> all2 = new RoadFlow.Platform.AppLibrarySubPages().GetAll(true).FindAll((Predicate <RoadFlow.Data.Model.AppLibrarySubPages>)(p => p.Address.Contains(url, StringComparison.CurrentCultureIgnoreCase)));
                    if (all2.Count > 0)
                    {
                        foreach (RoadFlow.Data.Model.AppLibrarySubPages appLibrarySubPages in all2)
                        {
                            RoadFlow.Data.Model.AppLibrarySubPages sub = appLibrarySubPages;
                            if (all1.Find((Predicate <RoadFlow.Data.Model.MenuUser>)(p =>
                            {
                                if (p.MenuID == appGuid && p.SubPageID == sub.ID)
                                {
                                    return(p.Users.Contains(userID.ToString(), StringComparison.CurrentCultureIgnoreCase));
                                }
                                return(false);
                            })) != null)
                            {
                                return(true);
                            }
                        }
                        return(false);
                    }
                }
            }
            return(flag);
        }
示例#2
0
 public ActionResult Body(FormCollection collection)
 {
     RoadFlow.Platform.AppLibrary appLibrary1 = new RoadFlow.Platform.AppLibrary();
     RoadFlow.Platform.Menu       menu        = new RoadFlow.Platform.Menu();
     RoadFlow.Data.Model.Menu     model       = (RoadFlow.Data.Model.Menu)null;
     string   str1   = this.Request.QueryString["id"];
     string   empty1 = string.Empty;
     string   empty2 = string.Empty;
     string   empty3 = string.Empty;
     string   empty4 = string.Empty;
     string   empty5 = string.Empty;
     string   empty6 = string.Empty;
     Guid     id1;
     ref Guid local = ref id1;
示例#3
0
        public string TreeRefresh()
        {
            string str1 = this.Request["refreshid"];

            if (!str1.IsGuid())
            {
                return("[]");
            }
            RoadFlow.Platform.Menu menu = new RoadFlow.Platform.Menu();
            DataRow[]     dataRowArray  = menu.GetAllDataTable(true).Select("ParentID='" + str1 + "'");
            StringBuilder stringBuilder = new StringBuilder("[", dataRowArray.Length * 50);
            int           length        = dataRowArray.Length;
            int           num           = 0;

            foreach (DataRow dataRow in dataRowArray)
            {
                string str2 = dataRow["AppIco"].ToString();
                if (str2.IsNullOrEmpty())
                {
                    str2 = dataRow["Ico"].ToString();
                }
                stringBuilder.Append("{");
                stringBuilder.AppendFormat("\"id\":\"{0}\",", dataRow["ID"]);
                stringBuilder.AppendFormat("\"title\":\"{0}\",", dataRow["Title"]);
                stringBuilder.AppendFormat("\"ico\":\"{0}\",", (object)str2);
                stringBuilder.AppendFormat("\"link\":\"{0}\",", (object)"");
                stringBuilder.AppendFormat("\"type\":\"{0}\",", (object)"0");
                stringBuilder.AppendFormat("\"model\":\"{0}\",", (object)"");
                stringBuilder.AppendFormat("\"width\":\"{0}\",", (object)"");
                stringBuilder.AppendFormat("\"height\":\"{0}\",", (object)"");
                stringBuilder.AppendFormat("\"hasChilds\":\"{0}\",", menu.HasChild(dataRow["ID"].ToString().ToGuid()) ? (object)"1" : (object)"0");
                stringBuilder.AppendFormat("\"childs\":[");
                stringBuilder.Append("]");
                stringBuilder.Append("}");
                if (num++ < length - 1)
                {
                    stringBuilder.Append(",");
                }
            }
            stringBuilder.Append("]");
            return(stringBuilder.ToString());
        }
示例#4
0
        public string Tree1()
        {
            DataTable allDataTable = new RoadFlow.Platform.Menu().GetAllDataTable(true);

            if (allDataTable.Rows.Count == 0)
            {
                return("[]");
            }
            DataRow[] dataRowArray1 = allDataTable.Select("ParentID='" + Guid.Empty.ToString() + "'");
            if (dataRowArray1.Length == 0)
            {
                return("[]");
            }
            DataRow[]     dataRowArray2 = allDataTable.Select("ParentID='" + dataRowArray1[0]["ID"].ToString() + "'");
            StringBuilder stringBuilder = new StringBuilder("[", 1000);
            DataRow       dataRow1      = dataRowArray1[0];
            string        str1          = dataRow1["AppIco"].ToString();

            if (str1.IsNullOrEmpty())
            {
                str1 = dataRow1["Ico"].ToString();
            }
            stringBuilder.Append("{");
            stringBuilder.AppendFormat("\"id\":\"{0}\",", dataRow1["ID"]);
            stringBuilder.AppendFormat("\"title\":\"{0}\",", dataRow1["Title"]);
            stringBuilder.AppendFormat("\"ico\":\"{0}\",", (object)str1);
            stringBuilder.AppendFormat("\"link\":\"{0}\",", dataRow1["Address"]);
            stringBuilder.AppendFormat("\"type\":\"{0}\",", (object)"0");
            stringBuilder.AppendFormat("\"model\":\"{0}\",", dataRow1["OpenMode"]);
            stringBuilder.AppendFormat("\"width\":\"{0}\",", dataRow1["Width"]);
            stringBuilder.AppendFormat("\"height\":\"{0}\",", dataRow1["Height"]);
            stringBuilder.AppendFormat("\"hasChilds\":\"{0}\",", dataRowArray2.Length != 0 ? (object)"1" : (object)"0");
            stringBuilder.AppendFormat("\"childs\":[");
            for (int index = 0; index < dataRowArray2.Length; ++index)
            {
                DataRow dataRow2 = dataRowArray2[index];
                string  str2     = dataRow2["AppIco"].ToString();
                if (str2.IsNullOrEmpty())
                {
                    str2 = dataRow2["Ico"].ToString();
                }
                DataRow[] dataRowArray3 = allDataTable.Select("ParentID='" + dataRow2["ID"].ToString() + "'");
                stringBuilder.Append("{");
                stringBuilder.AppendFormat("\"id\":\"{0}\",", dataRow2["ID"]);
                stringBuilder.AppendFormat("\"title\":\"{0}\",", dataRow2["Title"]);
                stringBuilder.AppendFormat("\"ico\":\"{0}\",", (object)str2);
                stringBuilder.AppendFormat("\"link\":\"{0}\",", dataRow2["Address"]);
                stringBuilder.AppendFormat("\"type\":\"{0}\",", (object)"0");
                stringBuilder.AppendFormat("\"model\":\"{0}\",", dataRow2["OpenMode"]);
                stringBuilder.AppendFormat("\"width\":\"{0}\",", dataRow2["Width"]);
                stringBuilder.AppendFormat("\"height\":\"{0}\",", dataRow2["Height"]);
                stringBuilder.AppendFormat("\"hasChilds\":\"{0}\",", dataRowArray3.Length != 0 ? (object)"1" : (object)"0");
                stringBuilder.AppendFormat("\"childs\":[");
                stringBuilder.Append("]");
                stringBuilder.Append("}");
                if (index < dataRowArray2.Length - 1)
                {
                    stringBuilder.Append(",");
                }
            }
            stringBuilder.Append("]");
            stringBuilder.Append("}");
            stringBuilder.Append("]");
            return(stringBuilder.ToString());
        }