private void CheckUpdate() { var directory = new DirectoryHash( Properties.Settings.Default.Mask, Utils.ConvertToArray(Properties.Settings.Default.FilesExclude)); var needUpdate = _client.GetDllsForUpdate(); var files = directory.NeedUpdate(needUpdate, Utils.ApplicationPath); var directoryPath = Properties.Settings.Default.UpdatePath; Directory.CreateDirectory(directoryPath); foreach (var fileName in files) { var filePath = Path.Combine(directoryPath, fileName); File.WriteAllBytes(filePath, _client.DllData(fileName)); } if (files.Length == 0) return; _update = files.Length > 0; Stop(); }
public Dictionary<string, string> GetDllsForUpdate() { Dictionary<string,string> result; try { var directory = new DirectoryHash( Properties.Settings.Default.Mask, Utils.ConvertToArray(Properties.Settings.Default.FilesExclude)); result = directory.GetFilesHash(Utils.ApplicationPath); } catch (Exception exc) { throw new FaultException<ServiceException>(new ServiceException(exc, ServiceExceptionType.CheckDllVersion)); } return result; }