public MvcMailMessage SubmitValveActuatorRequest(ValveActuatorRequestViewModel model, string email) { ViewData = new System.Web.Mvc.ViewDataDictionary(model); return(Populate(x => { x.Subject = "VaWorks Component Request from " + model.UserName; x.ViewName = "SubmitValveActuatorRequest"; x.To.Add(email); })); }
public ActionResult SubmitComponentRequest(ValveActuatorRequestViewModel viewModel, HttpPostedFileBase file) { var user = Database.Users.Find(User.Identity.GetUserId()); if (user != null) { viewModel.UserName = user.Name; viewModel.UserEmail = user.Email; viewModel.UserCompany = user.Organization.Name; var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(Database)); var admins = from role in roleManager.Roles where role.Name == "System Administrator" from u in role.Users select u.UserId; string message = $"{user.Name} has requested a new {viewModel.ValveOrActuator} be added to the system." + $"{viewModel.Manufacturer} {viewModel.Model} { viewModel.Size}"; IUserMailer mailer = new UserMailer(); foreach (var admin in admins) { Database.SystemMessages.Add(new SystemMessage() { UserId = admin, DateSent = DateTimeOffset.Now, Message = message }); // send the email var a = Database.Users.Where(u => u.Id == admin).FirstOrDefault(); var msg = mailer.SubmitValveActuatorRequest(viewModel, a.Email); if (file != null) { msg.Attachments.Add(new System.Net.Mail.Attachment(file.InputStream, file.FileName)); } msg.Send(); } } return(RedirectToAction("Index")); }