示例#1
0
 private bool DirigidoLosUltimos15Dias(BE.Partido partido, BE.Arbitro arbitro)
 {
     if (arbitro.UltimosPartidosDirigidos != null)
     {
         foreach (var partidoViejo in arbitro.UltimosPartidosDirigidos)
         {
             if (partidoViejo.Equipo1.Equals(partido.Equipo1))
             {
                 Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo1.Nombre + " en los últimos 15 días.");
                 Logger.Log.Info("---------------------------------------");
                 return(true);
             }
             if (partidoViejo.Equipo1.Equals(partido.Equipo2))
             {
                 Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo2.Nombre + " en los últimos 15 días.");
                 Logger.Log.Info("---------------------------------------");
                 return(true);
             }
             if (partidoViejo.Equipo2.Equals(partido.Equipo1))
             {
                 Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo1.Nombre + " en los últimos 15 dias.");
                 Logger.Log.Info("---------------------------------------");
                 return(true);
             }
             if (partidoViejo.Equipo2.Equals(partido.Equipo2))
             {
                 Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo2.Nombre + " en los últimos 15 dias.");
                 Logger.Log.Info("---------------------------------------");
                 return(true);
             }
         }
     }
     return(false);
 }
        /// <summary>
        /// Updates the last fifty days refered.
        /// </summary>
        /// <param name="arbitro">The Arbitro.</param>
        /// <param name="partido">The Partido.</param>
        private void ActualizarUltimosPartidosDirigidos(BE.Arbitro arbitro, BE.Partido partido)
        {
            bool     dropPartido = true;
            TimeSpan ts;

            while (dropPartido && arbitro.UltimosPartidosDirigidos != null)
            {
                if (arbitro.UltimosPartidosDirigidos.Count != 0)
                {
                    BE.Partido oldPartido = arbitro.UltimosPartidosDirigidos.Peek();
                    ts = partido.Fecha - oldPartido.Fecha;
                    if ((ts.Days < 15) || (oldPartido == null))
                    {
                        dropPartido = false;
                    }
                    else
                    {
                        arbitro.UltimosPartidosDirigidos.Dequeue();
                    }
                }
                else
                {
                    dropPartido = false;
                }
            }
            arbitro.UltimosPartidosDirigidos.Enqueue(partido);
        }
示例#3
0
        public BE.Arbitro ObtnerArbitroPorId(int idArbitro)
        {
            BE.Arbitro beArbitro = _dalManagerArbitro.ObtenerArbitroPorId(idArbitro);

            beArbitro.Deporte = _bllDeporte.ObtnerDeportePorId(beArbitro.Deporte.Id);

            return(beArbitro);
        }
示例#4
0
        private Resultado ValidarExamenFisico(BE.Arbitro arbitro)
        {
            if (arbitro.ExamenFisicoAprobado == true)
            {
                return(new Resultado(false, "Examen Físico aprobado."));
            }

            return(new Resultado(true, "El árbitro no se puede dar de alta/modificar, no posee examén físico aprobado."));
        }
示例#5
0
        private Resultado ValidarTituloValidoDeArgentina(BE.Arbitro arbitro)
        {
            if (arbitro.PoseeTituloValidoArgentina == true)
            {
                return(new Resultado(false, "Posee titulo válido para Argentina."));
            }

            return(new Resultado(true, "El árbitro no se puede dar de alta/modificar, no posee titulo válido para Argentina."));
        }
 /// <summary>
 /// Updates the last Arbitrod teams.
 /// </summary>
 /// <param name="arbitro">The Arbitro.</param>
 /// <param name="partido">The Partido.</param>
 private void ActualizarUltimosEquiposDirigidos(BE.Arbitro arbitro, BE.Partido partido)
 {
     if (arbitro.UltimosEquiposDirigidos.Count == 4)
     {
         arbitro.UltimosEquiposDirigidos.Dequeue();
         arbitro.UltimosEquiposDirigidos.Dequeue();
     }
     arbitro.UltimosEquiposDirigidos.Enqueue(partido.Equipo1);
     arbitro.UltimosEquiposDirigidos.Enqueue(partido.Equipo2);
 }
        public ResultadoBd Borrar(BE.Arbitro pArbitro, BE.Arbitro pArbitroAnt, int idBitacora)
        {
            ResultadoBd resultado = _accesoBaseDeDatos.Borrar(pArbitro);

            if (resultado == ResultadoBd.OK)
            {
                resultado = InsertarAuditoria(pArbitroAnt, idBitacora);
            }
            return(resultado);
        }
        public List <BE.Arbitro> ObtenerArbitrosConNivel()
        {
            var ls = new List <BE.Arbitro>();
            //var pars = new IDbDataParameter[1];
            //pars[0] = _accesoBaseDeDatos.CrearParametro("@IdPartido", idPartido);

            string query = @"  SELECT a.*
                                FROM Arbitro a 
                                where a.IdNivel != 0";

            var dt = _accesoBaseDeDatos.Seleccionar(query, null);

            if (dt.Rows.Count == 0)
            {
                return(null);
            }

            foreach (DataRow row in dt.Rows)
            {
                var aArbitro = new BE.Arbitro
                {
                    Id       = Convert.ToInt32(row["Id"]),
                    Nombre   = row["Nombre"].ToString().Trim(),
                    Apellido = row["Apellido"].ToString().Trim(),
                    Deporte  = new BE.Deporte()
                    {
                        Id = Convert.ToInt32(row["IdDeporte"])
                    },
                    Habilitado      = Convert.ToBoolean(row["Habilitado"].ToString().Trim()),
                    FechaNacimiento = Convert.ToDateTime(row["FechaNacimiento"].ToString().Trim()),
                    Genero          = new BE.Genero()
                    {
                        Id = Convert.ToInt32(row["IdGenero"])
                    },
                    DNI     = row["Dni"].ToString().Trim(),
                    Ranking = Convert.ToInt32(row["Id"]),
                    NotaAFA = int.Parse(row["NotaAFA"].ToString()),
                    PoseeTituloValidoArgentina = row["PoseeTituloValidoArgentina"].ToString() == "1" ? true : false,
                    PoseeLicenciaInternacional = row["PoseeLicenciaInternacional"].ToString() == "1" ? true : false,
                    ExamenFisicoAprobado       = row["ExamenFisicoAprobado"].ToString() == "1" ? true : false,
                    ExamenTeoricoAprobado      = row["ExamenTeoricoAprobado"].ToString() == "1" ? true : false,
                    Nivel = new BE.Nivel()
                    {
                        Id = Convert.ToInt32(row["IdNivel"])
                    },
                    UltimosEquiposDirigidos  = new Queue <BE.Equipo>(),
                    UltimosPartidosDirigidos = new Queue <BE.Partido>()
                };

                ls.Add(aArbitro);
            }

            return(ls);
        }
        public List <BE.Arbitro> Leer()
        {
            var ls = new List <BE.Arbitro>();

            BE.Arbitro beArbitro = new BE.Arbitro();

            var dt = _accesoBaseDeDatos.Seleccionar(new BE.Arbitro(), false);

            foreach (DataRow row in dt.Rows)
            {
                var aArbitro = new BE.Arbitro
                {
                    Id       = Convert.ToInt32(row["Id"]),
                    Nombre   = row["Nombre"].ToString().Trim(),
                    Apellido = row["Apellido"].ToString().Trim(),
                    Deporte  = new BE.Deporte()
                    {
                        Id = Convert.ToInt32(row["IdDeporte"])
                    },
                    Habilitado      = row["Habilitado"].ToString() == "True" ? true : false,
                    FechaNacimiento = Convert.ToDateTime(row["FechaNacimiento"].ToString().Trim()),
                    Genero          = new BE.Genero()
                    {
                        Id = Convert.ToInt32(row["IdGenero"])
                    },
                    DNI                        = row["Dni"].ToString().Trim(),
                    Ranking                    = int.Parse(row["Ranking"].ToString()),
                    AniosExperiencia           = int.Parse(row["AniosExperiencia"].ToString()),
                    NotaAFA                    = int.Parse(row["NotaAFA"].ToString()),
                    PoseeTituloValidoArgentina = row["PoseeTituloValidoArgentina"].ToString() == "True" ? true : false,
                    PoseeLicenciaInternacional = row["PoseeLicenciaInternacional"].ToString() == "True" ? true : false,
                    ExamenFisicoAprobado       = row["ExamenFisicoAprobado"].ToString() == "True" ? true : false,
                    ExamenTeoricoAprobado      = row["ExamenTeoricoAprobado"].ToString() == "True" ? true : false,
                    UltimosEquiposDirigidos    = new Queue <BE.Equipo>(),
                    UltimosPartidosDirigidos   = new Queue <BE.Partido>()
                };

                if (string.IsNullOrEmpty(row["IdNivel"].ToString()))
                {
                    aArbitro.Nivel = null;
                }
                else
                {
                    aArbitro.Nivel = new BE.Nivel()
                    {
                        Id = Convert.ToInt32(row["IdNivel"])
                    };
                }

                ls.Add(aArbitro);
            }

            return(ls);
        }
 public int CompareTo(BE.Arbitro otroArbitro)
 {
     if (this.Ranking > otroArbitro.Ranking)
     {
         return(1);
     }
     else
     {
         return(-1);
     }
 }
        public BE.Arbitro ObtenerArbitroPorId(int idArbitro)
        {
            var dtArbitro = _accesoBaseDeDatos.Seleccionar(string.Format("SELECT * FROM ARBITRO WHERE ID = {0}", idArbitro), null);

            if (dtArbitro.Rows.Count == 0)
            {
                return(null);
            }

            var row      = dtArbitro.Rows[0];
            var aArbitro = new BE.Arbitro
            {
                Id       = Convert.ToInt32(row["Id"]),
                Nombre   = row["Nombre"].ToString().Trim(),
                Apellido = row["Apellido"].ToString().Trim(),
                Deporte  = new BE.Deporte()
                {
                    Id = Convert.ToInt32(row["IdDeporte"])
                },
                Habilitado      = Convert.ToBoolean(row["Habilitado"].ToString().Trim()),
                FechaNacimiento = Convert.ToDateTime(row["FechaNacimiento"].ToString().Trim()),
                Genero          = new BE.Genero()
                {
                    Id = Convert.ToInt32(row["IdGenero"])
                },
                DNI                        = row["Dni"].ToString().Trim(),
                Ranking                    = int.Parse(row["Ranking"].ToString()),
                AniosExperiencia           = int.Parse(row["AniosExperiencia"].ToString()),
                NotaAFA                    = int.Parse(row["NotaAFA"].ToString()),
                PoseeTituloValidoArgentina = row["PoseeTituloValidoArgentina"].ToString() == "1" ? true : false,
                PoseeLicenciaInternacional = row["PoseeLicenciaInternacional"].ToString() == "1" ? true : false,
                ExamenFisicoAprobado       = row["ExamenFisicoAprobado"].ToString() == "1" ? true : false,
                ExamenTeoricoAprobado      = row["ExamenTeoricoAprobado"].ToString() == "1" ? true : false,
                UltimosEquiposDirigidos    = new Queue <BE.Equipo>(),
                UltimosPartidosDirigidos   = new Queue <BE.Partido>()
            };

            if (string.IsNullOrEmpty(row["IdNivel"].ToString()))
            {
                aArbitro.Nivel = null;
            }
            else
            {
                aArbitro.Nivel = new BE.Nivel()
                {
                    Id = Convert.ToInt32(row["IdNivel"])
                };
            }

            return(aArbitro);
        }
        public List <BE.Arbitro> AsignarNiveles(List <BE.Arbitro> arbitrosSinNivel)
        {
            try
            {
                ResultadoBd       rdb        = ResultadoBd.ERROR;
                Arbitro           arbitroDal = new Arbitro();
                BE.Arbitro        arbitroAnt;
                DAL.Bitacora      bitacora       = new Bitacora();
                List <BE.Arbitro> lstActualizada = new List <BE.Arbitro>();

                foreach (BE.Arbitro arbitro in arbitrosSinNivel)
                {
                    arbitroAnt = new BE.Arbitro()
                    {
                        AniosExperiencia = arbitro.AniosExperiencia,
                        Apellido         = arbitro.Apellido,
                        Deporte          = arbitro.Deporte,
                        DNI                   = arbitro.DNI,
                        Habilitado            = arbitro.Habilitado,
                        ExamenFisicoAprobado  = arbitro.ExamenFisicoAprobado,
                        ExamenTeoricoAprobado = arbitro.ExamenTeoricoAprobado,
                        FechaNacimiento       = arbitro.FechaNacimiento,
                        Genero                = arbitro.Genero,
                        Id = arbitro.Id,
                        PoseeLicenciaInternacional = arbitro.PoseeLicenciaInternacional,
                        Nivel = arbitro.Nivel ?? new BE.Nivel()
                        {
                            Id = 0
                        },
                        Nombre  = arbitro.Nombre,
                        NotaAFA = arbitro.NotaAFA,
                        Ranking = arbitro.Ranking,
                        PoseeTituloValidoArgentina = arbitro.PoseeTituloValidoArgentina,
                        UltimosEquiposDirigidos    = arbitro.UltimosEquiposDirigidos,
                        UltimosPartidosDirigidos   = arbitro.UltimosPartidosDirigidos
                    };
                    arbitro.Nivel = ObtenerNivel(arbitro);
                    lstActualizada.Add(arbitro);
                    rdb = arbitroDal.Actualizar(arbitro, arbitroAnt, bitacora.ObtenerMaxId());
                }

                return(lstActualizada);
            }
            catch (Exception e)
            {
                Logger.Log.Error("Error en AsignarNiveles. Error: " + e.Message);
                return(null);
            }
        }
示例#13
0
        private Resultado ValidarMayoriaDeEdad(BE.Arbitro arbitro)
        {
            DateTime now = DateTime.Today;
            int      age = now.Year - arbitro.FechaNacimiento.Year;

            if (arbitro.FechaNacimiento > now.AddYears(-age))
            {
                age--;
            }
            if (age >= 18)
            {
                return(new Resultado(false, "Es mayor de 18 años."));
            }

            return(new Resultado(true, "El árbitro no se puede dar de alta/modificar, no posee mayoría de edad."));
        }
示例#14
0
        /// <summary>
        /// Quita un Arbitro.
        /// </summary>
        /// <param name="pArbitro">Arbitro a quitar.</param>
        /// <returns></returns>
        public Resultado Quitar(BE.Arbitro pArbitro)
        {
            _bllBitacora.GrabarBitacora(ManejadorSesion.Instancia.ObtenerSesion().Usuario, "Baja de Árbitro", new BE.TipoEvento()
            {
                Id = 6, Descripcion = "Baja"
            });

            ResultadoBd resultado = _dalManagerArbitro.Borrar(pArbitro, _dalManagerArbitro.ObtenerArbitroPorId(pArbitro.Id), _bllBitacora.ObtenerBitacoraMaxId());

            if (resultado == ResultadoBd.OK)
            {
                return(new Resultado(false, "Ok"));
            }


            return(new Resultado(false, "No se pudo borrar el Arbitro."));
        }
示例#15
0
        public bool PuedeDirigir(BE.Arbitro arbitro, BE.Partido partido, BE.TipoArbitro tipoArbitro)
        {
            BLL.NivelRegla levelRule = new NivelRegla();

            if (this.EquipoDirigido(partido, arbitro))
            {
                return(false);
            }
            if (this.DirigidoLosUltimos15Dias(partido, arbitro))
            {
                return(false);
            }
            if (levelRule.PuedeDirigirPartidoComoTipoArbitro(arbitro, partido, tipoArbitro))
            {
                return(true);
            }
            return(true);
        }
示例#16
0
 private bool EquipoDirigido(BE.Partido partido, BE.Arbitro arbitro)
 {
     foreach (var team in arbitro.UltimosEquiposDirigidos)
     {
         if (partido.Equipo1.Equals(team))
         {
             Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo1.Nombre + " equipo en la última fecha.");
             Logger.Log.Info("---------------------------------------");
             return(true);
         }
         if (partido.Equipo2.Equals(team))
         {
             Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " dirigió a " + partido.Equipo2.Nombre + " equipo en la última fecha.");
             Logger.Log.Info("---------------------------------------");
             return(true);
         }
     }
     return(false);
 }
示例#17
0
 public bool PuedeDirigirPartidoComoTipoArbitro(BE.Arbitro arbitro, BE.Partido partido, BE.TipoArbitro tipoDeArbitroAAsignar)
 {
     foreach (BE.NivelRegla aLevelRule in arbitro.Nivel.ReglasDeNivel)
     {
         if (partido.Equipo1.Categoria.Equals(aLevelRule.Categoria))
         {
             if (tipoDeArbitroAAsignar.Equals(aLevelRule.TipoArbitro))
             {
                 return(true);
             }
             else
             {
                 Logger.Log.Info("Resultado: Fallido Razon: Arbitro " + arbitro.Apellido + " no puede ser " + tipoDeArbitroAAsignar.Descripcion + " de este partido.");
                 Logger.Log.Info("Nivel del árbitro: " + arbitro.Nivel.NombreNivel + " - Categoría del partido: " + partido.Equipo1.Categoria.Descripcion);
                 Logger.Log.Info("---------------------------------------");
             }
         }
     }
     return(false);
 }
示例#18
0
        /// <summary>
        /// Edita un Arbitro.
        /// </summary>
        /// <param name="pArbitro">Arbitro a editar.</param>
        /// <returns></returns>
        public Resultado Editar(BE.Arbitro pArbitro)
        {
            Resultado result = CorrerValidaciones(pArbitro);

            if (!result.HayError)
            {
                _bllBitacora.GrabarBitacora(ManejadorSesion.Instancia.ObtenerSesion().Usuario, "Modificación de Árbitro", new BE.TipoEvento()
                {
                    Id = 7, Descripcion = "Modificación"
                });

                ResultadoBd resultado = _dalManagerArbitro.Actualizar(pArbitro, _dalManagerArbitro.ObtenerArbitroPorId(pArbitro.Id), _bllBitacora.ObtenerBitacoraMaxId());

                if (resultado == ResultadoBd.OK)
                {
                    return(new Resultado(false, "Ok"));
                }
            }

            return(new Resultado(true, result.Descripcion));
        }
示例#19
0
        public Resultado CorrerValidaciones(BE.Arbitro arbitro)
        {
            Resultado resultado = ValidarMayoriaDeEdad(arbitro);

            if (resultado.HayError)
            {
                return(resultado);
            }

            resultado = ValidarTituloValidoDeArgentina(arbitro);
            if (resultado.HayError)
            {
                return(resultado);
            }
            resultado = ValidarExamenTeorico(arbitro);
            if (resultado.HayError)
            {
                return(resultado);
            }
            resultado = ValidarExamenFisico(arbitro);

            return(resultado);
        }
        private ResultadoBd InsertarAuditoria(BE.Arbitro pArbitro, int idBitacora)
        {
            ArbitroAud arbitroAud = new ArbitroAud()
            {
                //IdArbitro = pArbitro.Id,
                Nombre           = pArbitro.Nombre,
                Apellido         = pArbitro.Apellido,
                Habilitado       = pArbitro.Habilitado,
                FechaNacimiento  = pArbitro.FechaNacimiento,
                Genero           = pArbitro.Genero,
                DNI              = pArbitro.DNI,
                Deporte          = pArbitro.Deporte,
                Nivel            = pArbitro.Nivel,
                Ranking          = pArbitro.Ranking,
                AniosExperiencia = pArbitro.AniosExperiencia,
                NotaAFA          = pArbitro.NotaAFA,
                //IdBitacora = idBitacora,
                Bitacora = new BE.Bitacora()
                {
                    Id = idBitacora
                },
                PoseeTituloValidoArgentina = pArbitro.PoseeTituloValidoArgentina,
                PoseeLicenciaInternacional = pArbitro.PoseeLicenciaInternacional,
                ExamenFisicoAprobado       = pArbitro.ExamenFisicoAprobado,
                ExamenTeoricoAprobado      = pArbitro.ExamenTeoricoAprobado
            };
            string query = string.Empty;

            if (arbitroAud.Nivel != null)
            {
                query = string.Format(@"INSERT INTO ARBITROAUD([Nombre],[Apellido],[FechaNacimiento],[IdGenero],[Dni],[Ranking],[AniosExperiencia],[NotaAFA],[IdNivel],[IdDeporte],[Habilitado],[IdArbitro],[IdBitacora],
                            [PoseeTituloValidoArgentina],[PoseeLicenciaInternacional],[ExamenFisicoAprobado],[ExamenTeoricoAprobado]) 
                            VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}', '{16}')",
                                      arbitroAud.Nombre,
                                      arbitroAud.Apellido,
                                      arbitroAud.FechaNacimiento.ToString("yyyy-MM-dd"),
                                      arbitroAud.Genero.Id,
                                      arbitroAud.DNI,
                                      arbitroAud.Ranking,
                                      arbitroAud.AniosExperiencia,
                                      arbitroAud.NotaAFA,
                                      arbitroAud.Nivel.Id,
                                      arbitroAud.Deporte.Id,
                                      arbitroAud.Habilitado == true ? 1 : 0,
                                      arbitroAud.Id,
                                      //arbitroAud.IdBitacora,
                                      arbitroAud.Bitacora.Id,
                                      arbitroAud.PoseeTituloValidoArgentina == true ? 1 : 0,
                                      arbitroAud.PoseeLicenciaInternacional == true ? 1 : 0,
                                      arbitroAud.ExamenFisicoAprobado == true ? 1 : 0,
                                      arbitroAud.ExamenTeoricoAprobado == true ? 1 : 0
                                      );
            }
            else
            {
                query = string.Format(@"INSERT INTO ARBITROAUD([Nombre],[Apellido],[FechaNacimiento],[IdGenero],[Dni],[Ranking],[AniosExperiencia],[NotaAFA],[IdDeporte],[Habilitado],[IdArbitro],[IdBitacora],
                           [PoseeTituloValidoArgentina],[PoseeLicenciaInternacional],[ExamenFisicoAprobado],[ExamenTeoricoAprobado]) 
                            VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}')",
                                      arbitroAud.Nombre,
                                      arbitroAud.Apellido,
                                      arbitroAud.FechaNacimiento.ToString("yyyy-MM-dd"),
                                      arbitroAud.Genero.Id,
                                      arbitroAud.DNI,
                                      arbitroAud.Ranking,
                                      arbitroAud.AniosExperiencia,
                                      arbitroAud.NotaAFA,
                                      arbitroAud.Deporte.Id,
                                      arbitroAud.Habilitado == true ? 1 : 0,
                                      arbitroAud.Id,
                                      //arbitroAud.IdBitacora,
                                      arbitroAud.Bitacora.Id,
                                      arbitroAud.PoseeTituloValidoArgentina == true ? 1 : 0,
                                      arbitroAud.PoseeLicenciaInternacional == true ? 1 : 0,
                                      arbitroAud.ExamenFisicoAprobado == true ? 1 : 0,
                                      arbitroAud.ExamenTeoricoAprobado == true ? 1 : 0
                                      );
            }


            return(_accesoBaseDeDatos.Ejecutar(query.Trim(), null));
        }
        public BE.Nivel ObtenerNivel(BE.Arbitro arbitro)
        {
            Logger.Log.Info("*********** Definición de nivel de árbitro: " + arbitro.NombreCompleto + " ***********");

            if (arbitro.AniosExperiencia >= 6 &&
                arbitro.NotaAFA >= 9 &&
                arbitro.PoseeLicenciaInternacional == true)
            {
                Logger.Log.Info("Nivel 1. Condiciones: 6 años o más de experiencia, 9 o más en la nota del examen de AFA y posee licencia internacional FIFA");
                Logger.Log.Info("Caracteristicas del árbitro:");
                Logger.Log.Info("Años de experiencia: " + arbitro.AniosExperiencia);
                Logger.Log.Info("Nota del examen de AFA: " + arbitro.NotaAFA);
                Logger.Log.Info("¿Posee licencia internacional FIFA?: " + "Si");
                Logger.Log.Info("********************************************************");

                return(new BE.Nivel()
                {
                    Id = 1, NombreNivel = "Nivel 1", Deporte = new BE.Deporte()
                    {
                        Id = 1
                    }
                });
            }

            if (arbitro.AniosExperiencia >= 4 &&
                arbitro.NotaAFA >= 8 &&
                arbitro.PoseeLicenciaInternacional == true)
            {
                Logger.Log.Info("Nivel 2. Condiciones: 4 años o más de experiencia, 8 o más en la nota del examen de AFA y posee licencia internacional FIFA");
                Logger.Log.Info("Caracteristicas del árbitro:");
                Logger.Log.Info("Años de experiencia: " + arbitro.AniosExperiencia);
                Logger.Log.Info("Nota del examen de AFA: " + arbitro.NotaAFA);
                Logger.Log.Info("¿Posee licencia internacional FIFA?: " + "Si");
                Logger.Log.Info("********************************************************");

                return(new BE.Nivel()
                {
                    Id = 2, NombreNivel = "Nivel 2", Deporte = new BE.Deporte()
                    {
                        Id = 1
                    }
                });
            }

            if (arbitro.AniosExperiencia >= 2 &&
                arbitro.NotaAFA >= 6)
            {
                Logger.Log.Info("Nivel 3. Condiciones: 2 años o más de experiencia y 6 o más en la nota del examen de AFA.");
                Logger.Log.Info("Caracteristicas del árbitro:");
                Logger.Log.Info("Años de experiencia: " + arbitro.AniosExperiencia);
                Logger.Log.Info("Nota del examen de AFA: " + arbitro.NotaAFA);
                Logger.Log.Info("********************************************************");

                return(new BE.Nivel()
                {
                    Id = 3, NombreNivel = "Nivel 3", Deporte = new BE.Deporte()
                    {
                        Id = 1
                    }
                });
            }

            if (arbitro.AniosExperiencia >= 1 &&
                arbitro.NotaAFA >= 5)
            {
                Logger.Log.Info("Nivel 4. Condiciones: 1 año o más de experiencia y 5 o más en la nota del examen de AFA.");
                Logger.Log.Info("Caracteristicas del árbitro:");
                Logger.Log.Info("Años de experiencia: " + arbitro.AniosExperiencia);
                Logger.Log.Info("Nota del examen de AFA: " + arbitro.NotaAFA);
                Logger.Log.Info("********************************************************");

                return(new BE.Nivel()
                {
                    Id = 4, NombreNivel = "Nivel 4", Deporte = new BE.Deporte()
                    {
                        Id = 1
                    }
                });
            }

            Logger.Log.Info("Nivel 5. No cumple las condiciones para mayor nivel.");
            Logger.Log.Info("Caracteristicas del árbitro:");
            Logger.Log.Info("Años de experiencia: " + arbitro.AniosExperiencia);
            Logger.Log.Info("Nota del examen de AFA: " + arbitro.NotaAFA);

            Logger.Log.Info("********************************************************");

            return(new BE.Nivel()
            {
                Id = 5, NombreNivel = "Nivel 5", Deporte = new BE.Deporte()
                {
                    Id = 1
                }
            });
        }