public async Task <IHttpActionResult> ChangeUserActiveStatus([FromBody] UserEditStatus model) { ApplicationDbContext context = new ApplicationDbContext(); ApplicationUser user = await context.Users.SingleAsync(u => u.Email == model.Email); //finds user by email provided by admin if (user == null) { return(NotFound()); } //user.Active = Convert.ToBoolean(model.Active); //Here we make sure that the input is recieved as a bool and not a string user.Active = bool.Parse(model.Active.ToString()); if (user.Active == true) { user.ReactivatedDate = DateTimeOffset.Now; } else { user.InactiveDate = DateTimeOffset.Now; } if (await context.SaveChangesAsync() != 1) { return(InternalServerError()); } return(Ok($"User status changed to {user.Active}")); }
public ActionResult ChangeActivationStatus(int id, UserEditStatus status) { var user = _providerService.GetById(id); if (status == UserEditStatus.Active) { user.Status = (byte)UserEditStatus.Inactive; } else { user.Status = (byte)UserEditStatus.Active; } user.UpdaterId = LogedInAdmin.Id; _providerService.Update(user); ModelState.AddModelError(string.Empty, $"کاربر با موفقیت {(status == UserEditStatus.Active ? "غیر فعال" : "فعال")} شد"); return(View("Details", _mapper.Map <ProviderViewModel>(user))); }