Exemple #1
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 #2
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 #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 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);
                }
            }));
        }
Exemple #5
0
        /// <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();
            }));
        }
Exemple #6
0
        /// <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);
                }
            }));
        }
Exemple #7
0
        /// <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);
            }));
        }
Exemple #8
0
        /// <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();
            }));
        }
Exemple #9
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 #10
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();
            }));
        }