public async Task <Models.SqlExpress.Order> CancelOrderChanges(Models.SqlExpress.Order item)
        {
            var entityToCancel = Context.Entry(item);

            entityToCancel.CurrentValues.SetValues(entityToCancel.OriginalValues);
            entityToCancel.State = EntityState.Unchanged;

            return(item);
        }
        public async Task <Models.SqlExpress.Order> CreateOrder(Models.SqlExpress.Order order)
        {
            OnOrderCreated(order);

            Context.Orders.Add(order);
            Context.SaveChanges();

            OnAfterOrderCreated(order);

            return(order);
        }
        public async Task <Models.SqlExpress.Order> UpdateOrder(int?id, Models.SqlExpress.Order order)
        {
            OnOrderUpdated(order);

            var itemToUpdate = Context.Orders
                               .Where(i => i.Id == id)
                               .FirstOrDefault();

            if (itemToUpdate == null)
            {
                throw new Exception("Item no longer available");
            }
            var entryToUpdate = Context.Entry(itemToUpdate);

            entryToUpdate.CurrentValues.SetValues(order);
            entryToUpdate.State = EntityState.Modified;
            Context.SaveChanges();

            OnAfterOrderUpdated(order);

            return(order);
        }
 partial void OnAfterOrderCreated(Models.SqlExpress.Order item);
 partial void OnOrderUpdated(Models.SqlExpress.Order item);
 partial void OnOrderGet(Models.SqlExpress.Order item);
 partial void OnOrderDeleted(Models.SqlExpress.Order item);