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 }); }
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); }