public async Task <IActionResult> MeGustaUsuario(int id, int recibidorId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var meGusta = await _coderos.ObtenerMeGusta(id, recibidorId);

            if (meGusta != null)
            {
                return(BadRequest($"No puede darle {"Me gusta "} al mismo usuario más de una vez."));
            }

            if (await _coderos.ObtenerUsuario(recibidorId) == null)
            {
                return(NotFound("Usuario no encontrado"));
            }

            meGusta = new MeGusta {
                MeGustadorId = id,
                MeGustaaId   = recibidorId
            };

            _coderos.Agregar <MeGusta> (meGusta);

            if (await _coderos.Guardar())
            {
                return(Ok());
            }

            return(BadRequest($"Error al darle {"'Me Gusta'"} al usuario"));
        }
        public async Task <IActionResult> CrearMensaje(int usuarioId, MensajeACrearDto mensajeACrearDto)
        {
            if (usuarioId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            mensajeACrearDto.RemitenteId = usuarioId;

            var receptor = await _coderos.ObtenerUsuario(mensajeACrearDto.ReceptorId);

            if (receptor == null)
            {
                return(BadRequest("No se pudo encontrar al usuario."));
            }

            var mensaje = _mapper.Map <Mensaje> (mensajeACrearDto);

            _coderos.Agregar <Mensaje> (mensaje);

            var mensajeARetornar = _mapper.Map <MensajeACrearDto> (mensaje);

            if (await _coderos.Guardar())
            {
                return(CreatedAtRoute("ObtenerMensaje",
                                      new { id = mensaje.Id }, mensajeARetornar));
            }

            throw new Exception("Error al enviar el mensaje");
        }