public override void HandleThisMessage(IMessage mqMessage, IMessageQueueClient client)
        {
            if (!(mqMessage.Body is StartRentalCommand m))
            {
                return;
            }

            var film = InfraHelper.GetFilm(m.FilmId);

            if (!film.IsAvailable)
            {
                return;
            }

            client.Publish(new CalculatePriceCommand
            {
                UserId     = m.UserId,
                FilmId     = m.FilmId,
                Type       = film.Type,
                UseBonuses = m.UseBonuses,
                ActiveTo   = m.ActiveTo,
                ActiveFrom = m.ActiveFrom,
                OrderId    = m.OrderId
            });

            client.Publish(new SetFilmUnavailableCommand
            {
                FilmId = m.FilmId
            });
        }
Ejemplo n.º 2
0
        public override void HandleThisMessage(IMessage mqMessage, IMessageQueueClient client)
        {
            if (!(mqMessage.Body is SetFilmAvailableCommand m))
            {
                return;
            }

            var film = InfraHelper.GetFilm(m.FilmId);

            film.IsAvailable = true;

            InfraHelper.UpdateFilm(film);
        }