public ActionResult <CommonResponeModel> Delete(UserDeleteRequestModel model) { var user = userRepository.GetByUsername(model.Username); if (user != null) { user.IsActive = false; //Set user to in active user.InitBeforeSave(RequestUsername, InitType.Update); int result = userRepository.Update(user); if (result > 0) { Result = new SuccessResult(ActionType.Delete, AppGlobal.DeleteSuccess); Data = user; } else { Result = new ErrorResult(ActionType.Delete, AppGlobal.DeleteError); Data = user; } } else { string message = UserMessageGlobal.NotExistUser; Result = new ErrorResult(ActionType.Login, message); } return(GetCommonRespone()); }
public async Task <IHttpActionResult> Delete([FromUri] UserDeleteRequestModel request) { if (!ModelState.IsValid || request == null) { return(Content((HttpStatusCode)412, ModelState)); } using (var _db = new DatabaseContext()) { IAuthorizationManager authorizationManager = new AuthorizationManager(_db); Session session = authorizationManager.ValidateAndUpdateSession(request.token); if (session == null) { return(Content(HttpStatusCode.Unauthorized, "Session not valid!")); } try { UserManager um = new UserManager(_db); User user = await um.DeleteUser(_db, session.UserId); return(Ok(user)); } catch (Exception ex) { if (ex is FailedDeleteException) { return(Content(HttpStatusCode.BadRequest, "Some applications failed to delete")); } if (ex is DbEntityValidationException) { return(Content(HttpStatusCode.InternalServerError, "Database error")); } return(Content(HttpStatusCode.InternalServerError, "Service Unavailable")); } } }