コード例 #1
0
        public void UpdateSeat(Guid seatTypeId, SeatTypeInfo seatTypeInfo, int quantity)
        {
            var seatType = _seatTypes.SingleOrDefault(x => x.Id == seatTypeId);

            if (seatType == null)
            {
                throw new Exception("Seat type not exist.");
            }
            ApplyEvent(new SeatTypeUpdated(seatTypeId, seatTypeInfo));

            if (seatType.Quantity != quantity)
            {
                var totalReservationQuantity = GetTotalReservationQuantity(seatType.Id);
                if (quantity < totalReservationQuantity)
                {
                    throw new Exception(string.Format("Quantity cannot be small than total reservation quantity:{0}", totalReservationQuantity));
                }
                ApplyEvent(new SeatTypeQuantityChanged(seatTypeId, quantity, quantity - totalReservationQuantity));
            }
        }
コード例 #2
0
 public SeatTypeUpdated(Conference conference, Guid seatTypeId, SeatTypeInfo seatTypeInfo)
     : base(conference, seatTypeId, seatTypeInfo)
 {
 }
コード例 #3
0
ファイル: SeatType.cs プロジェクト: xuanmu/Conference
 public SeatType(Guid id, SeatTypeInfo info)
 {
     Id   = id;
     Info = info;
 }
コード例 #4
0
ファイル: SeatTypeUpdated.cs プロジェクト: xuanmu/Conference
 public SeatTypeUpdated(Guid seatTypeId, SeatTypeInfo seatTypeInfo)
     : base(seatTypeId, seatTypeInfo)
 {
 }
コード例 #5
0
 public void AddSeat(SeatTypeInfo seatTypeInfo, int quantity)
 {
     ApplyEvent(new SeatTypeAdded(Guid.NewGuid(), seatTypeInfo, quantity));
 }
コード例 #6
0
 public SeatTypeAdded(Conference conference, Guid seatTypeId, SeatTypeInfo seatTypeInfo, int quantity)
     : base(conference, seatTypeId, seatTypeInfo)
 {
     Quantity = quantity;
 }
コード例 #7
0
 public SeatTypeUpdated(Conference conference, Guid seatTypeId, SeatTypeInfo seatTypeInfo)
     : base(conference, seatTypeId, seatTypeInfo) { }
コード例 #8
0
 public SeatTypeEvent(Conference conference, Guid seatTypeId, SeatTypeInfo seatTypeInfo)
     : base(conference)
 {
     SeatTypeId   = seatTypeId;
     SeatTypeInfo = seatTypeInfo;
 }
コード例 #9
0
ファイル: SeatTypeAdded.cs プロジェクト: zfq308/Conference
 public SeatTypeAdded(Guid seatTypeId, SeatTypeInfo seatTypeInfo, int quantity)
     : base(seatTypeId, seatTypeInfo)
 {
     Quantity = quantity;
 }
コード例 #10
0
 public SeatTypeAdded(Conference conference, Guid seatTypeId, SeatTypeInfo seatTypeInfo, int quantity)
     : base(conference, seatTypeId, seatTypeInfo)
 {
     Quantity = quantity;
 }
コード例 #11
0
ファイル: SeatTypeEvent.cs プロジェクト: zfq308/Conference
 public SeatTypeEvent(Guid seatTypeId, SeatTypeInfo seatTypeInfo)
 {
     SeatTypeId   = seatTypeId;
     SeatTypeInfo = seatTypeInfo;
 }
コード例 #12
0
ファイル: SeatType.cs プロジェクト: jacobpovar/Conference
 public SeatType(Guid id, SeatTypeInfo info)
 {
     Id = id;
     Info = info;
 }
コード例 #13
0
ファイル: SeatTypeAdded.cs プロジェクト: Aaron-Liu/Conference
 public SeatTypeAdded(Guid seatTypeId, SeatTypeInfo seatTypeInfo, int quantity)
     : base(seatTypeId, seatTypeInfo)
 {
     Quantity = quantity;
 }
コード例 #14
0
 public SeatTypeUpdated(Guid seatTypeId, SeatTypeInfo seatTypeInfo)
     : base(seatTypeId, seatTypeInfo)
 {
 }