Установить текст сообщения электронной почты с данными из базы данных Firebase в Swift - PullRequest
0 голосов
/ 04 сентября 2018

Я создаю приложение для заказа на покупку, и у меня есть табличное представление, показывающее текущий заказ на покупку. Я хотел бы иметь возможность отправить электронное письмо с данными этого заказа на поставку поставщику.

У меня все работает нормально, но я не могу установить тело сообщения для данных из firebase.

Моя база данных Firebase выглядит следующим образом, и я хотел бы извлечь имя, информацию, количество и цену каждого элемента в списке и заполнить электронную почту этими данными.

enter image description here

и вот как я сохраняю данные

func saveItemInBackground(shoppingItem: ShoppingItem, completion: @escaping (_ error: Error?) -> Void) {

        let ref = firebase.child(kSHOPPINGITEM).child(shoppingItem.shoppingListId).childByAutoId()

        shoppingItem.shoppingItemId = ref.key

        ref.setValue(dictionaryFromItem(item: shoppingItem)) { (error, ref) -> Void in

            completion(error)
        }

    }

Я использую этот код для представления электронного письма.

func configureMailController() -> MFMailComposeViewController {
        let mailComposerVC = MFMailComposeViewController()
        mailComposerVC.mailComposeDelegate = self

        firebase.child(kSUPPLIEREMAIL).child(FUser.currentId()).child("SupplierEmail").observe(.value, with: {
            snapshot in
            if snapshot.exists() {
                let toEmail = snapshot.value
                mailComposerVC.setToRecipients(["\(toEmail as! String)"])
                mailComposerVC.setSubject("New EDM Pro Purchase Order")
                mailComposerVC.setMessageBody("", isHTML: false)
            } else {
                self.showMailError()
            }
        })
        return mailComposerVC
    }

и мне было интересно, смогу ли я использовать функцию для установки тела письма, а затем вызвать функцию в строке mailComposerVC.setMessageBody("", isHTML: false)

В качестве альтернативы, если это невозможно, я мог бы создать PDF таблицы и приложить ее к электронному письму. Я не уверен, как это можно сделать.

Любая помощь в этом была бы потрясающей!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...