/// <summary> /// Get a specific project /// </summary> /// <param name="id"></param> /// <returns></returns> public Project GetProjectById(int id) { ProjectEntity projectEntity = _projectDao.Query(new ProjectEntity() { Id = id }).FirstOrDefault(); List <UserEntity> userEntitys = _userDao.Query().ToList(); Project project = projectEntity.ObjectConvert <Project>(); if (project != null) { var relations = _projectDao.GetRelationByProjectId(project.Id); List <User> developers = new List <User>(); List <User> generals = new List <User>(); // 取得該 project 下的 developer foreach (var r in relations) { User tmp = userEntitys.Find(u => u.Id == r.UserId).ObjectConvert <User>(); if (r.ProjectCharactorId == 1) //manager { project.Manager = tmp; } else if (r.ProjectCharactorId == 2) //developer { developers.Add(tmp); } else if (r.ProjectCharactorId == 3) // general { generals.Add(tmp); } } project.Developers = developers; project.Generals = generals; } return(project); }