예제 #1
0
    private void dEliminarEncuentro_Decidir(object sender, EventArgs e)
    {
        //El Usuario eligio afirmativamente?
        if (dEliminarEncuentro.Decision)
        {
            try
            {
                if (Encuentro.Eliminar((int)gvEncuentro.SelectedDataKey.Value))
                {
                    //Actualizar la lista de los Encuentros
                    Encuentro.Preparar(int.Parse(ddlCampeonato.SelectedValue),
                                       int.Parse(ddlFase.SelectedValue),
                                       int.Parse(ddlGrupo.SelectedValue),
                                       gvEncuentro);

                    Utilidades.Mensaje("El Encuentro fue eliminado");
                    MostrarPanel(0);
                }
            }
            catch (Exception ex)
            {
                Utilidades.Mensaje(ex.Message);
            }
        }
        else
        {
            MostrarPanel(0);
        }
    }
예제 #2
0
    protected void btnAceptarEncuentro_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            //Verificar si pudo actualizar el registro
            if (Encuentro.Guardar(ddlCampeonato,
                                  ddlFase,
                                  ddlPais1,
                                  txtGoles1,
                                  ddlPais2,
                                  txtGoles2,
                                  ddlEstadio,
                                  dpFecha))
            {
                //Retornar a la lista
                MostrarPanel(0);
                //Actualizar la lista de los Encuentros
                Encuentro.Preparar(int.Parse(ddlCampeonato.SelectedValue),
                                   int.Parse(ddlFase.SelectedValue),
                                   int.Parse(ddlGrupo.SelectedValue),
                                   gvEncuentro);

                //Mensaje que confirma la operación
                Utilidades.Mensaje("La información del Encuentro fue actualizada");
            }
            else
            {
                Utilidades.Mensaje("No se pudo actualizar la información del Encuentro");
            }
        }
        catch (Exception ex)
        {
            Utilidades.Mensaje(ex.Message);
        }
    }
예제 #3
0
 protected void gvEncuentro_PageIndexChanging(object sender, GridViewPageEventArgs e)
 {
     Utilidades.CambiarPagina(gvEncuentro, e.NewPageIndex,
                              Encuentro.Obtener(int.Parse(ddlCampeonato.SelectedValue),
                                                int.Parse(ddlFase.SelectedValue),
                                                int.Parse(ddlGrupo.SelectedValue)));
 }
예제 #4
0
 private EncuentroModel CreateEncuentroModelElement(Encuentro element, bool createNew = false)
 {
     if (element != null)
     {
         return(new EncuentroModel()
         {
             Fecha = element.Fecha,
             FechaAlta = element.FechaAlta,
             Id = element.Id,
             IdLocal = element.IdLocal,
             IdVisitante = element.IdVisitante,
             NombreLocal = element.Equipo.Nombre,
             NombreVisitante = element.Equipo1.Nombre
         });
     }
     else
     {
         if (createNew)
         {
             return(new EncuentroModel());
         }
         else
         {
             return(null);
         }
     }
 }
예제 #5
0
        public ActionResult ObtenerApuesta(int id)
        {
            ApuestaModel variModel = new ApuestaModel();
            Apuesta apuesta = variModel.obtenerApuesta(id);
            
            EncuentroModel encModel = new EncuentroModel();
            Encuentro encuentro = encModel.obtenerEncuentro(apuesta.encuentro);
            ViewData["local"] = encuentro.local;
            ViewData["visita"] = encuentro.visitante;
            ViewData["mlocal"] = encuentro.marcador_local;
            ViewData["mvisita"] = encuentro.marcador_visitante;
            encuentro.actualizarEstado();
            ViewData["estado"] = encuentro.estado;

            //calcular la ganancia
            if (apuesta.eleccion.Equals("Local"))
                apuesta.calcularGanacia(encuentro.probabilidad_local);
            else if (apuesta.eleccion.Equals("Empate"))
                apuesta.calcularGanacia(encuentro.probabilidad_empate);
            else
                apuesta.calcularGanacia(encuentro.probabilidad_visita);

            ModelState.Clear();

            return View(apuesta);
        }
예제 #6
0
        public ActionResult ActualizarEncuentro(Encuentro encuentro)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    EncuentroModel model = new EncuentroModel();

                    encuentro.actualizarJugado();

                    if (model.actualizarEncuentro(encuentro))
                    {
                        TempData["success"] = "true";
                        TempData["msj"]     = "Encuentro actualizado correctamente.";
                        return(RedirectToAction("ListarEncuentrosAdmin"));
                    }
                    else
                    {
                        TempData["success"] = "false";
                        TempData["msj"]     = "Ocurrio un error al intentar actualizar el registro. Pongase en contacto con soporte tecnico.";
                    }
                }
                return(View());
            }
            catch
            {
                TempData["success"] = "false";
                TempData["msj"]     = "Ocurrio un error al intentar actualizar el registro. Pongase en contacto con soporte tecnico.";
                return(View());
            }
        }
        public IActionResult GetEncuentrosPorParticipante(Guid id)
        {
            IEnumerable <Encuentro> encuentros = _encuentrosService.ObtenerEncuentrosPorParticipante(id);

            if (encuentros == null)
            {
                return(NotFound());
            }
            List <Encuentro> encuentrosActualizados = new List <Encuentro>();

            foreach (Encuentro encuentro in encuentros)
            {
                Encuentro e = encuentro;
                foreach (var pe in e.ParticipanteEncuentro)
                {
                    pe.Participante = _participantesService.ObtenerParticipantePorId(pe.ParticipanteId);
                    if (pe.Participante.Id.Equals(id))
                    {
                        encuentrosActualizados.Add(e);
                    }
                }
            }
            List <MostrarEncuentro> enceuntromodel = new List <MostrarEncuentro>();

            foreach (Encuentro item in encuentrosActualizados)
            {
                enceuntromodel.Add(new MostrarEncuentro(item));
            }
            return(Ok(enceuntromodel));
        }
예제 #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //Definir subprograma para el evento cuando se decida la eliminacion
        dEliminarEncuentro.Decidir += new EventHandler(dEliminarEncuentro_Decidir);

        //Verificar si el Usuario ha ingresado
        if (Session["SesionIniciada"] == null || !(Boolean)Session["SesionIniciada"])
        {
            Response.Redirect("frmAcceso.aspx");
        }
        else
        {
            //Verificar si es la primera vez que se carga la página
            if (!IsPostBack)
            {
                //Consultar los Encuentros
                try
                {
                    Encuentro.Preparar(ddlCampeonato, ddlFase);
                    MostrarPanel(0);
                }
                catch (Exception ex)
                {
                    Utilidades.Mensaje("Error grave:\n" + ex.Message);
                    MostrarPanel(-1);
                }
            }
        }
    }
예제 #9
0
        private void btnEliminarEncuentro_Click(object sender, EventArgs e)
        {
            Encuentro enc = encuentros[encuentrosTable.CurrentCell.RowIndex];

            Controladores.pEncuentro.Delete(enc);
            generarTabla();
        }
예제 #10
0
        public void ObtenerEncuentroPorIdOkTest()
        {
            //Arrange
            var fakeEncuentro = TestHelper.ObtenerEncuentroFalso();
            var fakeId        = fakeEncuentro.Id;

            var mockEncuentrosRepository    = new Mock <IEncuentrosRepository>();
            var mockParticipantesRepository = new Mock <IParticipantesRepository>();
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockEncuentrosRepository
            .Setup(r => r.ObtenerEncuentroPorId(fakeId))
            .Returns(fakeEncuentro);
            mockParticipantesRepository
            .Setup(r => r.ObtenerParticipantePorId(fakeEncuentro.ParticipanteEncuentro.ToList()[0].ParticipanteId))
            .Returns(fakeEncuentro.ParticipanteEncuentro.ToList()[0].Participante);

            var businessLogic = new EncuentrosService(mockUnitOfWork.Object, mockEncuentrosRepository.Object, null, mockParticipantesRepository.Object);

            //Act
            Encuentro obtainedResult = businessLogic.ObtenerEncuentroPorId(fakeId);

            //Assert
            mockEncuentrosRepository.VerifyAll();
            Assert.IsNotNull(obtainedResult);
            Assert.AreEqual(fakeId, obtainedResult.Id);
        }
예제 #11
0
        public static List <Encuentro> GetByLocal(int idEquipoLocal)
        {
            List <Encuentro> encuentros = new List <Encuentro>();
            //Creo el comando sql a utlizar
            SQLiteCommand cmd =
                new SQLiteCommand("SELECT id, idEquipoLocal, idEquipoVisitante, fecha, idArbitro From Encuentro WHERE idEquipoLocal = @idEquipoLocal;");

            cmd.Parameters.Add(new SQLiteParameter("@idEquipoLocal", idEquipoLocal));

            //asigno la conexion al comando
            cmd.Connection = Conexion.Connection;
            //creo el datareader
            SQLiteDataReader obdr = cmd.ExecuteReader();

            //recorro el datareader

            while (obdr.Read())
            {
                Encuentro e = new Encuentro();
                e.Id              = obdr.GetInt32(0);
                e.EquipoLocal     = pEquipo.GetById(obdr.GetInt32(1));
                e.EquipoVisitante = pEquipo.GetById(obdr.GetInt32(2));
                e.Fecha           = obdr.GetDateTime(3);
                e.Arbitro         = pArbitro.GetById(obdr.GetInt32(4));
                encuentros.Add(e);
            }
            return(encuentros);
        }
        public IActionResult Post([FromBody] AgregarEncuentro encuentroModelo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Datos invalidos"));
            }

            try
            {
                Encuentro encuentro = encuentroModelo.TransformarAEncuentro();
                Guid      idCreado  = this._encuentrosService.AgregarEncuentro(encuentro);
                encuentro.Id = idCreado;
                return(CreatedAtRoute("GetEncuentro", new { id = idCreado }, encuentro));
            }
            catch (EncuentroDataException)
            {
                return(BadRequest("Datos invalidos"));
            }
            catch (NoExisteDeporteException)
            {
                return(BadRequest("El nombre del deporte no existe en la BD."));
            }
            catch (NoExisteEquipoException)
            {
                return(BadRequest("El/los equipos no existen en la BD."));
            }
            catch (ExisteEncuentroEnFecha) {
                return(StatusCode(409, "Ya existe un encuentro en esa fecha para el/los equipos seleccionados."));
            }
        }
        public static Encuentro ObtenerEncuentroSinDeporte()
        {
            Encuentro encuentro = new Encuentro();

            encuentro.FechaHora = DateTime.Now;
            encuentro.Id        = Guid.NewGuid();
            Deporte deporte = new Deporte();

            deporte.Id        = Guid.NewGuid();
            encuentro.Deporte = deporte;
            ICollection <ParticipanteEncuentro> participanteEncuentros = new List <ParticipanteEncuentro>();
            ParticipanteEncuentro participanteEncuentroUno             = new ParticipanteEncuentro();
            Participante          participanteUno = ObtenerParticipanteUno();
            Participante          participanteDos = ObtenerParticipanteDos();

            participanteEncuentroUno.ParticipanteId = participanteUno.Id;
            participanteEncuentroUno.Participante   = participanteUno;
            ParticipanteEncuentro participanteEncuentroDos = new ParticipanteEncuentro();

            participanteEncuentroDos.ParticipanteId = participanteDos.Id;
            participanteEncuentroDos.Participante   = participanteDos;
            participanteEncuentros.Add(participanteEncuentroUno);
            participanteEncuentros.Add(participanteEncuentroDos);
            encuentro.ParticipanteEncuentro = participanteEncuentros;
            return(encuentro);
        }
예제 #14
0
        public override List <Encuentro> GenerarFixture()
        {
            List <Encuentro> encuentros = new List <Encuentro>();
            int fechaEncuentro          = 0;

            for (int i = 0; i < participantes.Count; i++)
            {
                for (int j = 0; j < participantes.Count; j++)
                {
                    if (i != j)
                    {
                        Encuentro encuentro = new Encuentro();
                        encuentro.FechaHora = fechaInicio.AddDays(fechaEncuentro);
                        encuentro.Id        = new Guid();
                        ICollection <ParticipanteEncuentro> participanteEncuentros = new List <ParticipanteEncuentro>();
                        ParticipanteEncuentro participanteEncuentroUno             = new ParticipanteEncuentro();
                        participanteEncuentroUno.ParticipanteId = participantes[i].Id;
                        ParticipanteEncuentro participanteEncuentroDos = new ParticipanteEncuentro();
                        participanteEncuentroDos.ParticipanteId = participantes[j].Id;
                        participanteEncuentros.Add(participanteEncuentroUno);
                        participanteEncuentros.Add(participanteEncuentroDos);
                        encuentro.ParticipanteEncuentro = participanteEncuentros;

                        encuentros.Add(encuentro);
                        fechaEncuentro += 3;
                    }
                }
            }
            return(encuentros);
        }
예제 #15
0
        public Guid AgregarEncuentro(Encuentro encuentro)
        {
            if (DatosInvalidosEncuentro(encuentro))
            {
                throw new EncuentroDataException();
            }

            Deporte deporte = _deportesRepository.ObtenerDeportePorNombre(encuentro.Deporte.Nombre);

            if (deporte == null)
            {
                throw new NoExisteDeporteException();
            }

            Equipo equipoLocal     = _equiposRepository.ObtenerEquipoPorDeporte(encuentro.Deporte.Nombre, encuentro.EquipoLocal.Nombre);
            Equipo equipoVisitante = _equiposRepository.ObtenerEquipoPorDeporte(encuentro.Deporte.Nombre, encuentro.EquipoVisitante.Nombre);

            if (equipoLocal == null || equipoVisitante == null)
            {
                throw new NoExisteEquipoException();
            }

            if (_encuentrosRepository.ExisteEncuentroEnFecha(encuentro.FechaHora, equipoLocal.Id) ||
                _encuentrosRepository.ExisteEncuentroEnFecha(encuentro.FechaHora, equipoVisitante.Id))
            {
                throw new ExisteEncuentroEnFecha();
            }

            encuentro.EquipoLocal.Id     = equipoLocal.Id;
            encuentro.EquipoVisitante.Id = equipoVisitante.Id;
            encuentro.Deporte.Id         = deporte.Id;
            _encuentrosRepository.Insert(encuentro);
            _unitOfWork.Save();
            return(encuentro.Id);
        }
예제 #16
0
 private bool DatosInvalidosEncuentro(Encuentro encuentro)
 {
     return(!CampoValido(encuentro.EquipoLocal.Nombre) ||
            !CampoValido(encuentro.EquipoVisitante.Nombre) ||
            !CampoValido(encuentro.Deporte.Nombre) ||
            (encuentro.EquipoLocal.Nombre == encuentro.EquipoVisitante.Nombre));
 }
예제 #17
0
        public ActionResult DeleteConfirmed(int id)
        {
            Encuentro encuentro = db.Encuentroes.Find(id);

            db.Encuentroes.Remove(encuentro);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #18
0
        public frmAgregarCambioEncuentro(int id)
        {
            InitializeComponent();
            idencuentro = id;
            Encuentro adefinir = Controladores.pEncuentro.GetById(idencuentro);

            equipoBindingSource.Add(adefinir.EquipoLocal);
            equipoBindingSource.Add(adefinir.EquipoVisitante);
        }
예제 #19
0
        public Guid AgregarEncuentro(Encuentro encuentro)
        {
            if (DatosInvalidosEncuentro(encuentro))
            {
                throw new EncuentroDataException();
            }
            Deporte deporte = _deportesRepository.ObtenerDeportePorNombre(encuentro.Deporte.Nombre);

            if (deporte == null)
            {
                throw new NoExisteDeporteException();
            }
            ICollection <ParticipanteEncuentro> Puntajes = encuentro.ParticipanteEncuentro;

            if (Puntajes == null)
            {
                throw new NoExisteParticipanteException();
            }
            if (Puntajes.Count == 0)
            {
                throw new NoExisteParticipanteException();
            }
            if (Puntajes.Count < 2)
            {
                throw new CantidadIncorrectaDePartcipantesException();
            }
            if (!deporte.EsIndividual && Puntajes.Count != 2)
            {
                throw new CantidadIncorrectaDePartcipantesException();
            }
            if (HayPartcipanteRepetido(Puntajes))
            {
                throw new ParticipantesRepetidoException();
            }
            if (ExisteEcuentroMismoDiaParaParticipantes(encuentro))
            {
                throw new ExisteEncuentroMismoDiaException();
            }
            if (!PuntajesCorrectos(encuentro, deporte))
            {
                throw new ResultadoIncorrectoException();
            }
            foreach (ParticipanteEncuentro p in Puntajes)
            {
                p.Participante = _participantesRepository.ObtenerParticipantePorId(p.ParticipanteId);
                if (!p.Participante.Deporte.Equals(deporte))
                {
                    throw new NoCoincideDeporteException();
                }
            }
            encuentro.ParticipanteEncuentro = Puntajes;
            encuentro.Deporte.Id            = deporte.Id;
            _encuentrosRepository.Insert(encuentro);
            _unitOfWork.Save();
            return(encuentro.Id);
        }
        public static List <Encuentro> ObtenerEncuentrosFalsos()
        {
            List <Encuentro> encuentros   = new List <Encuentro>();
            Encuentro        encuentroUno = ObtenerEncuentroFalso();
            Encuentro        encuentroDos = ObtenerEncuentroFalsoDos();

            encuentros.Add(encuentroUno);
            encuentros.Add(encuentroDos);
            return(encuentros);
        }
예제 #21
0
        private void btnModificarEncuentro_Click(object sender, EventArgs e)
        {
            Encuentro enc         = encuentros[encuentrosTable.CurrentCell.RowIndex];
            int       idEncuentro = enc.Id;

            this.Opacity = 0;                                 //ocultar esta ventana
            new fmEncuentroDetalle(idEncuentro).ShowDialog(); //Abrir la ventana de detalle
            generarTabla();
            this.Opacity = 1;                                 //mostsrar esta ventana
        }
        public IActionResult Get(Guid id)
        {
            Encuentro encuentro = _encuentrosService.ObtenerEncuentroPorId(id);

            if (encuentro == null)
            {
                return(NotFound());
            }
            return(Ok(encuentro));
        }
예제 #23
0
 private void ListarGrupos()
 {
     if (ddlCampeonato.SelectedIndex >= 0 && ddlFase.SelectedIndex >= 0)
     {
         Encuentro.Preparar(int.Parse(ddlCampeonato.SelectedValue), ddlGrupo);
     }
     else
     {
         ddlGrupo.DataSource = null;
     }
 }
예제 #24
0
        public ActionResult ActualizarEncuentro(int id)
        {
            EncuentroModel variModel = new EncuentroModel();
            Encuentro      encuentro = variModel.obtenerEncuentro(id);

            encuentro.actualizarEstado();

            ModelState.Clear();

            return(View(encuentro));
        }
예제 #25
0
        public static void Delete(Encuentro e)
        {
            //Creo el comando sql a utlizar
            SQLiteCommand cmd = new SQLiteCommand("DELETE FROM Encuentro WHERE id = @id;");

            //Cargo el valor del parametro
            cmd.Parameters.Add(new SQLiteParameter("@id", e.Id));

            cmd.Connection = Conexion.Connection;
            cmd.ExecuteNonQuery();
        }
예제 #26
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            Equipo    local     = (Equipo)equipoBindingSourceLocal.Current;
            Equipo    visitante = (Equipo)equipoBindingSourceVisita.Current;
            DateTime  fecha     = encuentroDate.Value;
            Arbitro   arbitro   = (Arbitro)arbitroBindingSource.Current;
            Encuentro guardar   = new Encuentro(0, local, visitante, fecha, arbitro);

            Controladores.pEncuentro.Save(guardar);
            Close();
        }
예제 #27
0
        private void btAceptar_Click(object sender, EventArgs e)
        {
            Equipo           eqip     = (Equipo)equipoBindingSource.Current;
            Jugador          saliente = (Jugador)jugadorSaleBindingSource.Current;
            Jugador          entrante = (Jugador)jugadorEntraBindingSource.Current;
            int              minuto   = int.Parse(minuteBox.Text);
            Encuentro        encu     = Controladores.pEncuentro.GetById(idencuentro);
            CambiosEncuentro cb       = new CambiosEncuentro(0, saliente, entrante, encu, minuto);

            Controladores.pCambiosEncuentro.Save(cb);
        }
예제 #28
0
 public bool ExisteEcuentroMismoDiaParaParticipantes(Encuentro encuentro)
 {
     foreach (var item in encuentro.ParticipanteEncuentro)
     {
         if (ExisteEncuentroMismoDiaParaUnParcipante(item.ParticipanteId, encuentro.FechaHora))
         {
             return(true);
         }
     }
     return(false);
 }
예제 #29
0
 public bool PuntajesCorrectos(Encuentro encuentro, Deporte deporte)
 {
     if (deporte.EsIndividual)
     {
         return(PuntajesCorrectosIndividual(encuentro));
     }
     else
     {
         return(PuntajesCorrectosEquipo(encuentro));
     }
 }
예제 #30
0
        public fmEncuentroDetalle(int idEncuentro)
        {
            InitializeComponent();
            Encuentro e = Controladores.pEncuentro.GetById(idEncuentro);

            this.Text         = "Encuentro: " + e.getNombreEquipoLocal() + " vs " + e.getNombreEquipoVisitante();
            this.idencuentro  = idEncuentro;
            lblLocal.Text     = e.getNombreEquipoLocal();
            lblVisitante.Text = e.getNombreEquipoVisitante();

            generarTabla();
        }