public static Message CreateMessage(Database.POCO.Message messageEntity) { var msg = new Message(messageEntity, new User(messageEntity.Sender)); msg.Attachments = messageEntity.Attachments.Select(a => new Attachment(a, msg)).ToList(); messageEntity.MessagesReceivers.ForEach(mr => msg.AddReceiver(new User(mr.User), mr.IsRead)); messageEntity.MessagesCCs.ForEach(mcc => msg.AddCcUser(new User(mcc.User), mcc.IsRead)); messageEntity.MessagesBCCs.ForEach(mbcc => msg.AddBccUser(new User(mbcc.User), mbcc.IsRead)); return(msg); }
private static Message createMessage(Database.POCO.Message entity, User sender) { var msg = new Message(entity, sender); msg.Attachments = entity.Attachments.Select(a => new Attachment(a, msg)).ToList(); entity.MessagesReceivers.ForEach(mr => msg.AddReceiver(new User(mr.User), mr.IsRead)); entity.MessagesCCs.ForEach(mcc => msg.AddCcUser(new User(mcc.User), mcc.IsRead)); entity.MessagesBCCs.ForEach(mbcc => msg.AddBccUser(new User(mbcc.User), mbcc.IsRead)); return(msg); }
public async Task <Message> AddAsync(Message message) { var messageEntity = new Database.POCO.Message() { Subject = message.Subject, MessageBody = message.MessageBody, Sender = context.Users.First(u => u.Email.Equals(message.Sender.Email)), MessagesReceivers = findReceivers(message).ToList(), MessagesCCs = findCC(message).ToList(), MessagesBCCs = findBCC(message).ToList(), Attachments = findAttachments(message).ToList(), ReceivedTime = message.ReceivedTime }; var added = context.Messages.Add(messageEntity).Entity; await context.SaveChangesAsync(); return(createMessage(added)); }
private async Task <Message> deleteMessage(Database.POCO.Message messageEntity) { // remove all entities associated with the message messageEntity.BCC.Clear(); messageEntity.CC.Clear(); messageEntity.Receivers.Clear(); foreach (var attachment in messageEntity.Attachments) { context.Attachments.Remove(attachment); } messageEntity.Attachments.Clear(); var removed = context.Messages.Remove(messageEntity).Entity; await context.SaveChangesAsync(); return(createMessage(removed)); }
public static Database.POCO.Message CreateMessage(WebmailContext context, string subject, string content, Database.POCO.User sender, List <Database.POCO.User> receivers, List <Database.POCO.User> cc, List <Database.POCO.User> bcc, DateTime?receivedTime = null) { var message = new Database.POCO.Message() { Sender = sender, Subject = subject, MessageBody = content, Attachments = new List <Database.POCO.Attachment>(), ReceivedTime = receivedTime ?? DateTime.Now }; message.MessagesReceivers = receivers.Select(mr => new MessagesReceivers() { User = mr, Message = message, IsRead = false }).ToList(); message.MessagesCCs = cc.Select(mc => new MessagesCCs() { User = mc, Message = message, IsRead = false }).ToList(); message.MessagesBCCs = bcc.Select(mb => new MessagesBCCs() { User = mb, Message = message, IsRead = false }).ToList(); message = context.Messages.Add(message).Entity; context.SaveChanges(); return(message); }
private static Message createMessage(Database.POCO.Message entity) { return(createMessage(entity, new User(entity.Sender))); }