private void Save(OrderSeats dto)
 {
     using (var writer = new StringWriter()) {
         serializer.Serialize(writer, dto);
         storage.Save(GetSeatAssignmentsBlobId(dto.AssignmentsId), "text/plain", Encoding.UTF8.GetBytes(writer.ToString()));
     }
 }
        public void Handle(SeatAssignmentsCreated @event)
        {
            var seatTypes = this._conferenceDao.GetSeatTypeNames(@event.Seats.Select(x => x.SeatType))
                            .ToDictionary(x => x.Id, x => x.Name);

            var dto = new OrderSeats(@event.SourceId, @event.OrderId,
                                     @event.Seats.Select(i => new OrderSeat(i.Position, seatTypes.TryGetValue(i.SeatType))));

            this.Save(dto);
        }
        public void when_finding_existing_dao_then_deserializes_blob_and_returns_instance()
        {
            var dto        = new OrderSeats();
            var storage    = Mock.Of <IBlobStorage>(x => x.Find(It.IsAny <string>()) == new byte[0]);
            var serializer = Mock.Of <ITextSerializer>(x => x.Deserialize(It.IsAny <TextReader>()) == dto);
            var dao        = new OrderDao(() => new ConferenceRegistrationDbContext("OrderDaoFixture"), storage, serializer);

            var result = dao.FindOrderSeats(Guid.NewGuid());

            Assert.Same(result, dto);
        }
Exemple #4
0
        public async Task Consume(ConsumeContext <SeatAssignmentsCreated> consumeContext)
        {
            var seatTypes =
                (await this.conferenceDao.GetSeatTypeNames(consumeContext.Message.Seats.Select(x => x.SeatType)))
                .ToDictionary(x => x.Id, x => x.Name);

            var dto = new OrderSeats(consumeContext.Message.SourceId, consumeContext.Message.OrderId,
                                     consumeContext.Message.Seats.Select(i =>
                                                                         new OrderSeat(i.Position, seatTypes.TryGetValue(i.SeatType))));

            await Save(dto);
        }
Exemple #5
0
        public given_an_order_seat_assignments()
        {
            // Arrange
            orderSeats = new OrderSeats {
                AssignmentsId = Guid.NewGuid(),
                OrderId       = Guid.NewGuid(),
                Seats         =
                {
                    new OrderSeat(0, "General")
                    {
                        Attendee = new PersonalInfo {
                            Email     = "*****@*****.**",
                            FirstName = "A",
                            LastName  = "Z"
                        }
                    },
                    new OrderSeat(1, "Precon")
                }
            };

            orderDao.Setup(r => r.FindOrderSeats(orderSeats.OrderId)).Returns(orderSeats);
        }
Exemple #6
0
        public void Setup()
        {
            this._orderDao = new Mock <IOrderDao>();
            this._commands = new List <ICommand>();

            var bus = new Mock <ICommandBus>();

            bus.Setup(x => x.Send(It.IsAny <Envelope <ICommand> >()))
            .Callback <Envelope <ICommand> >(x => _commands.Add(x.Body));
            bus.Setup(x => x.Send(It.IsAny <IEnumerable <Envelope <ICommand> > >()))
            .Callback <IEnumerable <Envelope <ICommand> > >(x => _commands.AddRange(x.Select(e => e.Body)));

            this._sut = new OrderController(Mock.Of <IConferenceDao>(), this._orderDao.Object, bus.Object);

            var routeData = new RouteData();

            routeData.Values.Add("conferenceCode", "conference");

            this._sut.ControllerContext = Mock.Of <ControllerContext>(x => x.RouteData == routeData);

            this._orderSeats = new OrderSeats()
            {
                AssignmentsId = Guid.NewGuid(),
                OrderId       = Guid.NewGuid(),
                Seats         =
                {
                    new OrderSeat(0, "General")
                    {
                        Attendee = new PersonalInfo {
                            Email     = "*****@*****.**",
                            FirstName = "A",
                            LastName  = "Z"
                        }
                    },
                    new OrderSeat(1, "Precon")
                }
            };
            this._orderDao.Setup(r => r.FindOrderSeats(this._orderSeats.OrderId)).Returns(this._orderSeats);
        }
Exemple #7
0
 private async Task Save(OrderSeats dto)
 {
     await using var writer = new StringWriter();
     this.serializer.Serialize(writer, dto);
     await this.storage.Save(GetSeatAssignmentsBlobId(dto.AssignmentsId), "text/plain", Encoding.UTF8.GetBytes(writer.ToString()));
 }