コード例 #1
0
        /// <summary>
        /// 获取不区分项目来源的html
        /// </summary>
        /// <param name="shownoproject">是否展示不区分来源</param>
        /// <param name="outdichtml">对应json字典输出</param>
        /// <returns></returns>
        protected string GetProjectSourceHtml(bool shownoproject, ref string outdichtml, ProjectSourceTypeOptions type = ProjectSourceTypeOptions.Domestic)
        {
            StringBuilder sb                  = new StringBuilder();
            StringBuilder sb2                 = new StringBuilder();
            var           projectSources      = AvailableProjectSources.Where(a => a.ProjectSourceType == type || a.ProjectSourceType == ProjectSourceTypeOptions.None).ToList();
            List <int>    lst                 = UtilityHelp.GetDefaultProjectSources(this.Context, projectSources);
            var           projectid           = lst.Count <= 0 ? -1 : lst[0];
            bool          isContainedInCookie = projectSources.Select(p => p.ProjectSourceID).Contains(projectid);

            for (int i = 0; i < projectSources.Count(); i++)
            {
                if (!shownoproject && projectSources[i].ProjectSourceID == 0)
                {
                    continue;
                }
                if (isContainedInCookie)
                {
                    sb.AppendFormat("<option value='{0}' {2}>{1}</option>", projectSources[i].ProjectSourceID, projectSources[i].Name, projectid == projectSources[i].ProjectSourceID ? "selected=\"selected\"" : "");
                }
                else
                {
                    sb.AppendFormat("<option value='{0}' {2}>{1}</option>", projectSources[i].ProjectSourceID, projectSources[i].Name, i == 0 ? "selected=\"selected\"" : "");
                }

                sb2.AppendFormat("\"{0}\":\"{1}\",", projectSources[i].ProjectSourceID, projectSources[i].Name);
            }
            outdichtml = "{" + sb2.ToString().TrimEnd(',') + "}";
            return(sb.ToString());
        }
コード例 #2
0
 /// <summary>
 /// 检查权限(检查项目来源权限)
 /// </summary>
 /// <param name="softid"></param>
 /// <param name="url"></param>
 protected bool CheckHasRightForProject(int project, string url)
 {
     if (!AvailableProjectSources.Exists(a => a.ProjectSourceID == project) || !loginService.CheckUrlRight(url))
     {
         return(false);
     }
     return(true);
 }
コード例 #3
0
        /// <summary>
        /// 检查是否有项目权限
        /// </summary>
        /// <param name="projectsource"></param>
        /// <param name="projSrcType"></param>
        /// <returns></returns>
        protected bool CheckProject(string projectsource)
        {
            if (string.IsNullOrEmpty(projectsource))
            {
                return(false);
            }
            var projects = projectsource.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(p => Convert.ToInt32(p)).ToList();
            var result   = from a in AvailableProjectSources.Select(a => a.ProjectSourceID).Distinct()
                           join b in projects
                           on a equals b
                           select a;

            return(result.Count() == projects.Count());
        }