/// <summary>
 /// 查询或取得逻辑项目
 /// </summary>
 /// <param name="request"></param>
 /// <param name="user"></param>
 /// <param name="database"></param>
 /// <param name="project"></param>
 /// <returns></returns>
 public static LogicProject GetLogicProject(this HttpRequest request, User user, IDatabase database, Project project)
 {
     var logicProject = request.getLogicProject(database);
     logicProject.ProjectName = project.ProjectName;
     logicProject.ParentProject = null;
     logicProject.Leaf = false;
     return logicProject;
 }
Example #2
0
 /// <summary>
 /// 查询或取得逻辑设备
 /// </summary>
 /// <param name="request"></param>
 /// <param name="user"></param>
 /// <param name="database"></param>
 /// <param name="project"></param>
 /// <returns></returns>
 public static LogicDevice GetLogicDevice(this HttpRequest request, User user, IDatabase database,Project project)
 {
     var logicDevice = request.getLogicDevice(database);
     logicDevice.LogicDeviceName = project.ProjectName;
     logicDevice.ParentLogicDevice = null;
     logicDevice.Leaf = false;
     logicDevice.IconCls = "wy-projectLeafIcon";
     logicDevice.ModifyTime = DateTime.Now;
     if (logicDevice.IsNew)
     {
         logicDevice.CreateTime = DateTime.Now;
     }
     return logicDevice;
 }
        /// <summary>
        /// 存新的项目内容对应关系
        /// </summary>
        /// <param name="request"></param>
        /// <param name="project"></param>
        /// <param name="user"></param>
        /// <param name="database"></param>
        public static ProjectContentType GetCommunicationOperationProjectContentType(this HttpRequest request, Project project, User user, IDatabase database)
        {
            var projectContents = database.ProjectContentTypes.Where(pct => pct.Project == project);

            if (projectContents != null)
            {
                foreach (var item in projectContents)
                {
                    item.Delete(database);
                }
            }

            //var isCondition = false;
            //var isContent = true;
            //var isTeem = true;
            //var isCommunate = true;

            //if (isCondition)
            //{
            //    var contentType = database.ContentTypes.GetByID(1);
            //    var projectContentType = new ProjectContentType();
            //    projectContentType.Project = project;
            //    projectContentType.ContentType = contentType;
            //    projectContentType.Save(database);
            //}
            //if (isContent)
            //{
            //    var contentType = database.ContentTypes.GetByID(2);
            //    var projectContentType = new ProjectContentType();
            //    projectContentType.Project = project;
            //    projectContentType.ContentType = contentType;
            //    projectContentType.Save(database);
            //}
            //if (isTeem)
            //{
            //    var contentType = database.ContentTypes.GetByID(3);
            //    var projectContentType = new ProjectContentType();
            //    projectContentType.Project = project;
            //    projectContentType.ContentType = contentType;
            //    projectContentType.Save(database);
            //}

            var contentType = database.ContentTypes.GetByID(4);
            var projectContentType = new ProjectContentType();
            projectContentType.Project = project;
            projectContentType.ContentType = contentType;
            return projectContentType;
        }
        /// <summary>
        /// 根据成员的ID实现项目成员的增删
        /// </summary>
        /// <param name="request"></param>
        /// <param name="database"></param>
        /// <param name="project"></param>
        /// <param name="projectMemberIDs"></param>
        public static void SaveComOpeProjectMembers(this HttpRequest request, IDatabase database, Project project, string projectMemberIDs)
        {
            var memberID = projectMemberIDs.Split(',');
            var projectMembers = database.ProjectMembers.Where(d => d.ProjectID == project.ID);
            foreach (var item in projectMembers)
            {
                item.Delete(database);
            }

            foreach (var item in memberID)
            {
                if (item != string.Empty)
                {
                    var intItem = Convert.ToInt32(item);
                    var user = database.Users.SingleOrDefault(d => d.ID == intItem);
                    var expert = database.Experts.SingleOrDefault(d => d.UserID == user.ID);

                    var projectMember = new ProjectMember();
                    projectMember.Member = user;
                    projectMember.Project = project;
                    projectMember.College = expert.College;

                    projectMember.Save(database);
                }
            }

            /*if (projectMemberIDs.Split(',').Count() > 0)
            {
                //存项目成员
                for (var j = 0; j < projectMemberIDs.Split(',').Count() - 1; j++)
                {
                    var projectMember = new ProjectMember();
                    projectMember.Project = project;
                    var mId = projectMemberIDs.Split(',')[j];
                    int idm = Convert.ToInt32(mId);
                    var member = database.Users.GetByID(idm);//应该是Expert?
                    var ifProjectMember = database.ProjectMembers.SingleOrDefault(pm => pm.Project == project && pm.Member == member);
                    if (ifProjectMember == null)
                    {
                        projectMember.Member = member;
                        projectMember.Save(database);
                    }
                }
            }*/
        }
 /// <summary>
 /// 存项目内容对应关系
 /// </summary>
 /// <param name="request"></param>
 /// <param name="project"></param>
 /// <param name="user"></param>
 /// <param name="database"></param>
 public static void SaveProjectContentType(this HttpRequest request, Project project, User user, IDatabase database)
 {
     var projectContents = database.ProjectContentTypes.Where(pct => pct.Project==project);
     if(projectContents!=null)
         foreach (var item in projectContents)
         {
             item.Delete(database);
         }
     var isCondition = request.GetBoolean("IsConditionConstruct").Value;
     var isContent = request.GetBoolean("IsContentConstruct").Value;
     var isTeem = request.GetBoolean("IsTeemConstruct").Value;
     //var isCommunate = request.GetBoolean("IsCommunateConstruct").Value;
     if (isCondition)
     {
         var contentType = database.ContentTypes.GetByID(1);
         var projectContentType = new ProjectContentType();
         projectContentType.Project = project;
         projectContentType.ContentType = contentType;
         projectContentType.Save(database);
     }
     if (isContent)
     {
         var contentType = database.ContentTypes.GetByID(2);
         var projectContentType = new ProjectContentType();
         projectContentType.Project = project;
         projectContentType.ContentType = contentType;
         projectContentType.Save(database);
     }
     if (isTeem)
     {
         var contentType = database.ContentTypes.GetByID(3);
         var projectContentType = new ProjectContentType();
         projectContentType.Project = project;
         projectContentType.ContentType = contentType;
         projectContentType.Save(database);
     }
        /* if (isCommunate)
     {
         var contentType = database.ContentTypes.GetByID(4);
         var projectContentType = new ProjectContentType();
         projectContentType.Project = project;
         projectContentType.ContentType = contentType;
         projectContentType.Save(database);
     }*/
 }
        /// <summary>
        /// 存项目内容板块对应关系
        /// </summary>
        /// <param name="request"></param>
        /// <param name="project"></param>
        /// <param name="user"></param>
        /// <param name="database"></param>
        public static ProjectContentForum GetCommunicationOperationProjectContentForum(this HttpRequest request, Project project, User user, IDatabase database)
        {
            var projectContentType = database.ProjectContentTypes.SingleOrDefault(d => d.Project == project && d.ContentTypeID == 4);
            var projectContentForums = database.ProjectContentForums.Where(pct => pct.ProjectContentType == projectContentType);

            if (projectContentForums != null)
            {
                foreach (var item in projectContentForums)
                {
                    item.Delete(database);
                }
            }

            var contentForum = database.ContentForums.SingleOrDefault(d => d.Forum.ForumCode == "SYSKFYX" && d.ContentTypeID == 4);
            var projectContentForum = new ProjectContentForum();

            projectContentForum.ProjectContentType = projectContentType;
            projectContentForum.ContentForum = contentForum;
            projectContentForum.Operator = user;

            return projectContentForum;

            //if (isLiberal)
            //{
            //    var contentForum = database.ContentForums.SingleOrDefault(d => d.ForumID == 2 && d.ContentTypeID == 4);
            //    var projectContentForum = new ProjectContentForum();

            //    projectContentForum.ProjectContentType = projectContentType;
            //    projectContentForum.ContentForum = contentForum;
            //    projectContentForum.Operator = user;
            //    projectContentForum.Save(database);
            //}
            //if (isInternational)
            //{
            //    var contentForum = database.ContentForums.SingleOrDefault(d => d.ForumID == 3 && d.ContentTypeID == 4);
            //    var projectContentForum = new ProjectContentForum();

            //    projectContentForum.ProjectContentType = projectContentType;
            //    projectContentForum.ContentForum = contentForum;
            //    projectContentForum.Operator = user;
            //    projectContentForum.Save(database);
            //}
        }
 /// <summary>
 /// 根据成员的ID存储项目成员
 /// </summary>
 /// <param name="request"></param>
 /// <param name="database"></param>
 /// <param name="project"></param>
 /// <param name="projectMemberIDs"></param>
 public static void SaveProjectMembers(this HttpRequest request, IDatabase database, Project project, string projectMemberIDs)
 {
     if (projectMemberIDs.Split(',').Count() > 0)
     {
         //存项目成员
         for (var j = 0; j < projectMemberIDs.Split(',').Count() - 1; j++)
         {
             var projectMember = new ProjectMember();
             projectMember.Project = project;
             var mId = projectMemberIDs.Split(',')[j];
             int idm = Convert.ToInt32(mId);
             var member = database.Users.GetByID(idm);//应该是Expert?
             var ifProjectMember = database.ProjectMembers.SingleOrDefault(pm => pm.Project == project && pm.Member == member);
             if (ifProjectMember == null)
             {
                 projectMember.Member = member;
                 projectMember.Save(database);
             }
         }
     }
 }
Example #8
0
        private static Project getProject(this HttpRequest request, IDatabase database)
        {
            var id = request.GetInt("id");
            if (id.HasValue)
                return database.Projects.GetByID(id.Value);

            var project = new Project();
            return project;
        }
Example #9
0
        private static Project getCommunicationOperation(this HttpRequest request, IDatabase database)
        {
            var id = request.GetInt("ProjectID");
            if (id.HasValue)
            {
                return database.Projects.GetByID(id.Value);
            }

            var project = new Project();
            return project;
        }