Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
        //$"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));
        }