public IHttpActionResult EditUserProfile(string username,
                                                 [FromBody] AdminEditUserBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            // Find the user in the database
            var user = this.Data.Users.All().FirstOrDefault(x => x.UserName == username);

            if (user == null)
            {
                return(this.BadRequest("User not found: username = "******"admin")
            {
                return(this.BadRequest("Edit profile for user 'admin' is not allowed!"));
            }

            user.Name        = model.Name;
            user.Email       = model.Email;
            user.PhoneNumber = model.PhoneNumber;
            user.TownId      = model.TownId;

            if (model.IsAdmin.HasValue)
            {
                if (model.IsAdmin.Value)
                {
                    // Make the user administrator
                    this.UserManager.AddToRole(user.Id, "Administrator");
                }
                else
                {
                    // Make the user non-administrator
                    this.UserManager.RemoveFromRole(user.Id, "Administrator");
                }
            }

            this.Data.SaveChanges();

            return(this.Ok(
                       new
            {
                message = "User " + user.UserName + " edited successfully.",
            }
                       ));
        }
示例#2
0
        public IHttpActionResult EditUserProfile(string username,
                                                 AdminEditUserBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var user = this.Data.Users.All().FirstOrDefault(x => x.UserName == username);

            if (user == null)
            {
                return(this.BadRequest("User not found: username = "******"Administrator");
                }
                else
                {
                    this.UserManager.RemoveFromRole(user.Id, "Administrator");
                }
            }

            this.Data.SaveChanges();

            return(this.Ok(
                       new
            {
                message = "User " + user.UserName + " edited successfully.",
            }
                       ));
        }