public async Task <IActionResult> CloseMatch(int?id) //valida id al cerrar { if (id == null) { return(NotFound()); } //buscamos el partido var matchentity = await _context.Matches.Include(m => m.Group) .Include(m => m.Local) .Include(m => m.Visitor) .FirstOrDefaultAsync(m => m.Id == id); if (matchentity == null) { return(NotFound()); } //armamos el modelo ClosMatchViewModel model = new ClosMatchViewModel { Group = matchentity.Group, GroupId = matchentity.Group.Id, Local = matchentity.Local, LocalId = matchentity.Local.Id, MatchId = matchentity.Id, Visitor = matchentity.Visitor, VisitorId = matchentity.Visitor.Id }; return(View(model)); //el model pide cuales fueron los goles del loca y visitor y una opciòn de close }
public async Task <IActionResult> CloseMatch(ClosMatchViewModel model) { if (ModelState.IsValid) { //envìa el partido y cantidad de goles realizados por el local y el visitor await _match.CloseMatchAsync(model.MatchId, model.GoalsLocal.Value, model.GoalsVisitor.Value); //direcciona al detailgroup de ese grupo return(RedirectToAction($"{nameof(DetailsGroup)}/{model.GroupId}")); } //si hay error vuelve a armar model.Group = await _context.Groups.FindAsync(model.GroupId); model.Local = await _context.Teams.FindAsync(model.LocalId); model.Visitor = await _context.Teams.FindAsync(model.VisitorId); return(View(model)); }