public void UpdateApp() { var sourceFiles = _fileGateway.GetFiles(AppUpdateDetail.RemoteSource); foreach (var file in sourceFiles) { var foundFile = AppUpdateDetail.ExcludeFiles.FirstOrDefault(x => x.Equals(Path.GetFileName(file), StringComparison.OrdinalIgnoreCase)); if (string.IsNullOrEmpty(foundFile)) { var destinationFile = Path.Combine(AppUpdateDetail.LocalDestination, Path.GetFileName(file)); _fileGateway.Copy(file, destinationFile); } } }