public void Handle(AssignSeat command)
        {
            var assignments = this.assignmentsRepo.Get(command.SeatAssignmentsId);

            assignments.AssignSeat(command.Position, command.Attendee);
            assignmentsRepo.Save(assignments, command.Id.ToString());
        }
        public void when_assigning_previously_assigned_seat_to_new_email_then_reassigns_seat_with_two_events()
        {
            var command = new AssignSeat
            {
                SeatAssignmentsId = assignmentsId,
                Position          = 0,
                Attendee          = new PersonalInfo
                {
                    Email     = "*****@*****.**",
                    FirstName = "B",
                    LastName  = "Z",
                }
            };

            sut.When(command);

            var unassign = sut.ThenHasOne <SeatUnassigned>();

            Assert.Equal(0, unassign.Position);
            Assert.Equal(assignmentsId, unassign.SourceId);

            var assign = sut.ThenHasOne <SeatAssigned>();

            Assert.Equal(0, assign.Position);
            Assert.Equal(seatType, assign.SeatType);
            Assert.Equal(assignmentsId, assign.SourceId);
            Assert.Equal(command.Attendee, assign.Attendee);
        }
        public async Task HandleAsync(ICommandContext context, AssignSeat command)
        {
            var orderSeatAssignments = await context.GetAsync <OrderSeatAssignments>(command.AggregateRootId);

            orderSeatAssignments.AssignSeat(command.Position, new Attendee(
                                                command.PersonalInfo.FirstName,
                                                command.PersonalInfo.LastName,
                                                command.PersonalInfo.Email));
        }
示例#4
0
        public void When_assigning_previously_assigned_seat_to_same_email_then_updates_assignment()
        {
            var command = new AssignSeat {
                SeatAssignmentsId = this._assignmentsId,
                Position          = 0,
                Attendee          = new PersonalInfo {
                    Email     = "*****@*****.**",
                    FirstName = "B",
                    LastName  = "Z",
                }
            };

            this._sut.When(command);

            var assign = this._sut.ThenHasSingle <SeatAssignmentUpdated>();

            Assert.AreEqual(0, assign.Position);
            Assert.AreEqual(this._assignmentsId, assign.SourceId);
            Assert.AreEqual(command.Attendee, assign.Attendee);
        }
示例#5
0
        public void When_assigning_unassigned_seat_then_seat_is_assigned()
        {
            var command = new AssignSeat {
                SeatAssignmentsId = this._assignmentsId,
                Position          = 1,
                Attendee          = new PersonalInfo {
                    Email     = "*****@*****.**",
                    FirstName = "A",
                    LastName  = "Z",
                }
            };

            this._sut.When(command);

            var @event = this._sut.ThenHasSingle <SeatAssigned>();

            Assert.AreEqual(1, @event.Position);
            Assert.AreEqual(this._seatType, @event.SeatType);
            Assert.AreEqual(this._assignmentsId, @event.SourceId);
            Assert.AreEqual(command.Attendee, @event.Attendee);
        }
 public void Handle(ICommandContext context, AssignSeat command)
 {
     context.Get <OrderSeatAssignments>(command.AggregateRootId).AssignSeat(command.Position, new Attendee(command.PersonalInfo.FirstName, command.PersonalInfo.LastName, command.PersonalInfo.Email));
 }