public List <BE.Partido> ObtenerPartidosSinCalificacion() { BLL.Equipo bllEquipo = new BLL.Equipo(); BLL.Fecha bllFecha = new BLL.Fecha(); List <BE.Partido> lstPartidos = _dalManagerPartido.ObtenerPartidosSinCalificacion(); BLL.Arbitro bllArbitro = new BLL.Arbitro(); foreach (BE.Partido bePartido in lstPartidos) { bePartido.Equipo1 = bllEquipo.ObtnerEquipoPorIdReducido(bePartido.Equipo1.Id); bePartido.Equipo2 = bllEquipo.ObtnerEquipoPorIdReducido(bePartido.Equipo2.Id); bePartido.FechaDelCampeonato = bllFecha.ObtenerFechaPorIdReducido(bePartido.FechaDelCampeonato.Id); bePartido.ArbitrosYTipos = bllArbitro.ObtnerArbitrosYTiposPorPartidoId(bePartido.Id); } return(lstPartidos); }
/// <summary> /// Does the asignation. /// </summary> /// <param name="partidos">The Partidoes.</param> /// <param name="arbitros">The Arbitros.</param> /// <param name="deporte"></param> /// <returns></returns> public List <BE.Partido> RealizarDesignacion(List <BE.Partido> partidos, List <BE.Arbitro> arbitros, BE.Deporte deporte) { BLL.Arbitro logicalArbitro = new BLL.Arbitro(); //Listas Auxiliares// List <BE.Arbitro> arbitroListAux = new List <BE.Arbitro>(arbitros); BLL.TipoArbitro logicalTipoArbitro = new BLL.TipoArbitro(); List <BE.TipoArbitro> tipoArbitros = logicalTipoArbitro.ObtenerTipoArbitros(); Logger.Log.Info("-------COMIENZO DE LA ASIGNACION-------"); //Logger.Log.Info("-------FECHA NUMERO " + Partidoes.PartidodayNumber + "------------------"); Logger.Log.Info("---------------------------------------"); foreach (BE.TipoArbitro tipoArbitro in tipoArbitros) { AsignarArbitros(partidos, arbitroListAux, logicalArbitro, tipoArbitro); } return(partidos); }
/// <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("---------------------------------------"); } } } }