internal void RemoveAddIn(string addinCode) { AssemblyInformation asm = asmDAO.GetAssemblyInformation(addinCode); if (asm != null) { List <AssemblyInformation> dependencies = asmDAO.GetDependencies(asm); foreach (var dep in dependencies) { if (asmDAO.GetDependencyCount(dep) == 1) { asmDAO.RemoveAssembly(dep.Code); } } asmDAO.RemoveAssembly(asm.Code); Logger.Info(string.Format(Messages.RemoveAddinSuccess, asm.Name)); } }
internal void UpdateAppDataFolder(AssemblyInformation asm, string appFolder) { string fullPath = Path.Combine(appFolder, asm.FileName); List <AssemblyInformation> dependencies = asmDAO.GetDependencies(asm); if (IsDifferent(asm, fullPath)) { UpdateAssembly(asm, fullPath); } foreach (var dep in dependencies) { fullPath = Path.Combine(appFolder, dep.FileName); if (IsDifferent(dep, fullPath)) { UpdateAssembly(dep, fullPath); } } if (dependencies.Count == 0) { AssemblyInformation coreAsm = asmDAO.GetCoreAssemblyInformation(); UpdateAppDataFolder(coreAsm, appFolder); } }