public void End()
        {
            _dtoApuestaVOF      = null;
            _dtoApuestaJugador  = null;
            _dtoApuestaEquipo   = null;
            _dtoApuestaCantidad = null;

            _apuestaVoF      = null;
            _apuestaCantidad = null;
            _apuestaEquipo   = null;
            _apuestaJugador  = null;

            _traductorApuestaCantidad = null;
            _traductorApuestaJugador  = null;
            _traductorApuestaEquipo   = null;
            _traductorApuestaVoF      = null;


            _logroVoF      = null;
            _logroCantidad = null;
            _logroJugador  = null;
            _logroEquipo   = null;

            _apostador = null;

            _equiposEstaticos = null;
        }
        public void TraducirDTOApuestaEquipoTest()
        {
            _equiposEstaticos = new Equipos();

            DTOApuestaEquipo _dtoEsperado = FabricaDTO.CrearDTOApuestaEquipo();

            _dtoEsperado.IdLogro   = 1;
            _dtoEsperado.IdUsuario = 1;
            _dtoEsperado.IdEquipo  = 1;
            _dtoEsperado.Estado    = "en curso";


            _apuestaEquipo = FabricaEntidades.CrearApuestaEquipo();

            _apuestaEquipo.Logro     = _logroEquipo;
            _apuestaEquipo.Usuario   = _apostador;
            _apuestaEquipo.Respuesta = _equiposEstaticos.GetEquipo(1);
            _apuestaEquipo.Estado    = "en curso";

            _traductorApuestaEquipo = FabricaTraductor.CrearTraductorApuestaEquipo();

            _dtoApuestaEquipo = _traductorApuestaEquipo.CrearDto(_apuestaEquipo);

            Assert.AreEqual(_dtoEsperado.IdLogro, _dtoApuestaEquipo.IdLogro);
            Assert.AreEqual(_dtoEsperado.IdUsuario, _dtoApuestaEquipo.IdUsuario);
            Assert.AreEqual(_dtoEsperado.IdEquipo, _dtoApuestaEquipo.IdEquipo);
            Assert.AreEqual(_dtoEsperado.Estado, _dtoApuestaEquipo.Estado);
        }
        public void TraducirApuestaEquipoTest()
        {
            ApuestaEquipo _apuestaEsperada = FabricaEntidades.CrearApuestaEquipo();

            _equiposEstaticos = new Equipos();

            _apuestaEsperada.Respuesta = _equiposEstaticos.GetEquipo(1);
            _apuestaEsperada.Logro     = _logroEquipo;
            _apuestaEsperada.Usuario   = _apostador;


            _dtoApuestaEquipo = FabricaDTO.CrearDTOApuestaEquipo();

            _dtoApuestaEquipo.IdLogro   = 1;
            _dtoApuestaEquipo.IdUsuario = 1;
            _dtoApuestaEquipo.IdEquipo  = 1;

            _traductorApuestaEquipo = FabricaTraductor.CrearTraductorApuestaEquipo();

            _apuestaEquipo = _traductorApuestaEquipo.CrearEntidad(_dtoApuestaEquipo) as ApuestaEquipo;

            Assert.AreEqual(_apuestaEsperada.Logro.Id, _apuestaEquipo.Logro.Id);
            Assert.AreEqual(_apuestaEsperada.Usuario.Id, _apuestaEquipo.Usuario.Id);
            Assert.AreEqual(_apuestaEsperada.Respuesta.Id, _apuestaEquipo.Respuesta.Id);
        }
        public HttpResponseMessage ActualizarApuestaEquipo(DTOApuestaEquipo dto)
        {
            try
            {
                TraductorApuestaEquipo traductor = FabricaTraductor.CrearTraductorApuestaEquipo();

                Entidad apuesta = traductor.CrearEntidad(dto);

                Comando comando = FabricaComando.CrearComandoActualizarApuestaEquipo(apuesta);

                comando.Ejecutar();

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (ObjetoNullException exc)
            {
                log.Error(exc, exc.Mensaje);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (ApuestaInvalidaException exc)
            {
                log.Error(exc, exc.Mensaje);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (BaseDeDatosException exc)
            {
                log.Error(exc, exc.Mensaje);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (Exception exc)
            {
                ExcepcionGeneral exceptionGeneral = new ExcepcionGeneral(exc.InnerException, DateTime.Now);

                log.Error(exc, exc.Message);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exceptionGeneral.Mensaje));
            }
        }
        public HttpResponseMessage ObtenerApuestasEquipoEnCurso(DTOUsuarioId dto)
        {
            try
            {
                TraductorUsuarioId traductor = FabricaTraductor.CrearTraductorUsuarioId();

                Entidad usuario = traductor.CrearEntidad(dto);

                Comando comando = FabricaComando.CrearComandoObtenerApuestasEquipoEnCurso(usuario);

                comando.Ejecutar();

                TraductorApuestaEquipo traductorApuesta = FabricaTraductor.CrearTraductorApuestaEquipo();

                List <DTOApuestaEquipo> Listadtos = traductorApuesta.CrearListaDto(comando.GetEntidades());

                return(Request.CreateResponse(HttpStatusCode.OK, Listadtos));
            }
            catch (ObjetoNullException exc)
            {
                log.Error(exc, exc.Mensaje);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (BaseDeDatosException exc)
            {
                log.Error(exc, exc.Mensaje);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (Exception exc)
            {
                ExcepcionGeneral exceptionGeneral = new ExcepcionGeneral(exc.InnerException, DateTime.Now);

                log.Error(exc, exc.Message);

                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exceptionGeneral.Mensaje));
            }
        }
        public void TraductorDTOApuestaEquipoExceptionTest()
        {
            _traductorApuestaEquipo = FabricaTraductor.CrearTraductorApuestaEquipo();

            Assert.Throws <ObjetoNullException>(() => _traductorApuestaEquipo.CrearEntidad(null));
        }