コード例 #1
0
        public ActionResult ChangePassword(ChangePasswordViewModel model)
        {
            bool updated = false;

            if (ModelState.IsValid)
            {
                if (model.NewPassword == model.ConfirmPassword)
                {
                    var userObject = db.Users.Where(d => d.Email == User.Identity.Name).FirstOrDefault();
                    if (userObject != null)
                    {
                        userObject.Password = EncrypterDecrypter.Encrypt(model.NewPassword);
                        db.SaveChanges();
                        updated = true;
                    }
                    else
                    {
                        updated = false;
                        ModelState.AddModelError("", "Please enter valid information");
                    }
                }
            }
            else
            {
                updated = false;
                ModelState.AddModelError("", "Please enter valid information");
            }
            ViewBag.UpdateMessage = updated == true ? "Successfully updated" : "";
            return(View(model));
        }
コード例 #2
0
        public ActionResult Register(User user)
        {
            user.CreatedDate    = DateTime.Now;
            user.UpdatedDate    = DateTime.Now;
            user.LinkExpiryDate = DateTime.Now;
            user.IsActive       = true;
            user.CreatedBy      = 1;
            user.UpdatedBy      = 1;
            user.UserRoleID     = 3;
            user.Password       = EncrypterDecrypter.Encrypt(user.Password);
            var objUser = db.Users.Where(d => d.Email == user.Email).Count();

            if (objUser == 0)
            {
                if (ModelState.IsValid)
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                    base.SetFlashMessage("User has been successfully saved.");
                    return(View());
                }
            }
            else
            {
                ModelState.AddModelError("", "User Already Exists");
                return(View(user));
            }
            return(View(user));
        }
コード例 #3
0
        public ResultSetViewModel ForgotPassword(string email)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var objUser = db.Users.Where(d => d.Email == email).FirstOrDefault();
                    if (objUser != null)
                    {
                        try
                        {
                            var          fromAddress  = new MailAddress("*****@*****.**", "AutoMax");
                            var          toAddress    = new MailAddress(email);
                            const string fromPassword = "******";
                            const string subject      = "Forgot Password";
                            var          tokenis      = Guid.NewGuid().ToString();
                            string       body         = "Dear " + objUser.FirstName + " " + objUser.LastName + ", <br/ ><br/ >"
                                                        + "Please find below a reminder of your password as requested. This message has been sent only to the email address used in your account. <br/ ><br/ >"
                                                        + "Your Password is : <b>" + EncrypterDecrypter.Decrypt(objUser.Password) + "</b> <br/ ><br/ >"
                                                        + "Thank you for your patience. Have a nice day ! <br/ ><br/ >Regards,<br/ >Support Team<br/ >Automax";
                            var smtp = new SmtpClient
                            {
                                Host                  = "smtp.gmail.com",
                                Port                  = 587,
                                EnableSsl             = true,
                                DeliveryMethod        = SmtpDeliveryMethod.Network,
                                UseDefaultCredentials = false,
                                Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
                            };
                            using (var message = new MailMessage(fromAddress, toAddress)
                            {
                                Subject = subject,
                                IsBodyHtml = true,
                                Body = body
                            })
                            {
                                smtp.Send(message);
                            }

                            return(new ResultSetViewModel("Email sent successfully with password instruction."));
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                    else
                    {
                        throw new Exception("User does not exist, please try again. Thanks");
                    }
                }

                throw new Exception("Please enter valid email and try again. Thanks");
            }
            catch (Exception ex)
            {
                return(new ResultSetViewModel(ex));
            }
        }
コード例 #4
0
ファイル: frmMain.cs プロジェクト: pj-martins/EncryptDecrypt
 private void btnDecrypt_Click(object sender, EventArgs e)
 {
     try
     {
         txtOutput.Text = EncrypterDecrypter.Decrypt(txtInput.Text, txtPassword.Text);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #5
0
        public IHttpActionResult GetUser(string email, string password)
        {
            password = EncrypterDecrypter.Encrypt(password);
            User user = db.Users.Where(d => d.Email == email && d.Password == password).FirstOrDefault();

            if (user == null)
            {
                return(NotFound());
            }
            return(Ok(user));
        }
コード例 #6
0
 private void Decrypt_Clicked(object sender, EventArgs e)
 {
     try
     {
         entryOutput.Text = EncrypterDecrypter.Decrypt(entryInput.Text, entryPwd.Text);
         startTimer();
     }
     catch (Exception ex)
     {
         DisplayAlert("Error:", ex.Message, "OK");
     }
 }
コード例 #7
0
 public ActionResult ForgotPassword(ForgotPasswordViewModel model)
 {
     if (ModelState.IsValid)
     {
         var objUser = db.Users.Where(d => d.Email == model.Email).FirstOrDefault();
         if (objUser != null)
         {
             try
             {
                 var          fromAddress  = new MailAddress("*****@*****.**", "AutoMax");
                 var          toAddress    = new MailAddress(model.Email);
                 const string fromPassword = "******";
                 const string subject      = "Forgot Password";
                 var          tokenis      = Guid.NewGuid().ToString();
                 string       body         = "Dear " + objUser.FirstName + " " + objUser.LastName + ", <br/ ><br/ >"
                                             + "Please find below a reminder of your password as requested. This message has been sent only to the email address used in your account. <br/ ><br/ >"
                                             + "Your Password is : <b>" + EncrypterDecrypter.Decrypt(objUser.Password) + "</b> <br/ ><br/ >"
                                             + "Thank you for your patience. Have a nice day ! <br/ ><br/ >Regards,<br/ >Support Team<br/ >Automax";
                 var smtp = new SmtpClient
                 {
                     Host                  = "smtp.gmail.com",
                     Port                  = 587,
                     EnableSsl             = true,
                     DeliveryMethod        = SmtpDeliveryMethod.Network,
                     UseDefaultCredentials = false,
                     Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
                 };
                 using (var message = new MailMessage(fromAddress, toAddress)
                 {
                     Subject = subject,
                     IsBodyHtml = true,
                     Body = body
                 })
                 {
                     smtp.Send(message);
                 }
                 ViewBag.EmailID = model.Email;
                 return(View(model));
             }
             catch (Exception)
             {
                 return(View(model));
             }
         }
         else
         {
             ModelState.AddModelError("", "User Doesn't exists");
             return(View(model));
         }
     }
     ModelState.AddModelError("", "Please enter valid emial");
     return(View(model));
 }
コード例 #8
0
 public ActionResult Edit(User user)
 {
     if (ModelState.IsValid)
     {
         user.Password        = EncrypterDecrypter.Encrypt(user.Password);
         user.UpdatedDate     = DateTime.Now;
         db.Entry(user).State = EntityState.Modified;
         db.SaveChanges();
         base.SetFlashMessage("User has been successfully saved.");
         return(RedirectToAction("Index"));
     }
     ViewBag.UserRoleID = new SelectList(db.UserRoles, "UserRoleID", "Role", user.UserRoleID);
     return(View(user));
 }
コード例 #9
0
        // GET: Users/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            User user = db.Users.Find(id);

            user.Password = EncrypterDecrypter.Decrypt(user.Password);
            if (user == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserRoleID = new SelectList(db.UserRoles, "UserRoleID", "Role", user.UserRoleID);

            return(View(user));
        }
コード例 #10
0
 public ActionResult Login(LoginViewModel model, string ReturnUrl)
 {
     if (!string.IsNullOrEmpty(model.Email) && !string.IsNullOrEmpty(model.Password))
     {
         try
         {
             var password = EncrypterDecrypter.Encrypt(model.Password);
             var userObj  = db.Users.Where(d => d.Email == model.Email && d.Password == password).FirstOrDefault();
             if (userObj != null)
             {
                 if (!userObj.IsActive)
                 {
                     ModelState.AddModelError("", "User account is Inactive");
                     return(View(model));
                 }
                 FormsAuthentication.SetAuthCookie(userObj.Email, true);
                 string URL = "";
                 if (string.IsNullOrEmpty(ReturnUrl))
                 {
                     return(Redirect("~/Dashboard/Index"));
                 }
                 else
                 {
                     return(Redirect(ReturnUrl));
                 }
             }
             else
             {
                 ModelState.AddModelError("", "Please enter correct email address or password");
                 return(View(model));
             }
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", "Please enter correct email address or password");
             return(View(model));
         }
     }
     else
     {
         ViewBag.ReturnUrl = ReturnUrl;
         return(View(model));
     }
 }
コード例 #11
0
        public ActionResult Create(User user)
        {
            user.CreatedDate    = DateTime.Now;
            user.UpdatedDate    = DateTime.Now;
            user.LinkExpiryDate = DateTime.Now;
            user.IsActive       = true;
            user.CreatedBy      = 1;
            user.UpdatedBy      = 1;
            var objUser = db.Users.Where(d => d.Email == user.Email).Count();

            if (objUser == 0)
            {
                if (ModelState.IsValid)
                {
                    if (!user.UserRoleID.HasValue)
                    {
                        user.UserRoleID = 3;                            // HACK : default is User
                    }
                    user.Password = EncrypterDecrypter.Encrypt(user.Password);
                    db.Users.Add(user);
                    db.SaveChanges();
                    base.SetFlashMessage("User has been successfully saved.");
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                ModelState.AddModelError("", "User Already Exists");
                return(View(user));
            }
            List <SelectListItem> rolesDropdown = new List <SelectListItem>();

            foreach (var item in db.UserRoles)
            {
                rolesDropdown.Add(new SelectListItem {
                    Value = item.UserRoleID.ToString(), Text = item.Role
                });
            }
            ViewBag.UserRoleID = rolesDropdown;

            return(View(user));
        }
コード例 #12
0
 public ActionResult ResetPassword(ResetPasswordViewModel model)
 {
     if (ModelState.IsValid)
     {
         var userObje = db.Users.Where(d => d.Email == model.Email).FirstOrDefault();
         if (userObje != null)
         {
             userObje.Password = EncrypterDecrypter.Encrypt(model.Password);
             db.SaveChanges();
             ViewBag.UpdateMessage = "Success";
             return(View());
         }
     }
     else
     {
         ModelState.AddModelError("", "Password & Confirm Password doesn't match");
         return(View(model));
     }
     return(View());
 }