public async Task<ActionResult> AddOrUpdateCartShipment(ShipmentUpdateModel shipment) { EnsureThatCartExist(); //Need lock to prevent concurrent access to same cart using (await AsyncLock.GetLockByKey(GetAsyncLockCartKey(WorkContext.CurrentCart.Id)).LockAsync()) { await _cartBuilder.AddOrUpdateShipmentAsync(shipment); await _cartBuilder.SaveAsync(); } return new HttpStatusCodeResult(HttpStatusCode.OK); }