コード例 #1
0
        public void BatchDeleteTest()
        {
            FrameworkUserBase v1 = new FrameworkUserBase();
            FrameworkUserBase v2 = new FrameworkUserBase();

            using (var context = new FrameworkContext(_seed, DBTypeEnum.Memory))
            {
                v1.ITCode   = "itcode";
                v1.Name     = "name";
                v1.Password = "******";
                v2.ITCode   = "itcode2";
                v2.Name     = "name2";
                v2.Password = "******";
                context.Set <FrameworkUserBase>().Add(v1);
                context.Set <FrameworkUserBase>().Add(v2);
                context.SaveChanges();
            }

            PartialViewResult rv = (PartialViewResult)_controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() });

            Assert.IsInstanceOfType(rv.Model, typeof(FrameworkUserBatchVM));
            (rv.Model as FrameworkUserBatchVM).ListVM.DoSearch();

            FrameworkUserBatchVM vm = rv.Model as FrameworkUserBatchVM;

            vm.Ids = new string[] { v1.ID.ToString(), v2.ID.ToString() };
            _controller.DoBatchDelete(vm, null);

            using (var context = new FrameworkContext(_seed, DBTypeEnum.Memory))
            {
                Assert.AreEqual(context.Set <FrameworkUserBase>().Count(), 0);
            }
        }
コード例 #2
0
        public async Task <ActionResult> DoBatchDelete(FrameworkUserBatchVM vm, IFormCollection nouse)
        {
            List <string> itcode = new List <string>();

            itcode = DC.Set <FrameworkUser>().CheckIDs(new List <string>(vm.Ids)).Select(x => x.ITCode).ToList();
            if (!ModelState.IsValid || !vm.DoBatchDelete())
            {
                return(PartialView("BatchDelete", vm));
            }
            else
            {
                using (var tran = DC.BeginTransaction())
                {
                    try
                    {
                        var ur = DC.Set <FrameworkUserRole>().Where(x => itcode.Contains(x.UserCode));
                        DC.Set <FrameworkUserRole>().RemoveRange(ur);
                        var ug = DC.Set <FrameworkUserGroup>().Where(x => itcode.Contains(x.UserCode));
                        DC.Set <FrameworkUserGroup>().RemoveRange(ug);
                        DC.SaveChanges();
                        tran.Commit();
                    }
                    catch
                    {
                        tran.Rollback();
                    }
                }

                await Wtm.RemoveUserCache(itcode.ToArray());

                return(FFResult().CloseDialog().RefreshGrid().Alert(Localizer["Sys.OprationSuccess"]));
            }
        }
コード例 #3
0
 public ActionResult DoBatchDelete(FrameworkUserBatchVM vm, IFormCollection nouse)
 {
     if (!ModelState.IsValid || !vm.DoBatchDelete())
     {
         return(PartialView("BatchDelete", vm));
     }
     else
     {
         return(FFResult().CloseDialog().RefreshGrid().Alert("操作成功"));
     }
 }
コード例 #4
0
 public ActionResult BatchDelete(FrameworkUserBatchVM vm, FormCollection noUse)
 {
     if (!ModelState.IsValid || !vm.DoBatchDelete())
     {
         return(PartialView(vm));
     }
     else
     {
         return(FFResult().CloseDialog().RefreshGrid().Alert(Language.OperationSucc));
     }
 }
コード例 #5
0
 public ActionResult DoBatchEdit(FrameworkUserBatchVM vm, IFormCollection nouse)
 {
     if (!ModelState.IsValid || !vm.DoBatchEdit())
     {
         return(PartialView("BatchEdit", vm));
     }
     else
     {
         return(FFResult().CloseDialog().RefreshGrid().Alert(Localizer["Sys.BatchEditSuccess", vm.Ids.Length]));
     }
 }
コード例 #6
0
ファイル: FrameworkUserController.cs プロジェクト: zz110/WTM
        public async Task <ActionResult> DoBatchDelete(FrameworkUserBatchVM vm, IFormCollection nouse)
        {
            if (!ModelState.IsValid || !vm.DoBatchDelete())
            {
                return(PartialView("BatchDelete", vm));
            }
            else
            {
                List <Guid?> tempids = new List <Guid?>();
                foreach (var item in vm?.Ids)
                {
                    tempids.Add(Guid.Parse(item));
                }
                var userids = DC.Set <FrameworkUserBase>().Where(x => tempids.Contains(x.ID)).Select(x => x.ID.ToString()).ToArray();
                await LoginUserInfo.RemoveUserCache(userids);

                return(FFResult().CloseDialog().RefreshGrid().Alert(Program._localizer?["OprationSuccess"]));
            }
        }