public IActionResult AssignCorners(int id, int leagueId, int?message) { var match = _dataMatches.Get(id); var homeClub = _dataClubs.Get(m => m.Id == match.HomeClubId); var awayClub = _dataClubs.Get(m => m.Id == match.AwayClubId); if (match == null) { return(RedirectToAction("Error", "Home")); } var playerList = _dataPlayer.GetByDetails(); List <Player> playersList = new List <Player>(); var contracts = _dataContract.GetByDetails().ToList(); foreach (var item in playerList) { for (int i = contracts.Count() - 1; i >= 0; i--) { if (item.Id == contracts[i].PlayerId && (contracts[i].ClubId == homeClub.Id || contracts[i].ClubId == awayClub.Id)) { playersList.Add(item); } } } var list = Globals.ToPairList <HalfTime>(typeof(HalfTime)); CornerInputVM viewmodel = new CornerInputVM { MatchId = id, Players = playersList.Select(x => new SelectListItem { Text = x.FirstName + " " + x.LastName, Value = x.Id.ToString() }).ToList(), HalfTimes = list.Select(x => new SelectListItem(x.Value, x.Key.ToString())), LeagueId = leagueId }; if (message.HasValue) { ViewBag.Mistake = "You cant add corner because input minute is lower than the last minute corner" + " or entered minute is not in correct halftime."; } return(View(viewmodel)); }
public IActionResult AssignCorners(CornerInputVM model) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(AssignCorners), new { id = model.MatchId, message = 1 })); } var corners = _dataCorner.GetByDetails(); var lastCorner = corners.LastOrDefault(x => x.MatchId == model.MatchId); var corner = new Corner { MinuteAwarded = model.MinuteAwarded, HalfTime = model.HalfTime, TakerId = model.TakerId, MatchId = model.MatchId }; if (lastCorner == null && ((model.MinuteAwarded >= 1 && model.MinuteAwarded <= 45 && model.HalfTime.ToString() == "First") || (model.MinuteAwarded >= 46 && model.MinuteAwarded <= 93 && model.HalfTime.ToString() == "Second"))) { _dataCorner.Add(corner); } else if (lastCorner != null && model.MinuteAwarded > lastCorner.MinuteAwarded && model.MinuteAwarded >= 1 && model.MinuteAwarded <= 45 && model.HalfTime.ToString() == "First") { _dataCorner.Add(corner); } else if (lastCorner != null && model.MinuteAwarded > lastCorner.MinuteAwarded && model.MinuteAwarded >= 46 && model.MinuteAwarded <= 93 && model.HalfTime.ToString() == "Second") { _dataCorner.Add(corner); } else { return(RedirectToAction(nameof(AssignCorners), new { id = model.MatchId, leagueId = model.LeagueId, message = 1 })); } return(RedirectToAction(nameof(Index), new { id = model.LeagueId })); }