Esempio n. 1
0
        public ActionResult CreatePlayer(TeamPlayerForm frm)
        {
            //Thread.CurrentThread.CurrentCulture = new CultureInfo("he-IL");
            var user = playersRepo.GetUserByIdentNum(frm.IdentNum);

            frm.Genders   = new SelectList(playersRepo.GetGenders(), "GenderId", "Title");
            frm.Positions = new SelectList(posRepo.GetByTeam(frm.TeamId), "PosId", "Title");

            if (playersRepo.ShirtNumberExists(frm.TeamId, frm.ShirtNum))
            {
                //Shirt number taken
                ModelState.AddModelError("ShirtNum", Messages.ShirtAlreadyExists);
            }

            if (user != null)
            {
                if (playersRepo.PlayerExistsInTeam(frm.TeamId, user.UserId))
                {
                    //Player exists in team
                    ModelState.AddModelError("IdentNum", Messages.PlayerAlreadyInTeam);
                }
            }

            if (!ModelState.IsValid)
            {
                return(PartialView("_EditPlayer", frm));
            }


            if (user == null)
            {
                //New User
                user = new User();
                UpdateModel(user);
                user.Password = Protector.Encrypt(frm.IdentNum);
                user.TypeId   = 4; // player
                usersRepo.Create(user);
            }

            var tp = new TeamsPlayer();

            UpdateModel(tp);
            tp.UserId   = user.UserId;
            tp.SeasonId = frm.SeasonId;
            playersRepo.AddToTeam(tp);
            playersRepo.Save();
            TempData["Success"] = true;
            return(PartialView("_EditPlayer", frm));
        }
        public ActionResult SelectPlayerForTeam(TeamsPlayer item)
        {
            ViewBag.Allplayer = getAllPlayers();
            /*ViewBag.GetPlayer = GetPlayer();*/
            ViewBag.GetMatch = GetMatch();

            if (team.TeamForMatches.Where(x => x.MatchID == item.MatchID).Count() >= 14)
            {
                ViewBag.Error = "Already 14 players existed!!";
                return(View());
            }

            DateTime date = team.Matches.Find(item.MatchID).Date ?? DateTime.Now;

/*            if (item.Match != null)
 *          {
 *              date = item.Match.Date ;
 *          }*/

            foreach (var data in item.PlayerUserName)
            {
                TeamForMatch tdm = new TeamForMatch();
                tdm.MatchID  = item.MatchID;
                tdm.Note     = item.Note;
                tdm.status   = item.status;
                tdm.Team     = item.Team;
                tdm.Username = data;
                team.TeamForMatches.Add(tdm);

                team.Notifications.Add(new Notification {
                    UserName = data, Title = "You are selected.", Description = "You are selected for " + date.ToString("dd/MM/yy") + " .Please check Proposed_Selectted_Player to Details.", Date = DateTime.Now
                });
                team.SaveChanges();
            }



            return(RedirectToAction("Coach", "Coach"));
        }
Esempio n. 3
0
        public void MovePlayersToTeam(int teamId, int[] playerIds, int currentTeamId, int seasonId)
        {
            var teamPlayers  = db.TeamsPlayers.Where(x => x.TeamId == currentTeamId && playerIds.Contains(x.UserId) && seasonId == x.SeasonId).ToList();
            var movedPlayers = new List <TeamsPlayer>();

            foreach (var teamPlayer in teamPlayers)
            {
                var newTeamPlayer = new TeamsPlayer();
                newTeamPlayer.TeamId   = teamId;
                newTeamPlayer.UserId   = teamPlayer.UserId;
                newTeamPlayer.PosId    = teamPlayer.PosId;
                newTeamPlayer.ShirtNum = teamPlayer.ShirtNum;
                newTeamPlayer.IsActive = teamPlayer.IsActive;
                newTeamPlayer.SeasonId = teamPlayer.SeasonId ?? seasonId;

                db.TeamsPlayers.Add(newTeamPlayer);
                db.SaveChanges();
                movedPlayers.Add(newTeamPlayer);
            }
            db.TeamsPlayers.RemoveRange(teamPlayers);
            db.SaveChanges();

            if (movedPlayers.Count > 0)
            {
                foreach (var movedPlayer in movedPlayers)
                {
                    var history = new PlayerHistory();

                    history.SeasonId  = movedPlayer.SeasonId ?? seasonId;
                    history.TeamId    = movedPlayer.TeamId;
                    history.UserId    = movedPlayer.UserId;
                    history.TimeStamp = DateTime.UtcNow.Ticks;

                    db.PlayerHistory.Add(history);
                }
                db.SaveChanges();
            }
        }
Esempio n. 4
0
        public ActionResult Edit(TeamPlayerForm frm)
        {
            var user = playersRepo.GetUserByIdentNum(frm.IdentNum);

            if (user == null)
            {
                ModelState.AddModelError("IdentNum", Messages.PlayerNotExists);
            }
            else
            {
                var tu = playersRepo.GetTeamPlayer(frm.TeamId, user.UserId, frm.PosId);
                if (tu != null)
                {
                    ModelState.AddModelError("PosId", Messages.PlayerAlreadyOnThisPosition);
                }
                if (playersRepo.ShirtNumberExists(frm.TeamId, frm.ShirtNum))
                {
                    ModelState.AddModelError("ShirtNum", Messages.ShirtAlreadyExists);
                }
            }

            if (!ModelState.IsValid)
            {
                frm.Positions = new SelectList(posRepo.GetByTeam(frm.TeamId), "PosId", "Title");
                return(PartialView("_Edit", frm));
            }

            var item = new TeamsPlayer();

            item.InjectFrom(frm);
            item.UserId = user.UserId;
            playersRepo.AddToTeam(item);
            playersRepo.Save();

            return(RedirectToAction("Edit", new { id = frm.TeamId }));
        }
Esempio n. 5
0
        public ActionResult Edit(int id = 0, int seasonId = 0, int leagueId = 0, int clubId = 0, int teamId = 0)
        {
            //
            Thread.CurrentThread.CurrentCulture = new CultureInfo("he-IL");
            var vm = new PlayerFormView
            {
                LeagueId = leagueId,
                Genders  = new SelectList(usersRepo.GetGenders(), "GenderId", "Title")
            };

            if (id != 0)
            {
                vm.ClubId        = clubId;
                vm.CurrentTeamId = teamId;
                vm.SeasonId      = seasonId;

                if (leagueId > 0)
                {
                    League league = leagueRepo.GetById(leagueId);
                    if (league != null)
                    {
                        vm.IsHadicapEnabled = league.Union.IsHadicapEnabled;
                        vm.SeasonId         = league.SeasonId ?? vm.SeasonId;
                    }
                }

                User pl = usersRepo.GetById(id);
                if (pl == null && pl.IsArchive)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }


                if (teamId > 0)
                {
                    TeamsPlayer teamsPlayer = pl.TeamsPlayers
                                              .FirstOrDefault(x => x.UserId == pl.UserId &&
                                                              x.SeasonId == vm.SeasonId &&
                                                              x.TeamId == teamId);
                    if (teamsPlayer == null)
                    {
                        return(RedirectToAction("NotFound", "Error"));
                    }

                    vm.HandicapLevel = teamsPlayer.HandicapLevel;
                    vm.IsPlayereInTeamLessThan3year = teamsPlayer.IsPlayereInTeamLessThan3year;
                    vm.NumberOfTeamsUserPlays       = pl.TeamsPlayers.Count;
                }

                vm.InjectFrom <IgnoreNulls>(pl);

                if (!string.IsNullOrEmpty(pl.Password))
                {
                    vm.Password = Protector.Decrypt(pl.Password);
                }
                vm.IsValidUser     = User.IsInAnyRole(AppRole.Admins, AppRole.Editors);
                vm.ManagerTeams    = new List <TeamDto>();
                vm.PlayerTeams     = new List <TeamDto>();
                vm.PlayerHistories = new List <PlayerHistoryFormView>();

                var currDate = DateTime.Now;
                if (pl.UsersType.TypeRole == AppRole.Players)
                {
                    List <TeamDto> teams = pl.TeamsPlayers.Where(t => !t.Team.IsArchive &&
                                                                 seasonsRepository.GetAllCurrent().Select(s => s.Id).Contains(t.SeasonId ?? 0))
                                           .Select(t => new TeamDto
                    {
                        TeamId   = t.TeamId,
                        Title    = t.Team.Title,
                        SeasonId = t.SeasonId,
                        ClubId   = t.Team.ClubTeams.Where(ct => ct.SeasonId == t.SeasonId).FirstOrDefault()?.ClubId ?? 0,
                        LeagueId = t.Team.LeagueTeams.Where(lt => lt.SeasonId == t.SeasonId).FirstOrDefault()?.LeagueId ?? 0
                    })
                                           .ToList();
                    vm.PlayerTeams = teams;
                    if (!vm.IsValidUser)
                    {
                        var managerTeams = AuthSvc.FindTeamsByManagerId(base.AdminId)
                                           .Select(t => new {
                            TeamId = t.TeamId,
                            Title  = t.Title,
                            Club   = teamRepo.GetClubByTeamId(t.TeamId, currDate),
                            League = teamRepo.GetLeagueByTeamId(t.TeamId, currDate)
                        })
                                           .Select(t => new TeamDto
                        {
                            TeamId   = t.TeamId,
                            Title    = t.Title,
                            SeasonId = t.League.SeasonId ?? t.Club?.SeasonId,
                            ClubId   = t.Club?.ClubId ?? 0,
                            LeagueId = t.League?.LeagueId ?? 0
                        });
                        vm.ManagerTeams = managerTeams;
                    }
                }

                vm.PlayerHistories = usersRepo.GetPlayerHistory(id, vm.SeasonId).ToViewModel();
            }

            if (TempData["ViewData"] != null)
            {
                ViewData = (ViewDataDictionary)TempData["ViewData"];
            }

            return(View(vm));
        }
Esempio n. 6
0
        public ActionResult Edit(PlayerFormView frm)
        {
            //
            Thread.CurrentThread.CurrentCulture = new CultureInfo("he-IL");
            int maxFileSize = GlobVars.MaxFileSize * 1000;
            var savePath    = Server.MapPath(GlobVars.ContentPath + "/players/");

            if (!ModelState.IsValid)
            {
                if (frm.LeagueId != 0)
                {
                    return(RedirectToAction("Edit",
                                            new
                    {
                        id = frm.UserId,
                        seasonId = frm.SeasonId,
                        leagueId = frm.LeagueId,
                        teamId = frm.CurrentTeamId
                    }));
                }
                return(RedirectToAction("Edit", new { id = frm.UserId, seasonId = frm.SeasonId, clubId = 0, teamId = frm.CurrentTeamId }));
            }

            var pl = new User();

            if (frm.UserId != 0)
            {
                pl = usersRepo.GetById(frm.UserId);

                TeamsPlayer teamsPlayer = pl.TeamsPlayers
                                          .FirstOrDefault(x => x.UserId == pl.UserId &&
                                                          x.SeasonId == frm.SeasonId &&
                                                          x.TeamId == frm.CurrentTeamId);
                if (teamsPlayer == null)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }

                teamsPlayer.IsPlayereInTeamLessThan3year = frm.IsPlayereInTeamLessThan3year;
                teamsPlayer.HandicapLevel = frm.HandicapLevel;
            }
            else
            {
                usersRepo.Create(pl);
            }

            UpdateModel(pl);

            pl.Password = Protector.Encrypt(frm.Password);
            pl.TypeId   = 4;

            usersRepo.Save();

            var imageFile = GetPostedFile("ImageFile");

            if (imageFile != null)
            {
                if (imageFile.ContentLength > maxFileSize)
                {
                    ModelState.AddModelError("ImageFile", Messages.FileSizeError);
                }
                else
                {
                    var newName = SaveFile(imageFile, pl.UserId);
                    if (newName == null)
                    {
                        ModelState.AddModelError("ImageFile", Messages.FileError);
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(pl.Image))
                        {
                            FileUtil.DeleteFile(savePath + pl.Image);
                        }

                        pl.Image = newName;
                    }
                }
            }


            if (ModelState.IsValid)
            {
                usersRepo.Save();
                TempData["Saved"] = true;
            }
            else
            {
                TempData["ViewData"] = ViewData;
            }

            if (frm.LeagueId != 0)
            {
                return(RedirectToAction("Edit", new { id = pl.UserId, seasonId = frm.SeasonId, leagueId = frm.LeagueId, teamId = frm.CurrentTeamId }));
            }

            return(RedirectToAction("Edit", new { id = pl.UserId, seasonId = frm.SeasonId, clubId = 0, teamId = frm.CurrentTeamId }));
        }
Esempio n. 7
0
 public void ReoveFromTeam(TeamsPlayer item)
 {
     db.TeamsPlayers.Remove(item);
 }
Esempio n. 8
0
 public void AddToTeam(TeamsPlayer item)
 {
     db.TeamsPlayers.Add(item);
 }