public ActionResult Signup(FormCollection form) { SetMenuSelection("Signup"); DBContext db = new DBContext(); #region Add User if (form.Count > 0) { string name = form["txtName"]; string first = form["txtFirst"]; string last = form["txtLast"]; string company = form["txtCompany"]; string email = form["txtEmail"]; string password = form["txtPassword"]; string confirm = form["txtConfirm"]; ViewData["Name"] = name; ViewData["First"] = first; ViewData["Last"] = last; ViewData["Company"] = company; ViewData["Email"] = email; #region Validation if (name == string.Empty || first == string.Empty || last == string.Empty || email == string.Empty || password == string.Empty || confirm == string.Empty || company == string.Empty) { ViewData["Status"] = "All fields are required..."; return View(); } if (!Regex.IsMatch(email, @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")) { ViewData["Status"] = "Come on...email needs to be real otherwise we can't send you your authorization key."; return View(); } if (password != confirm) { ViewData["Status"] = "Passwords don't match..."; return View(); } //dup name check var check = db.Users.SingleOrDefault(i => i.Login == name); if (check != null) { ViewData["Status"] = "Sorry, that user name is taken."; return View(); } #endregion User u = new User(); u.ID = Guid.NewGuid(); u.Login = name; u.FirstName = first; u.LastName = last; u.CompanyName = company; u.Email = email; u.Password = UtilCommand.GetMD5(password); u.AuthKey = Guid.NewGuid(); db.Users.InsertOnSubmit(u); UserUserType uut = new UserUserType(); uut.ID = Guid.NewGuid(); uut.UserID = u.ID; uut.UserTypeID = new Guid("4cbef1c1-c2fa-4ce6-9bc1-6cada43ad0d4"); //developer db.UserUserTypes.InsertOnSubmit(uut); db.SubmitChanges(); #region Send Email StringBuilder sb = new StringBuilder(); sb.Append("<h2>Welcome to Metrix!</h2>"); sb.Append("<p>Thank you for signing up to Metrix. The last step to completing your profile is copying the code below and pasting it into your profile page at http://metrix.webosroundup.com.</p>"); sb.Append("<p>If you have logged out of metrix, simply log back in and paste in the code.</p>"); sb.Append("<p><strong>Authorization Key:</strong> "); sb.Append(u.AuthKey.ToString()); sb.Append("</p><p>Thank you again for your interest in Metrix. If you have any questions, please feel free to email us at [email protected] and we will get back to you as soon as possible."); sb.Append("<br/><p>-- The webOSroundup and Syntactix teams</p>"); UtilCommand.SendEmail(email, "Metrix Authorization Key", sb.ToString()); #endregion Session["UserID"] = u.ID; Session["UserTypes"] = u.UserUserTypes.ToList(); return RedirectToAction("Authentication", "Profile"); } #endregion return View(); }
public ActionResult Signup(FormCollection form) { SetMenuSelection("Signup"); DBContext db = new DBContext(); #region Add User if (form.Count > 0) { string name = form["txtName"]; string first = form["txtFirst"]; string last = form["txtLast"]; string company = form["txtCompany"]; string email = form["txtEmail"]; string password = form["txtPassword"]; string confirm = form["txtConfirm"]; ViewData["Name"] = name; ViewData["First"] = first; ViewData["Last"] = last; ViewData["Company"] = company; ViewData["Email"] = email; #region Validation if (name == string.Empty || first == string.Empty || last == string.Empty || email == string.Empty || password == string.Empty || confirm == string.Empty || company == string.Empty) { ViewData["Status"] = "All fields are required..."; return(View()); } if (!Regex.IsMatch(email, @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")) { ViewData["Status"] = "Come on...email needs to be real otherwise we can't send you your authorization key."; return(View()); } if (password != confirm) { ViewData["Status"] = "Passwords don't match..."; return(View()); } //dup name check var check = db.Users.SingleOrDefault(i => i.Login == name); if (check != null) { ViewData["Status"] = "Sorry, that user name is taken."; return(View()); } #endregion User u = new User(); u.ID = Guid.NewGuid(); u.Login = name; u.FirstName = first; u.LastName = last; u.CompanyName = company; u.Email = email; u.Password = UtilCommand.GetMD5(password); u.AuthKey = Guid.NewGuid(); db.Users.InsertOnSubmit(u); UserUserType uut = new UserUserType(); uut.ID = Guid.NewGuid(); uut.UserID = u.ID; uut.UserTypeID = new Guid("4cbef1c1-c2fa-4ce6-9bc1-6cada43ad0d4"); //developer db.UserUserTypes.InsertOnSubmit(uut); db.SubmitChanges(); #region Send Email StringBuilder sb = new StringBuilder(); sb.Append("<h2>Welcome to Metrix!</h2>"); sb.Append("<p>Thank you for signing up to Metrix. The last step to completing your profile is copying the code below and pasting it into your profile page at http://metrix.webosroundup.com.</p>"); sb.Append("<p>If you have logged out of metrix, simply log back in and paste in the code.</p>"); sb.Append("<p><strong>Authorization Key:</strong> "); sb.Append(u.AuthKey.ToString()); sb.Append("</p><p>Thank you again for your interest in Metrix. If you have any questions, please feel free to email us at [email protected] and we will get back to you as soon as possible."); sb.Append("<br/><p>-- The webOSroundup and Syntactix teams</p>"); UtilCommand.SendEmail(email, "Metrix Authorization Key", sb.ToString()); #endregion Session["UserID"] = u.ID; Session["UserTypes"] = u.UserUserTypes.ToList(); return(RedirectToAction("Authentication", "Profile")); } #endregion return(View()); }