public object Post(Order request)
        {
            if (request.Id != default(uint))
            {
                return new HttpResult(HttpStatusCode.Conflict);
            }

            orderPersister.Create(request);

            return request;
        }
        public object Get(Order request)
        {
            if (request.Id != default(uint))
            {
                var order = Db.GetById<Order>(request.Id);

                return order;
            }

            return new HttpResult(HttpStatusCode.BadRequest);
        }
        public object Delete(Order request)
        {
            if (request.Id == default(uint))
            {
                return new HttpResult(HttpStatusCode.BadRequest);
            }

            Db.DeleteById<Order>(request.Id);

            return new HttpResult(HttpStatusCode.OK);
        }
        public void Create(Order order)
        {
            using (var dbConnection = dbConnectionFactory.Open())
            {
                dbConnection.InsertOnly(order, ev => ev.Insert(o => new {o.Date, o.OrderStatus, o.CancellationReason, o.Total}));

                var orderId = dbConnection.GetLastInsertId();
                order.Id = Convert.ToUInt32(orderId);

                foreach (var orderItem in order.OrderItems)
                {
                    InsertOrderItem(dbConnection, orderItem);
                }
            }
        }
        public void Update(Order order)
        {
            using (var dbConnection = dbConnectionFactory.Open())
            {
                dbConnection.Save(order);

                foreach (var orderItem in order.OrderItems)
                {
                    if (orderItem.Id == default(uint))
                    {
                        dbConnection.Save(orderItem);
                    }
                    else
                    {
                        InsertOrderItem(dbConnection, orderItem);
                    }
                }
            }
        }
        public object Put(Order request)
        {
            if (request.Id == default(uint))
            {
                return new HttpResult(HttpStatusCode.BadRequest);
            }

            orderPersister.Update(request);

            return request;
        }