public async Task <IActionResult> RemoveItemsFromOrder([FromODataUri] string id, ODataActionParameters parameters) { var order = await orderStore.FindByIdAsync(id); var items = (IEnumerable <Item>)parameters.SingleOrDefault(p => p.Key == Constants.Actions.Parameters.Items).Value; if (order == null || items == null) { return(BadRequest()); } await removeItemsFromOrder.ExecuteAsync(order, items.ToList()); return(Ok()); }
public async Task <IActionResult> ClearOrder([FromODataUri] string id, ODataActionParameters parameters) { var order = await orderStore.FindByIdAsync(id); var delete = (bool)parameters.SingleOrDefault(p => p.Key == Constants.Actions.Parameters.Delete).Value; if (order == null) { return(BadRequest()); } await clearOrder.ExecuteAsync(order, delete); return(Ok()); }
public async Task <IActionResult> ProcessOrder([FromODataUri] string id, ODataActionParameters parameters) { var order = await orderStore.FindByIdAsync(id); var billing = (Billing)parameters.SingleOrDefault(p => p.Key == Constants.Actions.Parameters.Billing).Value; if (order == null || billing == null) { return(BadRequest()); } await processOrder.ExecuteAsync(order, billing); return(Ok()); }