public EncryptedMessage(EncryptedMessageStore messageStore)
 {
     Id        = messageStore.Id;
     From      = messageStore.From;
     To        = messageStore.To;
     Title     = messageStore.Title;
     Content   = messageStore.Content;
     Timestamp = messageStore.Timestamp;
     ToKey     = messageStore.ToKey;
     FromKey   = messageStore.FromKey;
     IV        = messageStore.IV;
     Nonce     = messageStore.Nonce;
 }
Esempio n. 2
0
        public async Task <bool> TryAddAsync(EncryptedMessage message)
        {
            var id = message.Id;

            if (!_messageValidator.Validate(message))
            {
                return(false);
            }
            if (GetMessageById(message.Id) != null)
            {
                return(false);
            }

            try
            {
                var messageDb = new EncryptedMessageStore(message);
                _applicationDatabase.Messages.Add(messageDb);
                return(await _applicationDatabase.SaveChangesAsync() > 0);
            }
            catch (DbException)
            {
                return(false);
            }
        }