public string NewProject(string projectName, int modelId, int?cnabsDealId) { ABSMgrConn.TableProject project = new ABSMgrConn.TableProject() { name = projectName, create_user_name = UserInfo.UserName, create_time = DateTime.Now, project_guid = Guid.NewGuid().ToString(), model_id = modelId, cnabs_deal_id = cnabsDealId, record_status_id = (int)RecordStatus.Valid }; NewProject(project); return(project.project_guid); }
// 创建一个项目 // 创建后给创建者增加读、写、操作的权限 public ProjectSeriesLogicModel NewProjectSeries(string name, string projectSeriesType, string personInCharge, string createTime, string estimatedFinishTime, string email) { ValidateUtils.Name(name, "项目名称").FileName(); CommUtils.Assert(email.Length <= 38, "邮箱不能超过38个字符数!"); CommUtils.AssertHasContent(personInCharge, "[项目负责人]不能为空"); CommUtils.Assert(m_dbAdapter.Authority.IsUserExist(personInCharge), "[用户]不存在"); CommUtils.AssertHasContent(createTime, "[立项日期]不能为空"); CommUtils.AssertHasContent(estimatedFinishTime, "[计划完成日期]不能为空"); var valStartTime = DateTime.Parse(createTime); var valEstimatedFinishTime = DateTime.Parse(estimatedFinishTime); CommUtils.Assert(valEstimatedFinishTime >= valStartTime, "计划完成日期[{0}]必须大于等于立项日期[{1}]", valEstimatedFinishTime, valStartTime); var type = CommUtils.ParseEnum <ProjectSeriesType>(projectSeriesType); var projectSeries = m_dbAdapter.ProjectSeries.NewProjectSeries(name, type, personInCharge, valStartTime, valEstimatedFinishTime, email); m_projectSeries = projectSeries; var now = DateTime.Now; ABSMgrConn.TableProject project = new ABSMgrConn.TableProject() { project_guid = Guid.NewGuid().ToString(), project_series_id = projectSeries.Id, name = projectSeries.Name, type_id = (int)ProjectSeriesStage.发行, model_id = -1, cnabs_deal_id = null, create_time = DateTime.Parse(now.ToString("yyyy-MM-dd")), create_user_name = m_userName, time_stamp = now, time_stamp_user_name = m_userName, record_status_id = (int)RecordStatus.Valid }; project.project_id = m_dbAdapter.Project.NewProject(project); m_currentProject = new ProjectLogicModel(m_userName, new Project(project)); var adminUsernames = new List <string> { projectSeries.CreateUserName, projectSeries.PersonInCharge }; adminUsernames = adminUsernames.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); //给[创建者、负责人]添加ProjectSeries与Project的所有权限 foreach (var adminUsername in adminUsernames) { m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Read); m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Write); m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Execute); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Read); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Write); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Execute); } return(this); }
public int NewProject(ABSMgrConn.TableProject project) { return(Insert("Project", "project_id", project)); }