reply method
Implementation
Future<void> reply(Reply reply) async {
var updatedMessage = await student.messages.get(reply.message.ref);
if (updatedMessage == null) {
return;
}
String id = _calculateIdNumberFromThreadAndMessage(null, updatedMessage);
String url = student.buildUrl("beskeder2.aspx");
String openingUrl = student
.buildUrl("beskeder2.aspx?mappeid=${reply.message.ref.folderId}");
var openingSoup = await postLoggedInPageSoup(openingUrl, "__Page", {
r"__EVENTARGUMENT": reply.message.ref.id,
r"s$m$Content$Content$ListGridSelectionTree$folders":
reply.message.ref.folderId.toString()
});
String target = r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl" +
id +
r"$SendMessageBtn";
Map<String, String> data = {
r"s$m$searchinputfield": "",
r"s$m$Content$Content$ListGridSelectionTree$folders":
reply.message.ref.folderId.toString(),
r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl" +
id +
r"$EditModeHeaderTitleTB$tb": reply.topic,
r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl" +
id +
r"$AttachmentDocChooser$selectedDocumentId": "",
r"s$m$Content$Content$MessageThreadCtrl$MessagesGV$ctl" +
id +
r"$EditModeContentBBTB$TbxNAME$tb": reply.content
};
var aspData = extractASPData(openingSoup!, target);
aspData.addAll(data);
await request(url,
data: aspData,
options: Options(
method: 'POST',
contentType: "application/x-www-form-urlencoded",
));
}