示例#1
0
        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));
            }
        }
示例#2
0
 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));
 }