public async Task <ActionResult> UpdateChild(string id, [FromBody] AdminEditUser model) { if (!ModelState.IsValid) { _logger.LogError("ERROR: AdminController UpdateChild model state as an admin is invalid"); } var role = User.FindFirst(ClaimTypes.Role)?.Value; if (role == ApplicationRole.ADMIN) { var user = await _userManager.FindByIdAsync(id); if (user != null) { user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.BirthDate = DateTime.Parse(model.BirthDate); user.Street = model.Street; user.City = model.City; user.Province = model.Province; user.PostalCode = model.PostalCode; user.Country = model.Country; user.Latitude = model.Latitude; user.Longitude = model.Longitude; user.UserName = model.FirstName.ToLower(); user.IsNaugthy = model.IsNaugthy; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(Ok()); } else { return(BadRequest()); } } else { return(NotFound()); } } else { return(Unauthorized()); } }
public async Task <ActionResult> Profile() { string email = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; ApplicationUser user = await _userManager.FindByEmailAsync(email); if (user != null) { AdminEditUser temp = AdminEditUser.Transform(user); return(Ok(temp)); } else { return(NotFound()); } }
public async Task <ActionResult> Profile([FromBody] AdminEditUser model) { if (!ModelState.IsValid) { _logger.LogError("ERROR: update profile model state is invalid"); } string email = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var user = await _userManager.FindByEmailAsync(email); if (user != null) { user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.BirthDate = DateTime.Parse(model.BirthDate); user.Street = model.Street; user.City = model.City; user.Province = model.Province; user.PostalCode = model.PostalCode; user.Country = model.Country; user.Latitude = model.Latitude; user.Longitude = model.Longitude; user.UserName = model.FirstName.ToLower(); user.IsNaugthy = model.IsNaugthy; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(Ok()); } else { return(BadRequest()); } } else { return(NotFound()); } }
public ActionResult EditUser(AdminEditUser user) { if (ModelState.IsValid) { string id; string IsActiv; if (user.UserRoles != null && user.UserRoles.Length > 0) { foreach (var i in user.UserRoles) { id = i.Substring(i.IndexOf("-") + 1); IsActiv = i.Substring(0, i.Length - id.Length - 1); if (IsActiv == "Activ") { var item = db.UserRoles.FirstOrDefault(f => f.UserDbId == user.Id && f.RoleId.ToString() == id); if (item == null) { db.UserRoles.Add(new UserRole() { UserDbId = user.Id, RoleId = int.Parse(id) }); } } else { var item = db.UserRoles.FirstOrDefault(f => f.Id.ToString() == id); if (item != null) { db.UserRoles.Remove(item); } } } } } db.SaveChanges(); return(RedirectToAction("UsersIndex")); }
public async Task <ActionResult> GetChild(string id) { string role = User.FindFirst(ClaimTypes.Role)?.Value; if (role == ApplicationRole.ADMIN) { ApplicationUser user = await _userManager.FindByIdAsync(id); if (user != null) { AdminEditUser temp = AdminEditUser.Transform(user); return(Ok(temp)); } else { return(NotFound()); } } else { return(Unauthorized()); } }
public ActionResult Edit(AdminEditUser editedUser) { if (!unitOfWork.UserService.IsExistUserByUserName(editedUser.UserName, editedUser.CurrentUserName)) { if (!unitOfWork.UserService.IsExistUserByEmail(editedUser.Email, editedUser.CurrentEmail)) { var user = unitOfWork.UserService.GetUserByUserId(editedUser.UserId); user.IsActive = editedUser.IsActive; user.UserName = editedUser.UserName; user.Email = editedUser.Email; unitOfWork.UserService.UpdateUser(user); unitOfWork.save(); return(RedirectToAction("Index")); } ModelState.AddModelError("Email", "ایمیل استفاده شده تکراری میباشد"); } else { ModelState.AddModelError("UserName", "نام کاربری استفاده شده تکراری میباشد"); } return(View(editedUser)); }
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously public async Task <ActionResult> List() { #pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously string role = User.FindFirst(ClaimTypes.Role)?.Value; if (role == ApplicationRole.ADMIN) { List <ApplicationUser> users = _context.Users.ToList(); List <AdminEditUser> list = new List <AdminEditUser>(); foreach (ApplicationUser user in users) { AdminEditUser temp = AdminEditUser.Transform(user); list.Add(temp); } return(Ok(list)); } else { return(Unauthorized()); } }