public async Task <ActionResult> DeleteEmp(int id) { CustomModel.ResultModel customModel = new CustomModel.ResultModel() { Message = "刪除失敗" }; EmpService empService = new EmpService(); EMPLOYEE emp = empService.FindOne(id); var user = await UserManager.FindByNameAsync(emp.empaccount); 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); empService.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)); } }
public JsonResult Delete(int id) { CustomModel.ResultModel customModel = new CustomModel.ResultModel() { Message = "刪除失敗" }; try { Service.Delete(id); customModel.Success = true; customModel.Message = "刪除成功"; return(Json(customModel)); } catch (DbEntityValidationException ex) { logger.Error(GetEntityErrorMsg(ex)); } catch (Exception ex) { logger.Error(ex.Message); } return(Json(customModel)); }