public ActionResult Edit(ProvRegViewModel UVM)
        {
            if (ModelState.IsValid)
            {
                var adduser = db.Users.Where(x => x.Id.ToString() == UVM.Id.ToString()).SingleOrDefault();
                adduser.Id             = Convert.ToInt32(UVM.Id);
                adduser.FirstName      = adduser.FirstName;
                adduser.LastName       = adduser.LastName;
                adduser.UserName       = adduser.UserName;
                adduser.Gender         = adduser.Gender;
                adduser.Password       = adduser.Password;
                adduser.PhoneNumber    = adduser.PhoneNumber;
                adduser.Address        = adduser.Address;
                adduser.PostNumber     = adduser.PostNumber;
                adduser.Email          = adduser.Email;
                adduser.Departments_Id = adduser.Departments_Id;
                adduser.Villages_Id    = adduser.Villages_Id;
                adduser.Roles_Id       = adduser.Roles_Id;

                var getdep = db.Departments.Find(Convert.ToInt16(UVM.Departments_Id));
                var getvil = db.Villages.Find(Convert.ToInt16(UVM.Villages_Id));
                var getrol = db.Roles.Find(Convert.ToInt16(UVM.Roles_Id));
                if (getdep != null && getvil != null && getrol != null)
                {
                    adduser.Department = getdep;
                    adduser.Village    = getvil;
                    adduser.Role       = getrol;
                    //db.Entry(majorVM).State = EntityState.Modified;
                    db.SaveChanges();
                }
                var result = db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(UVM));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            User user = db.Users.Find(id);

            if (user == null)
            {
                return(HttpNotFound());
            }
            var province = db.Provinces.OrderBy(x => x.Name).Select(i => new SelectListItem()
            {
                Text     = i.Name,
                Value    = i.Id.ToString(),
                Selected = false
            }).ToArray();

            foreach (var get in province)
            {
                if (get.Value.Equals(user.Village.District.Regency.Province.Id.ToString()))
                {
                    get.Selected = true;
                    break;
                }
            }

            var regency = db.Regencies.OrderBy(x => x.Name).Select(i => new SelectListItem()
            {
                Text     = i.Name,
                Value    = i.Id.ToString(),
                Selected = false
            }).ToArray();

            foreach (var get in regency)
            {
                if (get.Value.Equals(user.Village.District.Regency.Id.ToString()))
                {
                    get.Selected = true;
                    break;
                }
            }
            var district = db.Districts.OrderBy(x => x.Name).Select(i => new SelectListItem()
            {
                Text     = i.Name,
                Value    = i.Id.ToString(),
                Selected = false
            }).ToArray();

            foreach (var get in district)
            {
                if (get.Value.Equals(user.Village.District.Id.ToString()))
                {
                    get.Selected = true;
                    break;
                }
            }
            var village = db.Villages.OrderBy(x => x.Name).Select(i => new SelectListItem()
            {
                Text     = i.Name,
                Value    = i.Id.ToString(),
                Selected = false
            }).ToArray();

            foreach (var get in village)
            {
                if (get.Value.Equals(user.Villages_Id.ToString()))
                {
                    get.Selected = true;
                    break;
                }
            }

            var role = db.Roles.OrderBy(x => x.Name).Select(i => new SelectListItem()
            {
                Text     = i.Name,
                Value    = i.Id.ToString(),
                Selected = false
            }).ToArray();

            foreach (var get in role)
            {
                if (get.Value.Equals(user.Roles_Id.ToString()))
                {
                    get.Selected = true;
                    break;
                }
            }

            ViewBag.ProvList = province;
            ViewBag.RegList  = regency;
            ViewBag.DisList  = district;
            ViewBag.VilList  = village;
            ViewBag.RoleList = role;

            List <Department> DepList = db.Departments.ToList();

            ViewBag.DepList = new SelectList(DepList, "Id", "Name");



            var toview = new ProvRegViewModel(user);

            return(View(toview));
        }