SaveResponse SaveMessage(IFormCollection form) { var mail = new A4AMessageDetailViewModel(form).ModelClassFromViewModel(); mail.Subject = $"A4A Question on '{mail.Topic}'"; mail.Date = DateTime.Now.ToUniversalTime().ToString("r"); var userAndExperts = rep.GetUserAndExpertsForMessage(mail); if (!userAndExperts.experts.Any()) { throw new Exception($"Message topic did not select any experts - not sending or saving ... "); } mail = rep.AddObject(mail); int cnt = 0; foreach (var record in sender.SendMail(GetEmailDefinition(), mail, userAndExperts.user, userAndExperts.experts)) { var newEmailRecord = rep.AddObject(record); cnt++; } return(new SaveResponse { MessageId = mail.MessageId, SendCount = cnt }); }
//$"A4A Question on '{msg.Topic}' public A4AMailBoxViewModel SaveMessage(IFormCollection form) { var mail = new A4AMessageDetailViewModel(form).ModelClassFromViewModel(); mail.Subject = $"A4A Question on '{mail.Topic}'"; mail.Date = DateTime.Now.ToUniversalTime().ToString("r"); var userAndExperts = Repository.GetUserAndExpertsForMessage(mail); if (!userAndExperts.experts.Any()) { throw new Exception($"Message topic did not select any experts - not sending or saving ... "); } mail = Repository.AddObject(mail); foreach (var record in sender.SendMail(GetEmailDefinition(), mail, userAndExperts.user, userAndExperts.experts)) { var newEmailRecord = Repository.AddObject(record); } return(ListMessage(A4AMailboxType.Inbox)); }