public bool ModifyTask(int taskId, int projectID, int teamID, string title, string content, string assignedEmail, string typeName, int time, int state, string currentUserMail) { assignedEmail = string.IsNullOrEmpty(assignedEmail) ? assignedEmail : assignedEmail.ToLower(); var currentUserRepoModel = this._userRepository.GetUser(currentUserMail); if (currentUserRepoModel == null) { Enforce.Throw(new LogicErrorException("当前用户已被删除")); } string assignedUserName = null; if (assignedEmail != null) { var assignedUserRepoModel = this._userRepository.GetUser(assignedEmail); if (assignedUserRepoModel == null) { Enforce.Throw(new LogicErrorException("指派的用户已被删除")); } assignedUserName = assignedUserRepoModel.info.userName; } T_TASK task = _taskBll.GetEntity(new DapperExQuery <T_TASK>() .AndWhere(s => s.ID, OperationMethod.Equal, taskId)); if (task == null) { Enforce.Throw(new LogicErrorException("当前任务不存在")); } //TeamRepoModel teamRepoModel = _teamRepository.GetTeamDetail(teamID); //if (!teamRepoModel.members.Any(A => A.memberMail == currentUserMail)) //{ // Enforce.Throw(new LogicErrorException("该用户不属于当前团队")); //} if (projectID > 0) { ProjectRepoModel projectRepoModel = _projectRepository.GetProjectDetail(projectID); if (!projectRepoModel.members.Any(A => A.memberMail == assignedEmail)) { Enforce.Throw(new LogicErrorException("该用户不属于当前项目")); } } TaskInfoModel taskInfoModel = Mapper.Map <T_TASK, TaskInfoModel>(task); taskInfoModel.title = title != null ? title : taskInfoModel.title; taskInfoModel.content = content != null ? content : taskInfoModel.content; taskInfoModel.assignedName = assignedEmail != null ? assignedUserName : taskInfoModel.assignedName; taskInfoModel.assignedEmail = assignedEmail != null ? assignedEmail : taskInfoModel.assignedEmail; taskInfoModel.typeName = typeName != null ? typeName : taskInfoModel.typeName; taskInfoModel.time = time != 0 ? time : taskInfoModel.time; taskInfoModel.state = state; return(_taskBll.ModifyTask(AutoMapper.Mapper.Map <TaskInfoModel, T_TASK>(taskInfoModel), currentUserRepoModel.info.userName, currentUserMail, DateTime.Now)); }
public ProjectRepoModel GetProjectDetail(int projectID) { var project = this.getProjectInfo(projectID); if (project == null) { Enforce.Throw(new LogicErrorException("当前项目已被删除")); } ProjectRepoModel projectRepoModel = new ProjectRepoModel(); projectRepoModel.info = project; projectRepoModel.members = this.getProjectMemberList(projectID); return(projectRepoModel); }
public int CreateTask(int backLogID, int teamID, string title, string content, string assignedEmail, string typeName, int time, int state, string currentUserMail) { assignedEmail = string.IsNullOrEmpty(assignedEmail) ? assignedEmail : assignedEmail.ToLower(); var currentUserRepoModel = this._userRepository.GetUser(currentUserMail); if (currentUserRepoModel == null) { Enforce.Throw(new LogicErrorException("当前用户已被删除")); } var assignedUserRepoModel = this._userRepository.GetUser(assignedEmail); if (assignedUserRepoModel == null) { Enforce.Throw(new LogicErrorException("指派的用户已被删除")); } var backLogInfo = this._backlogRepository.GetBacklogInfoModel(teamID, backLogID); //TeamRepoModel teamRepoModel = _teamRepository.GetTeamDetail(teamID); //if (!teamRepoModel.members.Any(A => A.memberMail == currentUserMail)) //{ // Enforce.Throw(new LogicErrorException("该用户不属于当前团队")); //} ProjectRepoModel projectRepoModel = _projectRepository.GetProjectDetail(backLogInfo.projectID); if (!projectRepoModel.members.Any(A => A.memberMail.ToLower() == assignedEmail)) { Enforce.Throw(new LogicErrorException("该用户不属于当前项目")); } TaskInfoModel taskInfoModel = new TaskInfoModel(); taskInfoModel.backLogID = backLogID; taskInfoModel.projectID = backLogInfo.projectID; taskInfoModel.projectName = backLogInfo.projectName; taskInfoModel.title = title; taskInfoModel.content = content; taskInfoModel.assignedName = assignedUserRepoModel.info.userName; taskInfoModel.assignedEmail = assignedEmail; taskInfoModel.typeName = typeName; taskInfoModel.time = time; taskInfoModel.state = state; taskInfoModel.currentUserMail = currentUserMail; taskInfoModel.createTime = DateTime.Now; return(this._taskBll.CreateTask(AutoMapper.Mapper.Map <TaskInfoModel, T_TASK>(taskInfoModel), currentUserRepoModel.info.userName)); }