public ActionResult Create(InvitationViewModel invitation) { if (ModelState.IsValid) { var org = db.Organizations.Find(invitation.OrganizationId); List <Invitation> invites = new List <Invitation>(); foreach (var email in invitation.Emails.Split('\n')) { Invitation invite = new Invitation() { CreatedDate = DateTimeOffset.Now, Email = email.Trim(), SalesPersonEmail = invitation.SalesPersonEmail, Company = org.Name, OrganizationId = invitation.OrganizationId, Type = invitation.Type }; invites.Add(invite); db.Invitations.Add(invite); } int count = db.SaveChanges(); AddSuccess($"{count} invitations created."); // set the invite request to granted var request = db.InvitationRequests.Find(invitation.RequestId); if (request != null) { request.Status = RequestStatus.Granted; db.SaveChanges(); } if (count > 0) { IUserMailer UserMailer = new UserMailer(); foreach (var i in invites) { try { System.Net.Mail.Attachment at = new System.Net.Mail.Attachment(Server.MapPath("~/Content/VaworksInstructions.pdf")); Mvc.Mailer.MvcMailMessage msg = UserMailer.Invitation(i); msg.Attachments.Add(at); msg.Send(); } catch (Exception ex) { return(View("MailDown", ex)); } } } return(Confirmation()); } PopulateDropDown(invitation.OrganizationId); return(View(invitation)); }
public ActionResult ResendInvitation(int id) { var invite = db.Invitations.Find(id); if (invite != null) { IUserMailer UserMailer = new UserMailer(); try { System.Net.Mail.Attachment at = new System.Net.Mail.Attachment(Server.MapPath("~/Content/VaworksInstructions.pdf")); Mvc.Mailer.MvcMailMessage msg = UserMailer.Invitation(invite); msg.Attachments.Add(at); msg.Send(); } catch (Exception ex) { return(View("MailDown", ex)); } AddSuccess("Invitation resent."); } else { AddDanger("Invitation not found."); } return(Confirmation()); }