/// <summary>
        /// Update a specific project
        /// </summary>
        /// <param name="project"></param>
        /// <returns></returns>
        public int UpdateProject(int projectId, ProjectFront project)
        {
            _projectDao.UpdateProject(new ProjectEntity()
            {
                Id = projectId
            }, project.ObjectConvert <ProjectEntity>());

            // 更新 UserProjectRelation
            _projectDao.DeleteRelationByProjectId(projectId);    // 刪除所有關聯

            // 新增 UserProjectRelation 的關係
            // manager
            _projectDao.CreateUserProjectRelation(new UserProjectRelationEntity()
            {
                ProjectId          = projectId,
                UserId             = project.managerId,
                ProjectCharactorId = 1  // Manager
            });
            // developer
            foreach (var developerId in project.developersId)
            {
                _projectDao.CreateUserProjectRelation(new UserProjectRelationEntity()
                {
                    ProjectId          = projectId,
                    UserId             = developerId,
                    ProjectCharactorId = 2
                });
            }
            // general
            foreach (var generalId in project.generalsId)
            {
                _projectDao.CreateUserProjectRelation(new UserProjectRelationEntity()
                {
                    ProjectId          = projectId,
                    UserId             = generalId,
                    ProjectCharactorId = 3
                });
            }

            return(projectId);
        }