Example #1
0
        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));
        }
Example #2
0
        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));
        }