public void SendConfirmationEmail(int ibsOrderId, Guid accountId, BookingSettings bookingSettings, string chargeTypeEmail,
                                          Address pickupAddress, Address dropOffAddress, DateTime pickupDate, string userNote, string clientLanguage)
        {
            var accountDetail = _accountDao.FindById(accountId);

            chargeTypeEmail = chargeTypeEmail ?? GetChargeTypeEmail(bookingSettings.ChargeTypeId, clientLanguage);

            var emailCommand = new SendBookingConfirmationEmail
            {
                IBSOrderId   = ibsOrderId,
                EmailAddress = accountDetail.Email,
                Settings     = new SendBookingConfirmationEmail.InternalBookingSettings()
                {
                    ChargeType  = bookingSettings.ChargeType,
                    LargeBags   = bookingSettings.LargeBags,
                    Name        = bookingSettings.Name,
                    Passengers  = bookingSettings.Passengers,
                    Phone       = bookingSettings.Phone,
                    VehicleType = bookingSettings.VehicleType
                },
                ClientLanguageCode = clientLanguage,
                DropOffAddress     = dropOffAddress,
                Note          = userNote,
                PickupAddress = pickupAddress,
                PickupDate    = pickupDate
            };

            emailCommand.IBSOrderId           = ibsOrderId;
            emailCommand.EmailAddress         = accountDetail.Email;
            emailCommand.Settings.ChargeType  = chargeTypeEmail;
            emailCommand.Settings.VehicleType = bookingSettings.VehicleType;

            _commandBus.Send(emailCommand);
        }
Ejemplo n.º 2
0
 public void Handle(SendBookingConfirmationEmail command)
 {
     _notificationService.SendBookingConfirmationEmail(command.IBSOrderId, command.Note, command.PickupAddress, command.DropOffAddress,
                                                       command.PickupDate, command.Settings, command.EmailAddress, command.ClientLanguageCode);
 }