예제 #1
0
        public HttpResponseMessage ObtenerLogrosJugadorResultados(DTOLogroPartidoId dto)
        {
            try
            {
                TraductorLogroPartidoId traductorPartido = FabricaTraductor.CrearTraductorLogroPartidoId();

                Entidad partido = traductorPartido.CrearEntidad(dto);

                Comando comando = FabricaComando.CrearComandoObtenerLogrosJugadorResultados(partido);

                comando.Ejecutar();

                TraductorLogroJugadorResultado traductorLogros = FabricaTraductor.CrearTraductorLogroJugadorResultado();

                List <DTOLogroJugadorResultado> dtos = traductorLogros.CrearListaDto(comando.GetEntidades());

                return(Request.CreateResponse(HttpStatusCode.OK, dtos));
            }
            catch (ObjetoNullException exc)
            {
                logger.Error(exc, exc.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (LogrosPendientesNoExisteException exc)
            {
                logger.Error(exc, exc.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, exc.Mensaje));
            }
            catch (Exception exc)
            {
                ExcepcionGeneral personalizada = new ExcepcionGeneral(exc.InnerException, DateTime.Now);
                logger.Error(exc, exc.Message);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, personalizada.Mensaje));
            }
        }