示例#1
0
        public ActionResult InviteResponse(int TeamID = -1, string Accept = null, string Reject = null)
        {
            int         userID = WebSecurity.GetUserId(User.Identity.Name);
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            if (user == null)
            {
                logger.Warn("User with id = " + userID + " not found");
                throw new HttpException(404, "User with id = " + userID + " not found");
            }

            Team team = repository.Teams.FirstOrDefault(t => t.TeamID == TeamID);

            if (team == null)
            {
                return(RedirectToAction("Team", new { Message = TeamMessageId.TeamNotExist }));
            }

            if (Accept != null)
            {
                UserProfileTeam userProfileTeam = repository
                                                  .UserProfileTeam
                                                  .FirstOrDefault(ut => ut.UserID == userID && ut.TeamID == TeamID);

                if (userProfileTeam == null)
                {
                    logger.Warn("UserProfileTeam with userID = " + userID + " and teamID = " + TeamID + " not found");
                    return(RedirectToAction("Team", new { Message = TeamMessageId.TeamNotExist }));
                }

                userProfileTeam.Confirm = 1;

                repository.AddUserProfileTeam(userProfileTeam);

                return(RedirectToAction("Team"));
            }
            if (Reject != null)
            {
                UserProfileTeam userProfileTeam = repository
                                                  .UserProfileTeam
                                                  .FirstOrDefault(ut => ut.UserID == userID && ut.TeamID == TeamID);

                if (userProfileTeam == null)
                {
                    logger.Warn("UserProfileTeam with userID = " + userID + " and teamID = " + TeamID + " not found");
                    return(RedirectToAction("Team", new { Message = TeamMessageId.TeamNotExist }));
                }

                userProfileTeam.Confirm = -1;

                repository.AddUserProfileTeam(userProfileTeam);

                return(RedirectToAction("Team"));
            }

            return(RedirectToAction("Team", new { Message = TeamMessageId.Fail }));
        }
示例#2
0
        public void DeleteUserProfileTeam(UserProfileTeam UserProfileTeam)
        {
            context.Entry(UserProfileTeam).State = EntityState.Deleted;

            context.SaveChanges();

            return;
        }
示例#3
0
        public void DeleteUserProfileTeam(int UserProfileTeamID)
        {
            UserProfileTeam userProfileTeam = context.UserProfileTeam.FirstOrDefault(ut => ut.UserProfileTeamID == UserProfileTeamID);

            if (userProfileTeam != null)
            {
                DeleteUserProfileTeam(userProfileTeam);
            }

            return;
        }
示例#4
0
        public int AddUserProfileTeam(UserProfileTeam UserProfileTeam)
        {
            if (UserProfileTeam.UserProfileTeamID == 0)
            {
                UserProfileTeam = context.UserProfileTeam.Add(UserProfileTeam);
            }
            else
            {
                context.Entry(UserProfileTeam).State = EntityState.Modified;
            }
            context.SaveChanges();
            context.Entry(UserProfileTeam).Reload();

            return(UserProfileTeam.UserProfileTeamID);
        }
示例#5
0
        public ActionResult Create(string Name)
        {
            int         userID = WebSecurity.GetUserId(User.Identity.Name);
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            if (user == null)
            {
                logger.Warn("User with id = " + userID + " not found");
                throw new HttpException(404, "User with id = " + userID + " not found");
            }

            if (Name == null || Name == "")
            {
                TempData["ErrorMessage"] = "Некорректное имя команды";
                return(Create());
            }

            Team team = repository.Teams.FirstOrDefault(t => t.Name == Name);

            if (team != null)
            {
                TempData["ErrorMessage"] = "Команда с таким имененм уже существует";
                return(Create());
            }

            team = new Team()
            {
                Name = Name
            };

            repository.AddTeam(team);

            UserProfileTeam userProfileTeam = new UserProfileTeam()
            {
                UserID = userID, TeamID = team.TeamID, Confirm = 1
            };

            repository.AddUserProfileTeam(userProfileTeam);

            TempData["SuccessMessage"] = "Команда успешно создана";
            return(RedirectToAction("Manage", new { TeamID = team.TeamID }));
        }
示例#6
0
        public ActionResult CreateTeam(string TeamName)
        {
            int         userID = WebSecurity.GetUserId(User.Identity.Name);
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            if (user == null)
            {
                logger.Warn("User with id = " + userID + " not found");
                throw new HttpException(404, "User with id = " + userID + " not found");
            }

            if (TeamName == null || TeamName == "")
            {
                return(RedirectToAction("Team", new { Message = TeamMessageId.TeamNameIsNotDefined }));
            }

            Team team = repository.Teams.FirstOrDefault(t => t.Name == TeamName);

            if (team != null)
            {
                return(RedirectToAction("Team", new { Message = TeamMessageId.TeamAlreadyExist }));
            }

            team = new Team()
            {
                Name = TeamName
            };

            repository.AddTeam(team);

            UserProfileTeam userProfileTeam = new UserProfileTeam()
            {
                UserID = userID, TeamID = team.TeamID, Confirm = 1
            };

            repository.AddUserProfileTeam(userProfileTeam);

            return(RedirectToAction("ManageTeam", new { ID = team.TeamID }));
        }
示例#7
0
        public JsonResult InviteUser(string UserName, int TeamID)
        {
            Team        team   = repository.Teams.FirstOrDefault(t => t.TeamID == TeamID);
            int         userID = WebSecurity.GetUserId(UserName);
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            JsonResponse response = new JsonResponse();

            if (team == null || user == null)
            {
                response.Message = user == null ? "Неккоректное имя пользователя" : "Произошла ошибка";
                response.Success = false;
            }
            else
            {
                UserProfileTeam userProfileTeam = repository
                                                  .UserProfileTeam
                                                  .FirstOrDefault(ut => ut.UserID == userID && ut.TeamID == team.TeamID);

                if (userProfileTeam == null)
                {
                    userProfileTeam = new UserProfileTeam()
                    {
                        UserID = user.UserId,
                        TeamID = team.TeamID
                    };
                }

                userProfileTeam.Confirm = 0;
                repository.AddUserProfileTeam(userProfileTeam);

                response.Message = "Приглашение для " + UserName + " успешно отправлено";
                response.Success = true;
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        public ActionResult InviteResponse(int TeamID = -1, string Accept = null, string Reject = null)
        {
            int         userID = WebSecurity.CurrentUserId;
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            if (user == null)
            {
                logger.Warn("User with id = " + userID + " not found");
                throw new HttpException(404, "User with id = " + userID + " not found");
            }

            Team team = repository.Teams.FirstOrDefault(t => t.TeamID == TeamID);

            if (team == null)
            {
                TempData["ErrorMessage"] = "Команда не найдена";
                return(RedirectToAction("Index"));
            }

            if (Accept != null)
            {
                UserProfileTeam userProfileTeam = repository
                                                  .UserProfileTeam
                                                  .FirstOrDefault(ut => ut.UserID == userID && ut.TeamID == TeamID);

                if (userProfileTeam == null)
                {
                    logger.Warn("UserProfileTeam with userID = " + userID + " and teamID = " + TeamID + " not found");
                    TempData["ErrorMessage"] = "Команда не найдена";
                    return(RedirectToAction("Index"));
                }

                userProfileTeam.Confirm = 1;

                repository.AddUserProfileTeam(userProfileTeam);
                TempData["SuccessMessage"] = "Вы приняли приглашение в команду " + team.Name;
                return(RedirectToAction("Index"));
            }
            if (Reject != null)
            {
                UserProfileTeam userProfileTeam = repository
                                                  .UserProfileTeam
                                                  .FirstOrDefault(ut => ut.UserID == userID && ut.TeamID == TeamID);

                if (userProfileTeam == null)
                {
                    logger.Warn("UserProfileTeam with userID = " + userID + " and teamID = " + TeamID + " not found");
                    TempData["ErrorMessage"] = "Команда не найдена";
                    return(RedirectToAction("Index"));
                }

                userProfileTeam.Confirm = -1;

                repository.AddUserProfileTeam(userProfileTeam);
                TempData["SuccessMessage"] = "Вы отклонили приглашение в команду " + team.Name;
                return(RedirectToAction("Index"));
            }

            TempData["ErrorMessage"] = "Произошла ошибка при обработке ответа";
            return(RedirectToAction("Index"));
        }