Exemplo n.º 1
0
        [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());
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
        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();
        }