Exemple #1
0
        /// <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);
            }));
        }
Exemple #2
0
        /// <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();
            }));
        }
Exemple #3
0
        /// <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("");
            }));
        }
Exemple #4
0
        /// <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());
            }));
        }
Exemple #5
0
        /// <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();
            }));
        }
Exemple #6
0
        /// <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();
            }));
        }