예제 #1
0
        public ActionResult Edit(string username)
        {
            if (!User.Identity.GetApplicationUserUsername().Equals(username) || User.IsInRole("Admin"))
            {
                return(RedirectToAction("Unauthorized", "Account"));
            }

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                //string loggedInUser = User.Identity.GetApplicationUserUsername();
                foreach (var x in db.users.ToList())
                {
                    if (x.user_username.Equals(username))
                    {
                        EditAccoutViewModel eavm = new EditAccoutViewModel();
                        var user = UserManager.FindByEmail(x.user_email);
                        eavm.Id              = user.Id;
                        eavm.Username        = x.user_username;
                        eavm.Password        = x.user_password;
                        eavm.ConfirmPassword = x.user_password;
                        eavm.OldPassword     = x.user_password;
                        eavm.Email           = x.user_email;

                        return(View(eavm));
                    }
                }
            }
            return(View());
        }
예제 #2
0
        public ActionResult Edit(EditAccoutViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //ApplicationUser
            var user = UserManager.FindById(model.Id);

            Debug.WriteLine("Korisnik" + user.ToString());
            //for database user
            var oldUsername = user.ApplicationUserUsername;

            Debug.WriteLine("Staro korisnicko : " + oldUsername);

            //Database user
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                foreach (var x in db.users.ToList())
                {
                    if (x.user_username.Equals(oldUsername))
                    {
                        x.user_username = model.Username;
                        x.user_email    = model.Email;
                        x.user_password = model.Password;

                        //Image sex
                        if (model.ImageFile != null)
                        {
                            string Extension = Path.GetExtension(model.ImageFile.FileName);
                            string FileName  = x.users_id.ToString() + Extension;

                            string rootPath = Server.MapPath("~");
                            if (x.user_icon != null)
                            {
                                System.IO.File.Delete(rootPath + "/Content/UserPhotos/" + x.user_icon);
                            }

                            //Assigning video icon
                            x.user_icon = FileName;
                            //Saving video thumbnail
                            FileName = Path.Combine(Server.MapPath("~/Content/UserPhotos/"), FileName);
                            model.ImageFile.SaveAs(FileName);
                        }
                    }
                }
                db.SaveChanges();
            }



            //Applicationuser
            user.ApplicationUserUsername = model.Username;
            UserManager.SetEmail(model.Id, model.Email);
            user.UserName = model.Email;
            UserManager.ChangePassword(model.Id, model.OldPassword, model.Password);
            if (model.Role != null)
            {
                if (model.Role.Equals("Admin"))
                {
                    UserManager.AddToRole(model.Id, "Admin");
                }
                else
                {
                    UserManager.RemoveFromRole(model.Id, "Admin");
                }
            }
            else
            {
                UserManager.AddToRole(model.Id, "Regular");
            }


            UserManager.Update(user);


            if (User.Identity.GetUserId().Equals(model.Id))
            {
                AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                return(RedirectToAction("Login", "Account", new { returnUrl = "/Video/Index" }));
            }
            else
            {
                return(View());
            }
        }