Exemple #1
0
        /// <summary>
        /// Método para registar una actividad asociada a un reto
        /// </summary>
        /// <param name="actividad">La actividad a registrar</param>
        /// <param name="usuarioDeportista">el deportista a validar</param>
        /// <returns>Un true si hay exito, false en caso contrario</returns>
        private bool registrarActividadReto(Actividad actividad, string usuarioDeportista)
        {
            // se accede al reto que el usuario quiere completar/avanzar
            var deportistaReto = _context.DeportistaReto.Where(x => x.Usuariodeportista == usuarioDeportista &&
                                                               x.Nombrereto == actividad.Nombreretocarrera && x.Admindeportista == actividad.Adminretocarrera).
                                 Include(x => x.Reto).FirstOrDefault();

            // se valida que el tipo de actividad del reto sea la misma que la actividad que hizo el deportista
            if (deportistaReto == null || deportistaReto.Reto.Tipoactividad != actividad.Tipoactividad)
            {
                return(false);
            }

            _context.Add(actividad);

            if ((actividad.Kilometraje + deportistaReto.Kmacumulados) >= deportistaReto.Reto.Kmtotales)
            {
                deportistaReto.Kmacumulados += actividad.Kilometraje; // se suma la cantidad de kilómetros de la actividad
                deportistaReto.Completado    = true;
                _context.Update(deportistaReto);
                return(true);
            }
            else
            {
                deportistaReto.Kmacumulados += actividad.Kilometraje; // se suma la cantidad de kilómetros de la actividad
                _context.Update(deportistaReto);
                return(true);
            }
        }
Exemple #2
0
        /// <summary>
        /// Método para aceptar una inscripción
        /// </summary>
        /// <param name="inscripcion">la inscripción a aceptar</param>
        public void aceptarInscripcion(Inscripcion inscripcion)
        {
            // se crea una relacion entre deportista y carrera
            var deportistaCarrera = new DeportistaCarrera();

            deportistaCarrera.Admindeportista   = inscripcion.Admincarrera;
            deportistaCarrera.Nombrecarrera     = inscripcion.Nombrecarrera;
            deportistaCarrera.Usuariodeportista = inscripcion.Usuariodeportista;
            deportistaCarrera.Completada        = false;

            inscripcion.Estado = "Aceptado"; // se marca como aceptada la inscripción

            _context.Update(inscripcion);
            _context.Add(deportistaCarrera);
        }