public ActionResult Invite(int userID) { EmailaddressesViewModel invitedemails = new EmailaddressesViewModel(); invitedemails.UserID = userID; return(View(invitedemails)); }
public ActionResult Invite(EmailaddressesViewModel invitedemails) { if (ModelState.IsValid) { int userid = invitedemails.UserID; string invalidemails = ""; char[] delimiters = (",: ").ToCharArray(); List <string> emails = invitedemails.Emailaddresses.Split(delimiters).ToList(); IUserMailer mailer = new UserMailer(); EmailModel emailmodel = new EmailModel(); emailmodel.From = db.UserProfiles.Where(x => x.UserId == userid).First().UserName; foreach (var emailaddress in emails) { if (IsValidEmail(emailaddress)) { emailmodel.To = emailaddress; Common.sendMail(emailmodel, EmailExist(emailaddress)); InsertRequestInfo(userid, emailmodel.From, emailmodel.To); } else { invalidemails = invalidemails + "," + emailaddress; } } if (invalidemails == "") { //AccountController acc = new AccountController(); return(RedirectPage(userid)); } else { invitedemails.Emailaddresses = invalidemails; } invitedemails.ErrorMessage = "Please correct these emailaddresses"; return(View(invitedemails)); } else { return(View()); } }
public ActionResult Invite(EmailaddressesViewModel invitedemails) { int userid = invitedemails.UserID; if (ModelState.IsValid) { string invalidemails = ""; string repeatrequests = ""; char[] delimiters = (",: ").ToCharArray(); List <string> emails = invitedemails.Emailaddresses.Split(delimiters).ToList(); IUserMailer mailer = new UserMailer(); EmailModel emailmodel = new EmailModel(); emailmodel.From = db.UserProfiles.Where(x => x.UserId == userid).First().UserName; string SenderFirstName = db.UserProfiles.Where(x => x.UserId == userid).First().FirstName; foreach (var emailaddress in emails) { string email = emailaddress; bool EmailExists = db.UserProfiles.Any(x => x.UserName == email); bool self = db.UserProfiles.Any(x => x.UserName == email && x.UserId == userid); int RequestSentCount = dbmeals.ContactLists.Where(x => x.UserID == userid && x.RecipientEmailAddress == emailaddress).Count(); if (self) { } else if (RequestSentCount >= 2) { repeatrequests = repeatrequests + "," + emailaddress; } else if (EmailExists) { var Recipient = db.UserProfiles.Where(x => x.UserName == email).First(); emailmodel.To = emailaddress; emailmodel.BCC = "*****@*****.**"; emailmodel.Subject = "Join me at Funfooding"; StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); sb.Append("<head>"); sb.Append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"); sb.Append("</head>"); sb.Append("<body>"); sb.Append("<div style=\"padding:20px; font:normal 14px Arial, Helvetica, sans-serif; color:#333333;\">"); sb.Append("Hi " + Recipient.FirstName.ToString() + ",<br />"); sb.Append("Connect with " + SenderFirstName + " at Funfooding!<br />"); sb.Append("<br />"); sb.Append("To Sign In click "); sb.Append("<a href=" + ConfigurationManager.AppSettings["funfoodingUrl"] + "/Account/Login/" + " style=\"color:#0066CC\"> here</a>.<br />"); // sb.Append("<a href=" + ConfigurationManager.AppSettings["funfoodingUrl"] + "/Account/SignUp/" + confirmationToken + " style=\"color:#0066CC\"> here</a>.<br />"); sb.Append("<br />"); sb.Append("If you have any problem completing the process, please contact <a href=\"#\" style=\"color:#0066CC\">[email protected]</a>.<br />"); sb.Append("<br /> "); sb.Append("Best regards,<br />"); sb.Append("Support Team<br />"); sb.Append("<a href=\"http://funfooding.com/\" style=\"color:#0066CC\">www.funfooding.com</a></div>"); sb.Append("</body>"); sb.Append("</html>"); emailmodel.EmailBody = sb.ToString(); Common.sendeMail(emailmodel, EmailExist(emailaddress)); InsertRequestInfo(userid, emailmodel.From, emailmodel.To, Recipient.UserId); } else { Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); Match match = regex.Match(email); if (!match.Success) { TempData["emailAlert"] = "Please enter valid email address"; return(RedirectToAction("Invite", "User", new { userid = userid })); } if (IsValidEmail(emailaddress)) { //string confirmationToken = // WebSecurity.CreateUserAndAccount(emailaddress, "Test12345", propertyValues: new // { // FirstName = "FirstName" // }, requireConfirmationToken: true); //new {Email=model.Email} emailmodel.To = emailaddress; emailmodel.BCC = "*****@*****.**"; emailmodel.Subject = "Join me at Funfooding"; StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); sb.Append("<head>"); sb.Append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"); sb.Append("</head>"); sb.Append("<body>"); sb.Append("<div style=\"padding:20px; font:normal 14px Arial, Helvetica, sans-serif; color:#333333;\">"); sb.Append("Hi there,<br />"); sb.Append("Join Funfooding to find and share food in and around your neighorhood!<br />"); sb.Append("<br />"); sb.Append("To sign up click "); sb.Append("<a href=" + ConfigurationManager.AppSettings["funfoodingUrl"] + "/Account/SignUp/" + " style=\"color:#0066CC\"> here</a>.<br />"); // sb.Append("<a href=" + ConfigurationManager.AppSettings["funfoodingUrl"] + "/Account/SignUp/" + confirmationToken + " style=\"color:#0066CC\"> here</a>.<br />"); sb.Append("<br />"); sb.Append("If you have any problem completing the process, please contact <a href=\"#\" style=\"color:#0066CC\">[email protected]</a>.<br />"); sb.Append("<br /> "); sb.Append("Best regards,<br />"); sb.Append("Support Team<br />"); sb.Append("<a href=\"http://funfooding.com/\" style=\"color:#0066CC\">www.funfooding.com</a></div>"); sb.Append("</body>"); sb.Append("</html>"); emailmodel.EmailBody = sb.ToString(); Common.sendeMail(emailmodel, EmailExist(emailaddress)); InsertRequestInfo(userid, emailmodel.From, emailmodel.To, null); } else { invalidemails = invalidemails + "," + emailaddress; } } } if (invalidemails == "" && repeatrequests == "") { //AccountController acc = new AccountController(); //return RedirectPage(userid); return(RedirectToAction("Index", "Contact", new { userID = userid })); } if (repeatrequests != "") { invitedemails.ErrorMessage = "Sorry, you cannot send another request.you have already requested these email address twice. " + repeatrequests; } if (invalidemails != "") { invitedemails.Emailaddresses = invalidemails; invitedemails.ErrorMessage = invitedemails.ErrorMessage + "<br><br>Please correct these emailaddresses" + invalidemails; } TempData["emailAlert"] = invitedemails.ErrorMessage; return(View(invitedemails)); } else { return(View()); } }