/// <summary> /// Assigns the primary Arbitro. /// </summary> /// <param name="partidos">The Partidoes.</param> /// <param name="arbitros">The Arbitros.</param> /// <param name="logicalArbitro">The logical Arbitro.</param> /// <param name="tipoArbitro"></param> public void AsignarArbitros(List <BE.Partido> partidos, List <BE.Arbitro> arbitros, BLL.Arbitro logicalArbitro, BE.TipoArbitro tipoArbitro) { //BLL.Partido logicalPartido = new BLL.Partido(); foreach (BE.Partido partido in partidos) { foreach (BE.Arbitro arbitro in arbitros) { Logger.Log.Info("Partido: " + partido.Equipo1.Nombre + " vs. " + partido.Equipo2.Nombre); Logger.Log.Info("Arbitro: " + arbitro.Apellido + " " + arbitro.Nombre); Logger.Log.Info("Tipo de Arbitro: " + tipoArbitro.Descripcion); if (arbitro.Habilitado == true) { if (logicalArbitro.PuedeDirigir(arbitro, partido, tipoArbitro)) { Logger.Log.Info("Resultado: Asignado."); Logger.Log.Info("---------------------------------------"); //if (tipoArbitro.Descripcion == "Principal") //{ // partido.Principal = arbitro; //} //else //{ // partido.Asistente = arbitro; //} partido.ArbitrosYTipos.Add(arbitro, tipoArbitro); ActualizarUltimosPartidosDirigidos(arbitro, partido); ActualizarUltimosEquiposDirigidos(arbitro, partido); ////Descomentar para que guarde la asignacion. //logicalPartido.AddReferedPartido(Arbitro.IdArbitro, Partido.IdPartido, TipoArbitro.IdTipoArbitro); arbitros.Remove(arbitro); break; } } else { Logger.Log.Info("Resultado: Estado de arbitro no disponible."); Logger.Log.Info("---------------------------------------"); } } } }