/// <summary> /// Inserta un Calificacion. /// </summary> /// <param name="pCalificacion">Calificacion.</param> /// <param name="pPartido"></param> /// <param name="idArbitro"></param> /// <param name="idTipoArbitro"></param> /// <returns></returns> public ResultadoBd Insertar(BE.Calificacion pCalificacion, BE.Partido pPartido, int idArbitro, int idTipoArbitro) { var pars = new IDbDataParameter[8]; pars[0] = _accesoBaseDeDatos.CrearParametro("@ReglasPuntaje", pCalificacion.ReglasPuntaje); pars[1] = _accesoBaseDeDatos.CrearParametro("@DisciplinaPuntaje", pCalificacion.DisciplinaPuntaje); pars[2] = _accesoBaseDeDatos.CrearParametro("@CondicionFisicaPuntaje", pCalificacion.CondicionFisicaPuntaje); pars[3] = _accesoBaseDeDatos.CrearParametro("@JugadasPuntaje", pCalificacion.JugadasPuntaje); pars[4] = _accesoBaseDeDatos.CrearParametro("@DificultadPartidoPuntaje", pCalificacion.DificultadPartidoPuntaje); pars[5] = _accesoBaseDeDatos.CrearParametro("@IdPartido", pPartido.Id); pars[6] = _accesoBaseDeDatos.CrearParametro("@IdArbitro", idArbitro); pars[7] = _accesoBaseDeDatos.CrearParametro("@IdTipoArbitro", idTipoArbitro); string query = @" INSERT INTO Calificacion (ReglasPuntaje, DisciplinaPuntaje, CondicionFisicaPuntaje, JugadasPuntaje, DificultadPartidoPuntaje) VALUES (@ReglasPuntaje,@DisciplinaPuntaje,@CondicionFisicaPuntaje,@JugadasPuntaje,@DificultadPartidoPuntaje); UPDATE PartidoArbitro SET IdCalificacion = (SELECT max(Id) FROM Calificacion) WHERE IdPartido = @IdPartido AND IdArbitro = @IdArbitro AND IdTipoArbitro = @IdTipoArbitro ; "; ResultadoBd resultadoBd = _accesoBaseDeDatos.Ejecutar(query, pars); if (resultadoBd == ResultadoBd.OK) { return(ResultadoBd.OK); } else { return(ResultadoBd.ERROR); } }
public BE.Partido ObtenerPartidoPorId(int idPartido) { var dtPartido = _accesoBaseDeDatos.Seleccionar(new BE.Partido() { Id = idPartido }, true); if (dtPartido.Rows.Count == 0) { return(null); } var row = dtPartido.Rows[0]; var aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; return(aPartido); }
/// <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); }
public List <BE.Partido> Leer() { var ls = new List <BE.Partido>(); BE.Partido bePartido = new BE.Partido(); var dt = _accesoBaseDeDatos.Seleccionar(new BE.Partido(), false); foreach (DataRow row in dt.Rows) { var aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; ls.Add(aPartido); } return(ls); }
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 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); }
/// <summary> /// Agrega un nuevo Partido al sistema. /// </summary> /// <param name="pPartido">Partido a agregar.</param> /// <returns></returns> public Resultado Agregar(BE.Partido pPartido) { var resultado = _dalManagerPartido.Insertar(pPartido); if (resultado == ResultadoBd.OK) { return(new Resultado(false, "Ok")); } return(new Resultado(false, "No se dio de alta el Partido.")); }
/// <summary> /// Agrega un nuevo Calificacion al sistema. /// </summary> /// <param name="pCalificacion">Calificacion a agregar.</param> /// <param name="pPartido"></param> /// <param name="idArbitro"></param> /// <param name="idTipoArbitro"></param> /// <returns></returns> public Resultado Agregar(BE.Calificacion pCalificacion, BE.Partido pPartido, int idArbitro, int idTipoArbitro) { var resultado = _dalManagerCalificacion.Insertar(pCalificacion, pPartido, idArbitro, idTipoArbitro); if (resultado == ResultadoBd.OK) { return(new Resultado(false, "Ok")); } return(new Resultado(false, "No se dio de alta la calificación.")); }
/// <summary> /// Edita un Partido. /// </summary> /// <param name="pPartido">Partido a editar.</param> /// <returns></returns> public Resultado Editar(BE.Partido pPartido) { ResultadoBd resultado = _dalManagerPartido.Actualizar(pPartido); if (resultado == ResultadoBd.OK) { return(new Resultado(false, "Ok")); } return(new Resultado(false, "No se pudo editar el Partido.")); }
/// <summary> /// Quita un Partido. /// </summary> /// <param name="pPartido">Partido a quitar.</param> /// <returns></returns> public Resultado Quitar(BE.Partido pPartido) { ResultadoBd resultado = _dalManagerPartido.Borrar(pPartido); if (resultado == ResultadoBd.OK) { return(new Resultado(false, "Ok")); } return(new Resultado(false, "No se pudo borrar el Partido.")); }
public BE.Partido ObtenerPartidoPorId(int idPartido) { BLL.Equipo bllEquipo = new BLL.Equipo(); BLL.Fecha bllFecha = new BLL.Fecha(); BE.Partido bePartido = _dalManagerPartido.ObtenerPartidoPorId(idPartido); bePartido.Equipo1 = bllEquipo.ObtnerEquipoPorId(bePartido.Equipo1.Id); bePartido.Equipo2 = bllEquipo.ObtnerEquipoPorId(bePartido.Equipo2.Id); bePartido.FechaDelCampeonato = bllFecha.ObtenerFechaPorId(bePartido.FechaDelCampeonato.Id); return(bePartido); }
public List <BE.Partido> ObtenerPartidosSinCalificacion() { var ls = new List <BE.Partido>(); string query = @" SELECT DISTINCT TOP (10) par.* FROM PartidoArbitro pa, Partido par WHERE pa.IdPartido = par.Id AND pa.IdCalificacion IS NULL and par.Fecha < SYSDATETIME()"; var dt = _accesoBaseDeDatos.Seleccionar(query); if (dt.Rows.Count == 0) { return(null); } int idPartidoAnt = -1; foreach (DataRow row in dt.Rows) { if (idPartidoAnt != Convert.ToInt32(row["Id"])) { var aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; ls.Add(aPartido); } } return(ls); }
public List <BE.Partido> ObtenerPartidosDirigidosUltimos15Dias(int idArbitro) { var ls = new List <BE.Partido>(); var pars = new IDbDataParameter[1]; pars[0] = _accesoBaseDeDatos.CrearParametro("@IdArbitro", idArbitro); string query = @"SELECT p.* FROM PartidoArbitro pa INNER JOIN Partido p ON ( pa.IdPartido = p.Id ) where pa.IdArbitro = @IdArbitro AND 15 > DATEDIFF(DAY, p.Fecha ,getdate()) order by p.Fecha DESC"; var dt = _accesoBaseDeDatos.Seleccionar(query, pars); if (dt.Rows.Count == 0) { return(null); } foreach (DataRow row in dt.Rows) { var aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; ls.Add(aPartido); } return(ls); }
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); }
public List <BE.Partido> ObtenerPartidosPorIdFecha(int idFecha) { var ls = new List <BE.Partido>(); var pars = new IDbDataParameter[1]; pars[0] = _accesoBaseDeDatos.CrearParametro("@IdFecha", idFecha); string query = @" Select * from Partido p where p.IdFecha = @IdFecha"; var dt = _accesoBaseDeDatos.Seleccionar(query, pars); if (dt.Rows.Count == 0) { return(null); } foreach (DataRow row in dt.Rows) { var aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; ls.Add(aPartido); } return(ls); }
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); }
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); }
public List <BE.Partido> ObtenerPartidosConCalificacion() { var ls = new List <BE.Partido>(); string query = @" SELECT DISTINCT par.* , pa.IdCalificacion, ta.Id as 'IdTipoArbitro', ta.Descripcion, cal.ReglasPuntaje, cal.DisciplinaPuntaje, cal.CondicionFisicaPuntaje, cal.JugadasPuntaje ,cal.DificultadPartidoPuntaje FROM PartidoArbitro pa, Partido par, Calificacion cal, TipoArbitro ta WHERE pa.IdPartido = par.Id AND cal.Id= pa.IdCalificacion AND pa.IdTipoArbitro = ta.Id AND pa.IdCalificacion IS NOT NULL"; var dt = _accesoBaseDeDatos.Seleccionar(query); if (dt.Rows.Count == 0) { return(null); } int idPartidoAnt = -1; BE.Partido aPartido = new BE.Partido(); foreach (DataRow row in dt.Rows) { if (idPartidoAnt != Convert.ToInt32(row["Id"])) { aPartido = new BE.Partido { Id = Convert.ToInt32(row["Id"]), FechaDelCampeonato = new BE.Fecha() { Id = Convert.ToInt32(row["IdFecha"]) }, Fecha = Convert.ToDateTime(row["Fecha"].ToString().Trim()), Equipo1 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo1"]) }, Equipo2 = new BE.Equipo() { Id = Convert.ToInt32(row["IdEquipo2"]) }, Prioridad = Convert.ToInt32(row["Prioridad"]), }; BE.Calificacion calificacion = new BE.Calificacion() { Id = Convert.ToInt32(row["IdCalificacion"]), ReglasPuntaje = Convert.ToInt32(row["ReglasPuntaje"]), DisciplinaPuntaje = Convert.ToInt32(row["DisciplinaPuntaje"]), JugadasPuntaje = Convert.ToInt32(row["JugadasPuntaje"]), CondicionFisicaPuntaje = Convert.ToInt32(row["CondicionFisicaPuntaje"]), DificultadPartidoPuntaje = Convert.ToDouble(row["DificultadPartidoPuntaje"]), }; idPartidoAnt = aPartido.Id; aPartido.CalificacionesArbitros.Add(new BE.TipoArbitro() { Id = Convert.ToInt32(row["IdTipoArbitro"]), Descripcion = row["Descripcion"].ToString().Trim(), }, calificacion); } else { BE.Calificacion calificacion = new BE.Calificacion() { Id = Convert.ToInt32(row["IdCalificacion"]), ReglasPuntaje = Convert.ToInt32(row["ReglasPuntaje"]), DisciplinaPuntaje = Convert.ToInt32(row["DisciplinaPuntaje"]), JugadasPuntaje = Convert.ToInt32(row["JugadasPuntaje"]), CondicionFisicaPuntaje = Convert.ToInt32(row["CondicionFisicaPuntaje"]), DificultadPartidoPuntaje = Convert.ToDouble(row["DificultadPartidoPuntaje"]), }; aPartido.CalificacionesArbitros.Add(new BE.TipoArbitro() { Id = Convert.ToInt32(row["IdTipoArbitro"]), Descripcion = row["Descripcion"].ToString().Trim(), }, calificacion); ls.Add(aPartido); } } return(ls); }
/// <summary> /// Inserta un Partido. /// </summary> /// <param name="pPartido">Partido.</param> /// <returns></returns> public ResultadoBd Insertar(BE.Partido pPartido) { return(_accesoBaseDeDatos.Insertar(pPartido)); }
/// <summary> /// Actualiza un Partido. /// </summary> /// <param name="pPartido">Partido.</param> /// <returns></returns> public ResultadoBd Actualizar(BE.Partido pPartido) { return(_accesoBaseDeDatos.Actualizar(pPartido)); }
/// <summary> /// Borra un Partido. /// </summary> /// <param name="pPartido">Partido.</param> /// <returns></returns> public ResultadoBd Borrar(BE.Partido pPartido) { return(_accesoBaseDeDatos.Borrar(pPartido)); }
private static void AddMatchesToWorksheet(IXLWorksheet worksheet, int actualRowNumber, int cont, BE.Partido partido) { var actualLetter = 'A'; worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = cont; FormatNumberCell(worksheet, actualLetter.ToString() + actualRowNumber); actualLetter = GetNextLetter(actualLetter); worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.Equipo1.Nombre; FormatTeamCell(worksheet, actualLetter.ToString() + actualRowNumber); actualLetter = GetNextLetter(actualLetter); worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.Equipo2.Nombre; FormatTeamCell(worksheet, actualLetter.ToString() + actualRowNumber); actualLetter = GetNextLetter(actualLetter); // worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.Principal.NombreCompleto; worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.ArbitrosYTipos.FirstOrDefault(x => ((BE.TipoArbitro)x.Value).Descripcion == "Principal").Key.ObtenerNombreCompleto(); FormatRefereeCell(worksheet, actualLetter.ToString() + actualRowNumber); actualLetter = GetNextLetter(actualLetter); //worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.Asistente.NombreCompleto; worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = partido.ArbitrosYTipos.FirstOrDefault(x => ((BE.TipoArbitro)x.Value).Descripcion == "Asistente").Key.ObtenerNombreCompleto(); FormatRefereeCell(worksheet, actualLetter.ToString() + actualRowNumber); //actualLetter = GetNextLetter(actualLetter); //worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = "PASANTE"; //FormatRefereeCell(worksheet, actualLetter.ToString() + actualRowNumber); //actualLetter = GetNextLetter(actualLetter); //worksheet.Cell(actualLetter.ToString() + actualRowNumber).Value = ""; //FormatRefereeCell(worksheet, actualLetter.ToString() + actualRowNumber); }