/// <summary> /// Get team users by team id. /// </summary> /// <param name="teamId">Team id.</param> /// <returns></returns> public Task <string> GetUsers(int teamId) { return(Task.Run(() => { var result = from teamWithUsers in context.TeamWithUsers.ToList() join teams in context.Teams.ToList() on teamWithUsers.TeamId equals teams.Id join users in context.Users.ToList() on teamWithUsers.UserId equals users.Id join roles in context.UserRoles.ToList() on teamWithUsers.UserRole equals roles.Id where teamWithUsers.TeamId == teamId select new UserTeamDTO { TeamId = teamId, TeamName = teams.TeamName, TeamDescription = teams.TeamDescription, UserId = users.Id, UserName = users.Name, RoleId = teamWithUsers.UserRole, RoleDescription = roles.RoleDescription }; if (result.Count() == 0) { return ResponseFail.NoContent(); } return ResponseSuccess.Json(result); })); }
/// <summary> /// Update user data in the team. /// </summary> /// <param name="dto">Data to update.</param> /// <returns></returns> public Task <string> UpdateUser(Infrastructure.DTO.UserTeamDTO dto) { return(Task.Run(() => { try { var teamWithUser = context.TeamWithUsers.ToList().Find(t => t.TeamId == dto.TeamId && t.UserId == dto.UserId); if (teamWithUser == null) { return ResponseFail.NoContent(); } var role = context.UserRoles.Where(t => t.Id == dto.RoleId); if (role.Count() == 0) { return ResponseFail.ExpectationFailed(message: "用户角色值异常"); } teamWithUser.UserRole = dto.RoleId; context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(); })); }
/// <summary> /// Update team data. /// </summary> /// <param name="team">Team's data.</param> /// <returns></returns> public Task <string> UpdateTeam(Infrastructure.DTO.TeamDTO team) { return(Task.Run(() => { if (team == null) { return ResponseFail.Json("", "数据异常,无法更新"); } var teamObj = context.Teams.ToList().Find(t => t.Id == team.Id); if (teamObj == null) { return ResponseFail.NoContent(); } teamObj.TeamName = team.TeamName; teamObj.TeamDescription = team.TeamDescription; try { context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(""); })); }
/// <summary> /// Get team data by team id. /// </summary> /// <param name="teamId">Team's id.</param> /// <returns></returns> public Task <string> GetTeam(int teamId) { return(Task.Run(() => { var result = from team in context.Teams.ToList() join teamuser in context.TeamWithUsers.ToList() on team.Id equals teamuser.TeamId join user in context.Users.ToList() on teamuser.UserId equals user.Id where team.Id == teamId && teamuser.UserRole == 1 select new TeamDTO { Id = team.Id, TeamName = team.TeamName, TeamDescription = team.TeamDescription, CreatorId = teamuser.UserId, CreatorName = user.Name }; if (result.Count() == 0) { return ResponseFail.NoContent(); } if (result.Count() > 1) { return ResponseFail.ExpectationFailed(message: "数据异常,非唯一,无法操作"); } return ResponseSuccess.Json(result.First()); })); }
/// <summary> /// Delete team data by team's id. /// </summary> /// <param name="teamId">Team's id.</param> /// <returns></returns> public Task <string> DeleteTeam(int teamId) { return(Task.Run(() => { var team = context.Teams.ToList().Find(t => t.Id == teamId); if (team == null) { return ResponseFail.NoContent(""); } context.Teams.Remove(team); try { context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(); })); }
/// <summary> /// Delete user from team. /// </summary> /// <param name="userId">User id.</param> /// <param name="teamId">Team id.</param> /// <returns></returns> public Task <string> DeleteUser(int userId, int teamId) { return(Task.Run(() => { try { var teamWithUser = context.TeamWithUsers.ToList().Find(t => t.TeamId == teamId && t.UserId == userId); if (teamWithUser == null) { return ResponseFail.NoContent(); } context.TeamWithUsers.Remove(teamWithUser); context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(); })); }