[HttpPost] //After the user enters the information public ActionResult RegisterUser(Models.UserModel user) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var Crypto = new SimpleCrypto.PBKDF2(); var encPass = Crypto.Compute(user.Password); var SysUser = db.Users.Create(); SysUser.Email = user.Email; SysUser.Password = encPass; SysUser.PasswordSalt = Crypto.Salt; SysUser.UserID = Guid.NewGuid(); SysUser.Name = user.Name; SysUser.LastName = user.LastName; SysUser.Genre = user.Genre; SysUser.BirthDay = user.BirthDay; db.Users.Add(SysUser); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Login Data is incorrect"); } return(View()); }
public ActionResult MailConfig(Models.ConfigDetailsModel MailConfig) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var ConfigDetails = db.ConfigDetails.Create(); var Crypto = new SimpleCrypto.PBKDF2(); var encPass = Crypto.Compute(MailConfig.Password); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); if (user != null) { ConfigDetails.SMTPHost = MailConfig.SMTPHost; ConfigDetails.SMTPPort = MailConfig.SMTPPort; ConfigDetails.Password = MailConfig.Password; ConfigDetails.PasswordSalt = Crypto.Salt; ConfigDetails.UserID = user.UserID; db.ConfigDetails.Add(ConfigDetails); db.SaveChanges(); return RedirectToAction("Index", "Home"); } return View(ConfigDetails); } } else { ModelState.AddModelError("", "Login Data is incorrect"); } return View(); }
public ActionResult MailConfig(Models.ConfigDetailsModel MailConfig) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var ConfigDetails = db.ConfigDetails.Create(); var Crypto = new SimpleCrypto.PBKDF2(); var encPass = Crypto.Compute(MailConfig.Password); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); if (user != null) { ConfigDetails.SMTPHost = MailConfig.SMTPHost; ConfigDetails.SMTPPort = MailConfig.SMTPPort; ConfigDetails.Password = MailConfig.Password; ConfigDetails.PasswordSalt = Crypto.Salt; ConfigDetails.UserID = user.UserID; db.ConfigDetails.Add(ConfigDetails); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(ConfigDetails)); } } else { ModelState.AddModelError("", "Login Data is incorrect"); } return(View()); }
public ActionResult Mailer(Models.EmailDetailsModel Email) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var EmailDetails = db.EmailDetails.Create(); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID); if (user != null & ConfigDetails != null) { EmailDetails.SenderName = String.Format("{0} {1}", user.Name, user.LastName); EmailDetails.SenderEmail = user.Email; EmailDetails.RecipientName = Email.RecipientEmail.Substring(0, Email.RecipientEmail.IndexOf("@")); EmailDetails.RecipientEmail = Email.RecipientEmail; EmailDetails.Subject = Email.Subject; EmailDetails.Body = Email.Body; EmailDetails.MailingDate = DateTime.Today; EmailDetails.UserID = user.UserID; db.EmailDetails.Add(EmailDetails); db.SaveChanges(); //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587)) using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort)) { clientDetails.EnableSsl = true; clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password); clientDetails.EnableSsl = true; SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails); MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer(); mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper); } } else { ModelState.AddModelError("", "Please review your configuration settings"); } return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Mail Data is incorrect"); } return(View()); }
public ActionResult Mailer(Models.EmailDetailsModel Email) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var EmailDetails = db.EmailDetails.Create(); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID); if (user != null & ConfigDetails != null) { EmailDetails.SenderName = String.Format("{0} {1}", user.Name, user.LastName); EmailDetails.SenderEmail = user.Email; EmailDetails.RecipientName = Email.RecipientEmail.Substring(0,Email.RecipientEmail.IndexOf("@")); EmailDetails.RecipientEmail = Email.RecipientEmail; EmailDetails.Subject = Email.Subject; EmailDetails.Body = Email.Body; EmailDetails.MailingDate = DateTime.Today; EmailDetails.UserID = user.UserID; db.EmailDetails.Add(EmailDetails); db.SaveChanges(); //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587)) using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort)) { clientDetails.EnableSsl = true; clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password); clientDetails.EnableSsl = true; SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails); MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer(); mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper); } } else { ModelState.AddModelError("", "Please review your configuration settings"); } return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "Mail Data is incorrect"); } return View(); }
private bool IsValid(string email, string password) { var Crypto = new SimpleCrypto.PBKDF2(); //instantiate the SimpleCrypto Class to be able to encrypt the password bool isValid = false; using (var db = new MailAppDBEntities()) { var user = db.Users.FirstOrDefault(u => u.Email == email); if (user != null) { if (user.Password == Crypto.Compute(password, user.PasswordSalt)) { isValid = true; } } } return(isValid); }
public ActionResult LogIn(Models.UserModel user) { if (ModelState.IsValid) { if (IsValid(user.Email, user.Password)) { FormsAuthentication.SetAuthCookie(user.Email, false); using (var db = new MailAppDBEntities()) { var SessionInf = db.Users.FirstOrDefault(u => u.Email == user.Email); } return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Incorrect Login Data"); } } return(View(user)); }
public ActionResult LogIn(Models.UserModel user) { if(ModelState.IsValid) { if (IsValid(user.Email, user.Password)) { FormsAuthentication.SetAuthCookie(user.Email, false); using (var db = new MailAppDBEntities()) { var SessionInf = db.Users.FirstOrDefault(u => u.Email == user.Email ); } return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", "Incorrect Login Data"); } } return View(user); }
private bool IsValid(string email, string password) { var Crypto = new SimpleCrypto.PBKDF2(); //instantiate the SimpleCrypto Class to be able to encrypt the password bool isValid =false; using (var db = new MailAppDBEntities()) { var user = db.Users.FirstOrDefault(u=>u.Email == email); if (user != null) { if(user.Password== Crypto.Compute(password,user.PasswordSalt)) { isValid = true; } } } return isValid; }
public ActionResult RegisterUser(Models.UserModel user) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var Crypto = new SimpleCrypto.PBKDF2(); var encPass = Crypto.Compute(user.Password); var SysUser = db.Users.Create(); SysUser.Email = user.Email; SysUser.Password = encPass; SysUser.PasswordSalt = Crypto.Salt; SysUser.UserID = Guid.NewGuid(); SysUser.Name = user.Name; SysUser.LastName = user.LastName; SysUser.Genre = user.Genre; SysUser.BirthDay = user.BirthDay; db.Users.Add(SysUser); db.SaveChanges(); return RedirectToAction("Index","Home"); } } else { ModelState.AddModelError("", "Login Data is incorrect"); } return View(); }