public ActionResult Post([FromBody] BarbecueMessage message)
        {
            var request = new InsertRequest <BarbecueMessage>()
            {
                Message = message,
                User    = new UserRequest()
                {
                    Principal = this.User,
                    IpAddress = this.HttpContext.Connection.RemoteIpAddress
                }
            };

            var response = _app.Insert(request);

            return(new ApplicationResult <Barbecue>(response));
        }
        public ActionResult Put([FromRoute][FromQuery] BarbecueIdentityPredicate predicate, [FromBody] BarbecueMessage message)
        {
            var request = new UpdateRequest <BarbecueIdentityPredicate, BarbecueMessage>()
            {
                Identity = predicate,
                Message  = message
            };

            var response = _app.Update(request);

            return(new ApplicationResult <Barbecue>(response));
        }