예제 #1
0
        public ActionResult ModuleDelete(int moduleID)
        {
            var module = new Module().Find(moduleID.ToString());
            if (module.Level == 3)
            {
                module.PostDelete();
            }
            else if (module.Level == 2)
            {
                using (Context ctx = new Context())
                    ctx.Module.Where(c => c.ParentID == moduleID).Delete();
                //ctx.Delete<U_Module>()
                //        .WhereSet(c => c.ParentID, WhereOperator.Equal, moduleID)
                //        .End()
                //
                module.PostDelete();

            }
            else if (module.Level == 1)
            {
                var chidren = new Module().FindAll(c => c.ParentID == moduleID);
                using (Context ctx = new Context())
                {
                    if (chidren != null && chidren.Count > 0)
                    {
                        foreach (var second in chidren)
                        {
                            ctx.Module.Where(c => c.ParentID == second.ID).Delete();
                            //ctx.Delete<U_Module>()
                            //        .WhereSet(c => c.ParentID, WhereOperator.Equal, second.ID)
                            //        .End()
                            //        .Excute();
                        }
                    }
                    ctx.Module.Where(c => c.ParentID == moduleID).Delete();
                    //ctx.Delete<U_Module>()
                    //        .WhereSet(c => c.ParentID, WhereOperator.Equal, moduleID)
                    //        .End()
                    //        .Excute();

                    module.PostDelete();
                }
            }
            return Content("1");
        }