private void UpdateReserved(Guid orderId, DateTime reservationExpiration, DraftOrder.States state, int orderVersion, IEnumerable <SeatQuantity> seats)
        {
            var dto = GetDraftOrder(orderId);

            if (WasNotAlreadyHandled(dto, orderVersion))
            {
                foreach (var seat in seats)
                {
                    var item = dto.Lines.Single(x => x.SeatType == seat.SeatType);
                    item.ReservedSeats = seat.Quantity;
                }

                dto.State = state;
                dto.ReservationExpirationDate = reservationExpiration;

                dto.OrderVersion = orderVersion;

                draftOrderRepository.Update(dto);
            }
        }
        private void UpdateReserved(Guid orderId, DateTime reservationExpiration, DraftOrder.States state, int orderVersion, IEnumerable <SeatQuantity> seats)
        {
            using (var context = contextFactory.Invoke()) {
                var dto = context.Set <DraftOrder>().Include(x => x.Lines).First(x => x.OrderId == orderId);
                if (WasNotAlreadyHandled(dto, orderVersion))
                {
                    foreach (var seat in seats)
                    {
                        var item = dto.Lines.Single(x => x.SeatType == seat.SeatType);
                        item.ReservedSeats = seat.Quantity;
                    }

                    dto.State = state;
                    dto.ReservationExpirationDate = reservationExpiration;

                    dto.OrderVersion = orderVersion;

                    context.Save(dto);
                }
            }
        }
        private void UpdateReserved(Guid orderId, DateTime reservationExpiration, DraftOrder.States state, int orderVersion, IEnumerable <AnchorQuantity> anchors)
        {
            using (var context = this.factory.Create())
            {
                var dto = DbContext.Set <DraftOrder>().Include(x => x.Lines).First(x => x.OrderID == orderId);
                if (WasNotAlreadyHandled(dto, orderVersion))
                {
                    foreach (var anchor in anchors)
                    {
                        var item = dto.Lines.Single(x => x.AnchorType == anchor.AnchorType);
                        item.ReservedAnchors = anchor.Quantity;
                    }

                    dto.State = state;
                    dto.ReservationExpirationDate = reservationExpiration;

                    dto.OrderVersion = orderVersion;
                    DbContext.Save(dto);
                    context.SaveChanges();
                }
            }
        }