create method

Future<void> create(
  1. CreateMessage createMessage
)

Implementation

Future<void> create(CreateMessage createMessage) async {
  BeautifulSoup? latestSoup = await newMessage();
  if (latestSoup == null) {
    return;
  }
  // add people
  for (var person in createMessage.receivers) {
    latestSoup = await _addPerson(person, latestSoup!);
  }

  String target =
      r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl02$SendMessageBtn";
  String url = student.buildUrl("beskeder2.aspx");
  Map<String, String> submitData = {
    r"s$m$searchinputfield": "",
    r"s$m$Content$Content$MessageThreadCtrl$addRecipientDD$inp": "",
    r"s$m$Content$Content$MessageThreadCtrl$addRecipientDD$inpid": "",
    r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl02$EditModeHeaderTitleTB$tb":
        createMessage.topic,
    r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl02$AttachmentDocChooser$selectedDocumentId":
        "",
    r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl02$EditModeContentBBTB$TbxNAME$tb":
        createMessage.content
  };
  var exportedSubmitData = extractASPData(latestSoup!, target);
  exportedSubmitData.addAll(submitData);
  await request(url,
      data: exportedSubmitData,
      options: Options(
        method: 'POST',
        contentType: "application/x-www-form-urlencoded",
      ));
}