/// <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; }
/// <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); } } } }
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; }
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; }