public object Patch(string id, [FromBody] PatchModel model) { Transaction activeTransaction = Store.Transaction; if (activeTransaction == null || id != activeTransaction.Id) { return(NotFound()); } //Patch without specifying any changes is going to return the same as Get if (model == null || model.state == null) { return(TransactionHelper.ToJsonObject(activeTransaction)); } switch (model.state) { case TransactionState.Committed: Store.CommitTransaction(); activeTransaction.State = TransactionState.Committed; break; case TransactionState.Aborted: //Same logic as committed but doesn't commit the server manager Store.AbortTransaction(); activeTransaction.State = TransactionState.Aborted; break; default: break; } return(TransactionHelper.ToJsonObject(activeTransaction)); }
public object Get(string id) { Transaction activeTransaction = Store.Transaction; if (activeTransaction == null || id != activeTransaction.Id) { return(NotFound()); } return(TransactionHelper.ToJsonObject(activeTransaction)); }
public object Get() { var transaction = Store.Transaction; List <Transaction> transactions = new List <Transaction>(); if (transaction != null) { transactions.Add(transaction); } return(new { transactions = transactions.Select(trans => TransactionHelper.ToJsonObject(trans)) }); }
public object Post() { Transaction transaction = Store.BeginTransaction(); // // Set the current management unit Context.SetManagementUnit(Store.ManagementUnit); // // Create response dynamic tran = (dynamic)TransactionHelper.ToJsonObject(transaction); return(Created((string)TransactionHelper.GetLocation(tran.id), tran)); }