// GET: Admin/Memmber/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } MEMBER mEMBER = Service.FindOne(id ?? 0); if (mEMBER == null) { return(HttpNotFound()); } return(View(mEMBER)); }
// GET: Admin/Memmber/Delete/5 public async Task <ActionResult> Delete(int?id) { CustomModel.ResultModel customModel = new CustomModel.ResultModel() { Message = "刪除失敗" }; MemService service = new MemService(); MEMBER member = service.FindOne(id); if (member == null) { return(Json(customModel)); } var user = await UserManager.FindByNameAsync(member.mememail); var logins = user.Logins; var rolesForUser = await UserManager.GetRolesAsync(user.Id); var appDbContext = HttpContext.GetOwinContext().Get <ApplicationDbContext>(); using (var transaction = appDbContext.Database.BeginTransaction()) { try { foreach (var login in logins.ToList()) { await UserManager.RemoveLoginAsync(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var result = await UserManager.RemoveFromRoleAsync(user.Id, item); } } await UserManager.DeleteAsync(user); Service.Delete(id); transaction.Commit(); customModel.Success = true; customModel.Message = "刪除成功"; return(Json(customModel)); } catch (DbEntityValidationException ex) { logger.Error(GetEntityErrorMsg(ex)); } catch (Exception ex) { logger.Error(ex.Message); transaction.Rollback(); } return(Json(customModel)); } }