public void btn_Retirer() { if (CurrentDep != null) { ListDependencies.Remove(CurrentDep); Package currentPackage = null; Macro currentMacro = null; LTG_Entity.Environment currentEnv = null; Meta currentMeta = null; switch (ManagedItemType) { case DBItemType.Template: switch (DependencyType) { case DBItemType.Macro: currentMacro = (Macro)ListAvailables.FirstOrDefault(p => ((Macro)p).Name == DepName); Linq.RemoveJoin(ManagedTemplate, currentMacro); break; case DBItemType.Package: currentPackage = (Package)ListAvailables.FirstOrDefault(p => ((Package)p).Name == DepName); Linq.RemoveJoin(ManagedTemplate, currentPackage); break; case DBItemType.Meta: currentMeta = (Meta)ListAvailables.FirstOrDefault(p => ((Meta)p).Name == DepName); Linq.RemoveJoin(ManagedTemplate, currentMeta); break; case DBItemType.Environment: currentEnv = (LTG_Entity.Environment)ListAvailables.FirstOrDefault(p => ((LTG_Entity.Environment)p).Name == DepName); Linq.RemoveJoin(ManagedTemplate, currentEnv); break; default: break; } break; case DBItemType.Macro: currentPackage = (Package)ListAvailables.FirstOrDefault(p => ((Package)p).Name == DepName); ManagedMacro.Packages.Remove(currentPackage); break; case DBItemType.Meta: switch (DependencyType) { case DBItemType.Macro: currentMacro = (Macro)ListAvailables.FirstOrDefault(p => ((Macro)p).Name == DepName); ManagedMeta.Macroes.Remove(currentMacro); break; case DBItemType.Package: currentPackage = (Package)ListAvailables.FirstOrDefault(p => ((Package)p).Name == DepName); ManagedMeta.Packages.Remove(currentPackage); break; case DBItemType.Meta: currentMeta = (Meta)ListAvailables.FirstOrDefault(p => ((Meta)p).Name == DepName); ManagedMeta.Metas.Remove(currentMeta); break; case DBItemType.Environment: currentEnv = (LTG_Entity.Environment)ListAvailables.FirstOrDefault(p => ((LTG_Entity.Environment)p).Name == DepName); ManagedMeta.Environments.Remove(currentEnv); break; default: break; } break; case DBItemType.Environment: currentPackage = (Package)ListAvailables.FirstOrDefault(p => ((Package)p).Name == DepName); ManagedEnvironment.Packages.Remove(currentPackage); break; default: break; } } App.Entities.SaveChanges(); }