public async Task <ActionResult> DecryptMessage(EmailMessageViewModel message) { if (!message.MessageId.HasValue) { return(HttpNotFound()); } var model = new ViewMessageIndexModel(_emailMessageService); await model.BuildAsync(message.MessageId.Value); if (!string.IsNullOrEmpty(message.EncryptionKey)) { try { model.Message.Message = await _emailMessageService.DecryptMessageAsync( model.Message.Message, message.EncryptionKey); } catch (CryptographicException) { ModelState.AddModelError($"{nameof(message)}.{nameof(message.EncryptionKey)}", "Invalid encryption key!"); } } return(View("ViewMessage", model)); }
public async Task <ActionResult> ViewMessage(int?messageId) { if (!messageId.HasValue) { return(RedirectToAction("ViewMessagesIndex")); } var model = new ViewMessageIndexModel(_emailMessageService); await model.BuildAsync(messageId.Value); return(View("ViewMessage", model)); }