/// <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> /// 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> /// 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 teams data by page index and page size. /// </summary> /// <param name="page">Query page index.First is 1.</param> /// <param name="pageSize">Data size per page.</param> /// <returns></returns> public Task <string> GetTeams(int page, int pageSize = 30) { return(Task.Run(() => { if (page < 1) { return ResponseFail.ExpectationFailed(message: "页数应该大于等于1"); } if (pageSize < 1) { return ResponseFail.ExpectationFailed(message: "每页数量应该为正数"); } try { var excludePre = context.Teams.ToList().Take((page - 1) * pageSize); var result = context.Teams.ToList().Except(excludePre).Take(pageSize); return ResponseSuccess.Json(result); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } })); }
/// <summary> /// Update user's data. /// </summary> /// <param name="dto">User's data.</param> /// <returns></returns> public Task <string> UpdateUser(Infrastructure.DTO.UserDTO dto) { return(Task.Run(() => { var user = context.Users.ToList().Find(t => t.Id == dto.Id); if (user == null) { return ResponseFail.Json("", "无此用户,操作失败", 204); } else if (string.IsNullOrEmpty(dto.Name)) { return ResponseFail.ExpectationFailed(message: "昵称/姓名不能为空"); } user.Name = dto.Name; try { context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(); })); }
/// <summary> /// Get users by page index and page size. /// </summary> /// <param name="page">Query page index.First is 1.</param> /// <param name="pageSize">Data size per page.</param> /// <returns></returns> public Task <string> GetUsers(int page, int pageSize = 30) { return(Task.Run(() => { try { var excludePre = context.Users.ToList().Take((page - 1) * pageSize); var result = context.Users.ToList().Except(excludePre).Take(pageSize); return ResponseSuccess.Json(result); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } })); }
/// <summary> /// Create new team data. /// </summary> /// <param name="team">New team's data.</param> /// <returns></returns> public Task <string> CreateTeam(TeamDTO team) { return(Task.Run(() => { if (team == null) { return ResponseFail.Json("", "数据异常,无法创建组"); } Team teamObj = new Team() { TeamName = team.TeamName, TeamDescription = team.TeamDescription }; context.Teams.Add(teamObj); try { context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } TeamWithUser teamWithUser = new TeamWithUser() { TeamId = teamObj.Id, UserId = team.CreatorId, UserRole = 1 }; context.TeamWithUsers.Add(teamWithUser); try { context.SaveChanges(); } catch (Exception e) { context.Teams.Remove(teamObj); context.SaveChanges(); return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(team); })); }
/// <summary> /// Add user into the team. /// </summary> /// <param name="userId">User id.</param> /// <param name="teamId">Team id.</param> /// <returns></returns> public Task <string> AddUser(int userId, int teamId) { return(Task.Run(() => { var user = context.Users.ToList().Find(t => t.Id == userId); if (user == null) { return ResponseFail.Json("", "无相应用户,操作失败"); } var team = context.TeamWithUsers.ToList().Where(t => t.TeamId == teamId); if (team == null) { return ResponseFail.Json("", "无相应组,操作失败"); } if (team.Count() == 0) { return ResponseFail.Json("", "无相应组,操作失败"); } var teamUser = new TeamWithUser() { TeamId = teamId, UserId = userId, UserRole = 3 }; context.TeamWithUsers.Add(teamUser); try { context.SaveChanges(); } catch (Exception e) { return ResponseFail.ExpectationFailed(message: e.Message); } return ResponseSuccess.Json(); })); }
/// <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(); })); }