public virtual void Delete(Guid id) { var item = GetById(id); Table.Remove(item); _dbContext.SaveChanges(); }
public Guid CurrentUserId() { // just create a single default user for now, multi user will come later var user = _dbContext.User.FirstOrDefault(); if (user == null) { user = new User() { Email = "*****@*****.**", Password = "" }; _dbContext.User.Add(user); _dbContext.SaveChanges(); } return(user.Id); }
public void HandleMessage(Stream content) { var memStream = new MemoryStream(); content.CopyTo(memStream); memStream.Seek(0, SeekOrigin.Begin); var messageContent = MimeMessage.Load(memStream); memStream.Seek(0, SeekOrigin.Begin); var contextVariables = messageContent.Headers.ToDictionary(h => h.Field, h => h.Value); contextVariables.Add("CLIENT_IP", _context.IPEndPoint.Address.ToString()); contextVariables.Add("CLIENT_HOST", _context.Hostname); var inboxPath = _inboxService.TokenizeString(_context.User, contextVariables); contextVariables.Add("INBOX", string.Join("/", inboxPath)); var inbox = _inboxService.GetInboxByPath(inboxPath); var message = new Message() { Inbox = inbox, DateSent = messageContent.Date.LocalDateTime, From = messageContent.From.ToString(), To = messageContent.To.ToString(), Cc = messageContent.Cc.ToString(), Bcc = messageContent.Bcc.ToString(), HasAttachments = messageContent.Attachments.Any(), Source = new StreamReader(memStream).ReadToEnd(), Subject = messageContent.Subject, Summary = messageContent.TextBody, DateCreated = DateTime.Now, CreatedByClientIP = _context.IPEndPoint.Address.ToString(), CreatedByClientHostname = _context.Hostname }; _dbContext.Messages.Add(message); _dbContext.SaveChanges(); #pragma warning disable CS4014 SendNotification(message); #pragma warning restore CS4014 }