public async Task <IActionResult> UpdateOrderItems(string hubConnectionId, string jsonModel, CancellationToken cancellationToken) { if (!_permissionService.Authorize(XrmsPermissionProvider.ManageWaiterOrders)) { return(AccessDeniedView()); } if (!String.IsNullOrEmpty(jsonModel)) { try { UpdateInStoreOrderItemsModel model = JsonConvert.DeserializeObject <UpdateInStoreOrderItemsModel>(jsonModel); _logger.InsertLog(LogLevel.Information, "XRMS current in-store order info", String.Format("AggregateId = {0}, Version = {1}", model.AggregateId, model.Version)); // validate model // save hub connection into session HttpContext.Session.SetString("HubConnectionId", hubConnectionId); // send command await _commandSender.Send(new UpdateOrderItemsCmd(model.AggregateId, model.Version, model), cancellationToken); return(Ok()); } catch (Exception ex) { _logger.InsertLog(LogLevel.Error, "Update Order Items: Exception Error", ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } } else { _logger.InsertLog(LogLevel.Error, "Update Order Items: Empty Object", "Request object is null or empty."); return(BadRequest("Request object is null or empty.")); } }
public UpdateOrderItemsCmd(Guid id, int originalVersion, UpdateInStoreOrderItemsModel model) { Id = id; ExpectedVersion = originalVersion; CommandModel = model ?? throw new ArgumentNullException(); }