示例#1
0
        public async Task <ActionResult> Edit(EditUserViewModel e)
        {
            if (ModelState.IsValid)
            {
                User user = await db.Users.FindAsync(e.UserID);

                if (user == null)
                {
                    return(HttpNotFound());
                }
                if (!e.EmailAddress.Equals(user.EmailAddress))
                {
                    var checkUser = db.Users.FirstOrDefault(u => u.EmailAddress == e.EmailAddress);
                    if (checkUser != null)
                    {
                        ModelState.AddModelError("", "Sorry! This Email address has been registered, please try another one");
                        return(View());
                    }
                }
                user = EditUserViewModel.ConvertToUser(e, user);
                db.Entry(user).State = EntityState.Modified;
                await db.SaveChangesAsync();

                TempData["Msg"] = "alert('Your profile has been updated successfully!')";
                return(RedirectToAction("Details"));
            }
            return(View());
        }
        public IActionResult Edit(Guid id, EditUserViewModel model)
        {
            if (IsUserNotFound(id))
            {
                return(NotFound($"User with id='{id}' not found"));
            }

            try
            {
                _userService.EditUser(model.ConvertToUser());
                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }