Session log: Dataforth security incident, MFA rollout, test datasheet investigation

- DF-JOEL2 compromised via ScreenConnect social engineering (Angel Raya)
- C2 IPs blocked, rogue clients removed, M365 sessions revoked, password reset
- IC3 complaint filed, abuse reports sent to Virtuo and ConnectWise
- Conditional Access policies deployed (MFA, block foreign, block legacy auth)
- 38 stale test station accounts deleted from Entra
- Test datasheet pipeline investigated - data exists in DB, export step broken
- TestDataSheetUploader source code extracted for analysis

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
OC-5070
2026-03-27 17:19:28 -07:00
parent 9011670fce
commit d7d9f72fc6
73 changed files with 479938 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
# Claude Instance Context: Test Datasheets Investigation (AD1)
**Purpose:** You are a Claude Code instance running on AD1 (192.168.0.27) at Dataforth's facility. Your job is to investigate the TestDataSheetUploader tool and the test datasheet workflow -- where files come from, where they go, and how this integrates with the DOS test machines.
**This is a temporary investigation instance.** Once findings are documented and synced to Gitea, this instance will be removed.
---
## Your Mission
1. **Find where test datasheets are generated** -- which machine(s), which software, what path
2. **Find where they end up** -- the server-side path is `C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\` on whatever runs www.dataforth.com
3. **Determine if this uploader is still in active use** or if the workflow changed
4. **Document the full datasheet pipeline** -- from DOS test machine output through to the website
5. **Sync your findings back to Gitea** so the coordinator instance can see them
---
## Gitea Sync (How to Push Findings)
The ClaudeTools repo is hosted on Gitea. Clone and push your findings here:
```bash
# Clone the repo
git clone https://mike%40azcomputerguru.com:Gptf%2A77ttb123%21%40%23-git@git.azcomputerguru.com/azcomputerguru/claudetools.git
cd claudetools
# Your working area
# clients/dataforth/dos-test-machines/Test Datasheets/
# Commit and push findings
git add -A
git commit -m "AD1 investigation: test datasheet pipeline findings"
git push origin main
```
**Gitea Credentials (plaintext, temporary use only):**
- URL: https://git.azcomputerguru.com
- User: mike@azcomputerguru.com
- Password: Gptf*77ttb123!@#-git
---
## Network Context (Dataforth Engineering Network)
| Device | IP | Role | Credentials |
|--------|-----|------|-------------|
| AD1 (you are here) | 192.168.0.27 | Primary Domain Controller | INTRANET\sysadmin / Paper123!@# |
| AD2 | 192.168.0.6 | Production Server (Win Server 2008 R2) | INTRANET\sysadmin / Paper123!@# |
| D2TESTNAS | 192.168.0.9 | TrueNAS, SMB1 proxy for DOS machines | root / (SSH key) or admin / Paper123!@#-nas |
| DOS Stations | 192.168.0.x | ~30 DOS 6.22 test machines (TS-XX) | N/A |
| UDM Gateway | 192.168.0.254 | UniFi Dream Machine | N/A |
---
## What We Already Know About TestDataSheetUploader
This is a VB.NET console app (.NET Framework 4.7.2) last built November 2, 2022.
### What it does
1. Calls `https://www.dataforth.com/Services/DirectoryManifest.aspx` to get a list of files already on the web server
2. Compares local files against that manifest (by filename, size, and last-modified date)
3. Uploads new/changed files via `https://www.dataforth.com/Services/Uploader.aspx`
4. Deletes files from server that no longer exist locally via `https://www.dataforth.com/Services/DeleteFile.aspx`
5. Only processes files modified in the current year
### Configured paths (from app.config)
- **Service auth:** username=DataforthWebShare, password=Data6277
- **TestDataSheetPath:** `C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists`
- **TestFolderPath:** `C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists`
- **InventoryDataStagingFolder:** `C:\TestDataSheetUploader\staging`
- **InventoryDataSourceFolder:** `C:\TestDataSheetUploader\src`
- **InventoryDataFiles:** AvSelCat.csv, AvSelCus.csv
### Server-side destination (from error logs)
```
C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\
```
### Key unknowns -- what you need to find out
- **Who is "hoffm"?** Likely a Hoffman who worked at Dataforth. Which machine was this?
- **Where do test datasheets originate?** The DOS machines run QuickBASIC data acquisition. Do they produce datasheet files?
- **Is there a path from DOS machines -> datasheets?** The DOS machines map `T:` to `\\D2TESTNAS\TEST`. Is there a datasheets share they write to?
- **Is the uploader still running?** Scheduled task? Manual? Last used?
- **Where does `C:\Users\hoffm\...` map to now?** Did someone take over this role?
---
## Investigation Steps
### On AD1 (this machine)
```powershell
# Check if TestDataSheetUploader exists anywhere on this machine
Get-ChildItem -Path C:\ -Recurse -Filter "TestDataSheetUploader*" -ErrorAction SilentlyContinue
# Check for Hoffman's profile or traces
Get-ChildItem C:\Users\ -Directory
Get-ChildItem "C:\Users\hoffm" -ErrorAction SilentlyContinue
# Check scheduled tasks for anything datasheet-related
Get-ScheduledTask | Where-Object { $_.TaskName -like "*data*" -or $_.TaskName -like "*sheet*" -or $_.TaskName -like "*upload*" -or $_.TaskName -like "*sync*" }
# Check for IIS sites (AD1 might host www.dataforth.com)
Import-Module WebAdministration -ErrorAction SilentlyContinue
Get-Website -ErrorAction SilentlyContinue
Get-ChildItem "C:\inetpub\wwwroot" -ErrorAction SilentlyContinue
```
### On AD2 (192.168.0.6)
```powershell
# Remote into AD2 and check
Invoke-Command -ComputerName 192.168.0.6 -Credential (Get-Credential INTRANET\sysadmin) -ScriptBlock {
# Check for the uploader
Get-ChildItem -Path C:\ -Recurse -Filter "TestDataSheetUploader*" -ErrorAction SilentlyContinue
# Check IIS
Get-ChildItem "C:\inetpub\wwwroot" -ErrorAction SilentlyContinue
# Check for the WebShare path from error logs
Get-ChildItem "C:\inetpub\wwwroot\dataforth.com\WebShare" -ErrorAction SilentlyContinue
# Check scheduled tasks
Get-ScheduledTask | Where-Object { $_.TaskName -like "*data*" -or $_.TaskName -like "*upload*" }
# Check user profiles
Get-ChildItem C:\Users\ -Directory
}
```
### On D2TESTNAS (192.168.0.9)
```bash
# SSH from AD1 or any machine with access
ssh root@192.168.0.9
# Check datasheets share
ls -la /data/datasheets/
find /data/ -name "*datasheet*" -o -name "*TestData*" 2>/dev/null
# Check if DOS machines write any test output files
ls -la /data/test/TS-27/
find /data/test/ -name "*.pdf" -o -name "*.csv" -o -name "*.dat" 2>/dev/null
```
### Check the Dataforth website services
```powershell
# Test if the manifest service still responds
$cred = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("DataforthWebShare:Data6277"))
Invoke-WebRequest -Uri "https://www.dataforth.com/Services/DirectoryManifest.aspx" -Headers @{Authorization="Basic $cred"} -Method GET -ErrorAction SilentlyContinue
```
---
## DOS Test Machine Architecture (Full Context)
The DOS machines are ~30 stations running DOS 6.22 with QuickBASIC 4.5 data acquisition software.
```
DOS Machines (TS-XX) --SMB1--> D2TESTNAS (192.168.0.9) --SMB2/rsync--> AD2 (192.168.0.6)
| /data/test/ C:\Shares\test\
| /data/datasheets/ C:\Shares\datasheets (PENDING)
|
+-- Map T: = \\D2TESTNAS\TEST
+-- Run QuickBASIC data acquisition
+-- UPDATE.BAT for remote management
+-- TODO.BAT for remote task execution
```
**Bidirectional sync** runs every 15 minutes between D2TESTNAS and AD2 via `/root/sync-to-ad2.sh`.
The datasheets share (`\\D2TESTNAS\datasheets` -> `/data/datasheets/`) exists on D2TESTNAS but the corresponding AD2 share (`\\AD2\datasheets`) was never created -- it's listed as a remaining task. This may be relevant to the test datasheet pipeline.
---
## Where to Save Your Findings
Write your investigation results to:
```
clients/dataforth/dos-test-machines/Test Datasheets/INVESTIGATION.md
```
Include:
- What you found on each machine
- The complete datasheet pipeline (or what's missing/broken)
- Whether the uploader is still active
- Recommendations for what to do next
Then commit and push to Gitea using the credentials above.
---
## Contact
- **AJ at Dataforth** -- engineering contact, can answer questions about the test workflow
- **Coordinator instance** -- will see your findings after you push to Gitea

View File

@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TestDataSheetUploader", "TestDataSheetUploader\TestDataSheetUploader.vbproj", "{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,158 @@
Imports System.Text
Imports System.Net
Imports System.IO
Public Class HTTPUploader
Public Shared Function UploadFile(ByVal url As String, ByVal credentials As Net.NetworkCredential, ByVal localPathFilename As String, ByVal nvc As System.Collections.Specialized.NameValueCollection, ByRef LogMessage As String) As Boolean
Try
'Return True
Dim length As Long = 0
'Dim boundary As String = "----------------------------" & Date.Now.Ticks.ToString("x")
Dim boundary As String = "----------------------------061366199019971999"
Dim httpWebRequest2 As HttpWebRequest = WebRequest.Create(url)
httpWebRequest2.ContentType = "multipart/form-data; boundary=" & boundary
httpWebRequest2.Method = "POST"
httpWebRequest2.KeepAlive = True
httpWebRequest2.Credentials = credentials
httpWebRequest2.Timeout = 900000
Dim memStream As New System.IO.MemoryStream()
Dim boundarybytes() As Byte = System.Text.Encoding.ASCII.GetBytes(vbCrLf & "--" & boundary & vbCrLf)
Dim formdataTemplate As String = vbCrLf & "--" + boundary & vbCrLf & "Content-Disposition: form-data; name=""{0}"";" & vbCrLf & vbCrLf & "{1}"
For Each key As String In nvc.Keys
Dim formitem As String = String.Format(formdataTemplate, key, nvc(key))
Dim formitembytes() As Byte = System.Text.Encoding.UTF8.GetBytes(formitem)
memStream.Write(formitembytes, 0, formitembytes.Length)
Next
memStream.Write(boundarybytes, 0, boundarybytes.Length)
Dim headerTemplate As String = "Content-Disposition: form-data; name=""{0}""; filename=""{1}"" " & _
"Content-Type: application/octet-stream" & vbCrLf & vbCrLf
'Content-Type: application/octet-stream
'string header = string.Format(headerTemplate, "file" + i, files[i]);
Dim header As String = String.Format(headerTemplate, "file1", localPathFilename)
Dim headerbytes() As Byte = System.Text.Encoding.UTF8.GetBytes(header)
memStream.Write(headerbytes, 0, headerbytes.Length)
Dim byteArray As Byte() = File.ReadAllBytes(localPathFilename)
memStream.Write(byteArray, 0, byteArray.Length)
memStream.Write(boundarybytes, 0, boundarybytes.Length)
httpWebRequest2.ContentLength = memStream.Length + 1
Dim requestStream As Stream = httpWebRequest2.GetRequestStream()
memStream.Position = 0
Dim tempBuffer(memStream.Length) As Byte
memStream.Read(tempBuffer, 0, tempBuffer.Length)
memStream.Close()
requestStream.Write(tempBuffer, 0, tempBuffer.Length)
requestStream.Close()
Dim webResponse2 As WebResponse = httpWebRequest2.GetResponse()
Dim stream2 As Stream = webResponse2.GetResponseStream()
Dim reader2 As New StreamReader(stream2)
Dim xmlResponse As String = reader2.ReadToEnd
webResponse2.Close()
httpWebRequest2 = Nothing
webResponse2 = Nothing
Dim ds As New DataSet
ds.ReadXml(New System.Xml.XmlTextReader(New StringReader(xmlResponse)))
Dim responseMessage As String = ds.Tables("Result").Rows(0)("Message")
If responseMessage = "SUCCESS" Then
Dim uploadedFilesize As Long = ds.Tables("Result").Rows(0)("SavedFileSize")
If My.Computer.FileSystem.GetFileInfo(localPathFilename).Length = uploadedFilesize Then
'we are done
Return True
Else
LogMessage = "Uploaded filesize (" & uploadedFilesize & ") does not match local filesize (" & My.Computer.FileSystem.GetFileInfo(localPathFilename).Length & ")"
End If
Else
LogMessage = "Dataforth Service Upload Error: " & ds.Tables("Result").Rows(0)("ErrorMessage")
End If
Return False
Catch ex As Exception
LogMessage = "Exception while uploading to Dataforth Service: " & ex.ToString
Return False
End Try
End Function
'Public Shared Sub _UploadVideo_(ByVal url As String, ByVal credentials As Net.NetworkCredential, ByVal localPathFilename As String, ByVal nvc As System.Collections.Specialized.NameValueCollection)
' Try
' Dim client As New WebClient
' client.Credentials = credentials
' Dim bogus As Integer = -1
' Dim requestURL As String = url & "?ecsId=" & nvc.Get("ecsId")
' 'requestURL = requestURL.Replace("https://", "http://")
' Dim response() As Byte = client.UploadFile(requestURL, localPathFilename)
' MsgBox(System.Text.Encoding.Unicode.GetString(response))
' Catch webEx As WebException
' Dim thisE As String = webEx.ToString
' Catch ex As Exception
' End Try
'End Sub
'Public Shared Sub UploadVideo__(ByVal url As String, ByVal credentials As Net.NetworkCredential, ByVal localPathFilename As String, ByVal nvc As System.Collections.Specialized.NameValueCollection)
' Dim requestURL As String = url
' Dim boundary As String = "----------------------------" & Date.Now.Ticks.ToString("x")
' 'Create Request
' Dim webRequest As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(requestURL), System.Net.HttpWebRequest)
' webRequest.Credentials = credentials
' webRequest.Timeout = 120000
' 'System.Net.ServicePointManager.ServerCertificateValidationCallback = (Function(sender, certificate, chain, sslPolicyErrors) True)
' 'webRequest.ContentType = "application/x-www-form-urlencoded"
' webRequest.ContentType = "multipart/form-data; boundary=" & boundary
' webRequest.Method = "POST"
' Dim byteArray As Byte() = File.ReadAllBytes(localPathFilename)
' webRequest.ContentLength = byteArray.Length
' Dim dataStream As Stream = webRequest.GetRequestStream
' dataStream.Write(byteArray, 0, byteArray.Length)
' dataStream.Close()
' ' Retrieve data from Response
' Dim webResponse As System.Net.HttpWebResponse = CType(webRequest.GetResponse(), System.Net.HttpWebResponse)
' Dim sr As New System.IO.StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.UTF8)
' Dim responseString As String = sr.ReadToEnd()
' MsgBox(responseString)
'End Sub
End Class

View File

@@ -0,0 +1,264 @@
Module Module1
Private processLog As System.Text.StringBuilder
Sub Main()
processLog = New System.Text.StringBuilder()
Dim appSettings As New Configuration.AppSettingsReader
'for testing only
'UploadFilesInDirectory("C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists", "TestFolder")
'CopyInventoryFilesToStagingFolder()
'SyncFolder("InventoryDataFolder")
SyncFolder("TestDataSheet")
Dim logFilename As String = My.Application.Info.DirectoryPath & "\processLog." & Now.ToString("yyyy.MM.dd.HH.mm.ss") & ".txt"
My.Computer.FileSystem.WriteAllText(logFilename, processLog.ToString, False)
End Sub
Private Sub AddToLog(ByVal message As String, ByVal Echo As Boolean)
processLog.Append(Now.ToString("MM/dd/YYYY HH:mm:ss | ") & message & vbCrLf)
If Echo Then
Console.WriteLine(message)
End If
End Sub
Public Sub CopyInventoryFilesToStagingFolder()
Dim appSettings As New Configuration.AppSettingsReader
Dim stagingFolderPath As String = appSettings.GetValue("InventoryDataStagingFolder", GetType(String))
Dim srcFolderPath As String = appSettings.GetValue("InventoryDataSourceFolder", GetType(String))
Dim filenamesStr As String = appSettings.GetValue("InventoryDataFiles", GetType(String))
Dim filenames() As String = filenamesStr.Split(",")
For Each thisFilename As String In filenames
Dim src As String = srcFolderPath & "\" & thisFilename
Dim dest As String = stagingFolderPath & "\" & thisFilename
My.Computer.FileSystem.CopyFile(src, dest, True)
Next
End Sub
Public Sub UploadFilesInDirectory(ByVal DirectoryPath As String, ByVal UploadType As String)
Dim appSettings As New Configuration.AppSettingsReader
Dim username As String = appSettings.GetValue("ServiceUsername", GetType(String))
Dim password As String = appSettings.GetValue("ServicePassword", GetType(String))
Dim serviceCredentials As New Net.NetworkCredential(username, password)
Dim url As String = appSettings.GetValue("UploaderServiceURL", GetType(String))
For Each thisFile As String In My.Computer.FileSystem.GetFiles(DirectoryPath)
Dim formParameters As New System.Collections.Specialized.NameValueCollection
formParameters.Add("UploadType", UploadType)
Dim logMessage As New String("")
Console.WriteLine("Uploading: " & thisFile)
If HTTPUploader.UploadFile(url, serviceCredentials, thisFile, formParameters, logMessage) Then
'this video is now staged
AddToLog("Uploaded " & thisFile, True)
My.Computer.FileSystem.DeleteFile(thisFile)
Else
AddToLog("Upload FAILED for " & thisFile, True)
AddToLog("Upload FAIL MESSAGE: " & logMessage, False)
Console.WriteLine("ERROR: " & logMessage)
End If
Next
End Sub
Public Sub SyncFolder(ByVal FolderAlias As String)
Try
AddToLog("SyncFolder(" & FolderAlias & ") started.", True)
'get manifest of files that are on server mirror
Dim appSettings As New Configuration.AppSettingsReader
Dim username As String = appSettings.GetValue("ServiceUsername", GetType(String))
Dim password As String = appSettings.GetValue("ServicePassword", GetType(String))
Dim serviceCredentials As New Net.NetworkCredential(username, password)
Dim manifestServiceUrl As String = appSettings.GetValue("DirectoryManifestServiceURL", GetType(String))
Dim uploadServiceUrl As String = appSettings.GetValue("UploaderServiceURL", GetType(String))
Dim deleteServiceUrl As String = appSettings.GetValue("DeleteFileServiceURL", GetType(String))
Dim testMode As Boolean = appSettings.GetValue("TestMode", GetType(Boolean))
'Create an XML file to post with the request
Dim requestDS As New DataSet("Request")
Dim requestDT As New DataTable("RequestData")
requestDT.Columns.Add("SyncPathAlias", GetType(String))
requestDS.Tables.Add(requestDT)
Dim requestDR As DataRow = requestDT.NewRow
requestDR("SyncPathAlias") = FolderAlias
requestDT.Rows.Add(requestDR)
'Get Dataset from XML response
Dim manifestXML As String = CSFramework_Utilities.XMLData.DownloadXMLWithDatasetPost(manifestServiceUrl, requestDS, serviceCredentials)
My.Computer.FileSystem.WriteAllText(My.Application.Info.DirectoryPath & "\manifest.xml", manifestXML, False)
Dim ds As DataSet = CSFramework_Utilities.XMLData.DatasetFromXML(manifestXML)
AddToLog("Manifest downloaded with " & ds.Tables("ContentFile").Rows.Count & " files.", True)
'Build a list of files that should be uploaded
Dim filesToUpload As New List(Of String)
Dim localFolderPath As String = ""
Select Case FolderAlias
Case "TestDataSheet"
localFolderPath = appSettings.GetValue("TestDataSheetPath", GetType(String))
Case "TestFolder"
localFolderPath = appSettings.GetValue("TestFolderPath", GetType(String))
Case "InventoryDataFolder"
localFolderPath = appSettings.GetValue("InventoryDataStagingFolder", GetType(String))
End Select
Dim discoveryFileCount As Integer = 0
Dim discoveryFileEchoCount As Integer = 1000
Dim sourceFolder As New System.IO.DirectoryInfo(localFolderPath)
AddToLog("Accessing local folder: " & localFolderPath, True)
For Each thisLocalFileInfo As System.IO.FileInfo In sourceFolder.GetFiles
discoveryFileCount += 1
If discoveryFileCount = 1 Then
AddToLog("Found at least 1 file in local folder", True)
End If
If discoveryFileCount = discoveryFileEchoCount Then
AddToLog("Discovery file count: " & discoveryFileEchoCount, True)
discoveryFileEchoCount += 1000
End If
'Dim thisLocalFileInfo As New System.IO.FileInfo(thisLocalFile)
If thisLocalFileInfo.LastWriteTimeUtc.Year = Now.Year Then
Dim foundMatchingFileOnServer As Boolean = False
If ds.Tables.Contains("ContentFile") Then
For Each dr As DataRow In ds.Tables("ContentFile").Rows
If dr("Filename").ToString = thisLocalFileInfo.Name Then
Dim filesize As Integer = dr("Filesize")
Dim datelastupdated As Date = dr("DateLastUpdated")
datelastupdated = datelastupdated.ToUniversalTime
If filesize = thisLocalFileInfo.Length Then
If thisLocalFileInfo.LastWriteTimeUtc.ToString("yyyy.MM.dd.HH.mm.ss") = datelastupdated.ToString("yyyy.MM.dd.HH.mm.ss") Then
foundMatchingFileOnServer = True
Exit For
End If
End If
End If
Next
End If
If Not foundMatchingFileOnServer Then
filesToUpload.Add(thisLocalFileInfo.FullName)
AddToLog("Requesting upload: " & thisLocalFileInfo.Name, True)
End If
End If
Next
AddToLog("Found " & filesToUpload.Count & " files that need to be uploaded.", True)
'Upload Files to Server
If Not testMode Then
For Each thisFile As String In filesToUpload
Dim thisLocalFileInfo As New System.IO.FileInfo(thisFile)
Dim formParameters As New System.Collections.Specialized.NameValueCollection
formParameters.Add("UploadType", FolderAlias)
'Request("LastUpdatedDate")
formParameters.Add("LastUpdatedDate", thisLocalFileInfo.LastWriteTimeUtc.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"))
'2015-12-11T17:38:05.9190462Z
Dim logMessage As New String("")
Console.WriteLine("Uploading: " & thisFile)
If HTTPUploader.UploadFile(uploadServiceUrl, serviceCredentials, thisFile, formParameters, logMessage) Then
'this file is now staged
AddToLog("Uploaded file: " & thisFile, True)
'My.Computer.FileSystem.DeleteFile(thisFile)
Else
AddToLog("Upload FAILED for " & thisFile, True)
AddToLog("Upload FAIL MESSAGE: " & logMessage, False)
Console.WriteLine("ERROR: " & logMessage)
End If
Next
End If
'Create dataset for DeleteFile service
Dim deleteDS As New DataSet("DeleteRequestData")
'add request data
Dim deleteRD As New DataTable("RequestData")
deleteRD.Columns.Add("SyncPathAlias", GetType(String))
Dim deleteDataDR As DataRow = deleteRD.NewRow
deleteDataDR("SyncPathAlias") = FolderAlias
deleteRD.Rows.Add(deleteDataDR)
deleteDS.Tables.Add(deleteRD)
'add filenames
Dim deleteDT As New DataTable("Filenames")
deleteDT.Columns.Add("Filename", GetType(String))
deleteDS.Tables.Add(deleteDT)
If ds.Tables.Contains("ContentFile") Then
For Each dr As DataRow In ds.Tables("ContentFile").Rows
Dim localFileName As String = localFolderPath & "\" & dr("Filename").ToString
If Not My.Computer.FileSystem.FileExists(localFileName) Then
Dim deleteDR As DataRow = deleteDT.NewRow
deleteDR("Filename") = dr("Filename").ToString
deleteDT.Rows.Add(deleteDR)
AddToLog("Requested " & FolderAlias & " Delete: " & dr("Filename").ToString, True)
End If
Next
End If
AddToLog("Found " & deleteDT.Rows.Count & " files to delete.", True)
'Delete obsolete files that were detected
If Not testMode Then
If deleteDT.Rows.Count > 0 Then
Dim deleteResponseXML As String = CSFramework_Utilities.XMLData.DownloadXMLWithDatasetPost(deleteServiceUrl, deleteDS, serviceCredentials)
AddToLog("Obsolete " & FolderAlias & " files deleted.", True)
Else
AddToLog("No obsolete " & FolderAlias & " files were detected.", True)
End If
End If
Catch ex As Exception
AddToLog("Exception in SyncFolder: " & ex.ToString, True)
End Try
End Sub
End Module

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>2</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("TestDataSheetUploader")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Hewlett-Packard")>
<Assembly: AssemblyProduct("TestDataSheetUploader")>
<Assembly: AssemblyCopyright("Copyright © Hewlett-Packard 2016")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("7fe555fe-f768-41e5-b89d-89289692ba0e")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("TestDataSheetUploader.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.TestDataSheetUploader.My.MySettings
Get
Return Global.TestDataSheetUploader.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{78941EA8-4EF5-4194-99CD-A08CBB7B52FB}</ProjectGuid>
<OutputType>Exe</OutputType>
<StartupObject>TestDataSheetUploader.Module1</StartupObject>
<RootNamespace>TestDataSheetUploader</RootNamespace>
<AssemblyName>TestDataSheetUploader</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Console</MyType>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>TestDataSheetUploader.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>TestDataSheetUploader.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="HTTPUploader.vb" />
<Compile Include="Module1.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="XMLData.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,81 @@
Imports System.Xml
Imports System.Net
Imports System.IO
Namespace CSFramework_Utilities
Public Class XMLData
Public Shared Function XMLStringFromDataset(ByVal ds As DataSet) As String
Dim sw As New StringWriter()
ds.WriteXml(sw, XmlWriteMode.IgnoreSchema)
Return sw.ToString()
End Function
Public Shared Function DownloadXMLAsDataset(ByVal url As String, Optional ByVal credentials As Net.NetworkCredential = Nothing) As DataSet
Dim myXMLReader As XmlReader
Dim myDataSet As New DataSet
If credentials IsNot Nothing Then
Dim myXMLResolver As XmlUrlResolver = New XmlUrlResolver
myXMLResolver.Credentials = credentials
Dim myXMLSettings As XmlReaderSettings = New XmlReaderSettings
myXMLSettings.XmlResolver = myXMLResolver
myXMLReader = XmlReader.Create(url, myXMLSettings)
Else
myXMLReader = XmlReader.Create(url)
End If
myDataSet.ReadXml(myXMLReader)
Return myDataSet
End Function
Public Shared Function DownloadXMLWithDatasetPost(ByVal url As String, ByVal datasetToPost As DataSet, ByVal credentials As System.Net.NetworkCredential) As String
Dim xmlrequest As HttpWebRequest = WebRequest.Create(url)
xmlrequest.ContentType = "text/xml"
xmlrequest.Method = WebRequestMethods.Http.Post
xmlrequest.Credentials = credentials
xmlrequest.Timeout = 2000000
Try
Dim newStream As Stream = xmlrequest.GetRequestStream()
datasetToPost.WriteXml(newStream)
newStream.Close()
Dim xmlresponse As WebResponse = xmlrequest.GetResponse()
Dim responseStr As String = ConvertStreamToString(xmlresponse.GetResponseStream)
Return responseStr
Catch ex As Exception
Return "DownloadXMLWithDatasetPost ERROR: " & vbCrLf & ex.ToString
End Try
End Function
Public Shared Function ConvertStreamToString(ByVal InputStream As System.IO.Stream) As String
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(InputStream)
Dim responseStr As String = sr.ReadToEnd()
Return responseStr
End Function
Public Shared Function DatasetFromXML(ByVal xml As String) As DataSet
Dim dataSet As DataSet = New DataSet
Dim xmlSR As System.IO.StringReader = New System.IO.StringReader(xml)
dataSet.ReadXml(xmlSR)
Return dataSet
End Function
End Class
End Namespace

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UploaderServiceURL" value="https://www.dataforth.com/Services/Uploader.aspx"/>
<add key="DirectoryManifestServiceURL" value="https://www.dataforth.com/Services/DirectoryManifest.aspx"/>
<add key="DeleteFileServiceURL" value="https://www.dataforth.com/Services/DeleteFile.aspx"/>
<add key="ServiceUsername" value="DataforthWebShare"/>
<add key="ServicePassword" value="Data6277"/>
<add key="TestDataSheetPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="TestFolderPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="InventoryDataStagingFolder" value="C:\TestDataSheetUploader\staging"/>
<add key="InventoryDataSourceFolder" value="C:\TestDataSheetUploader\src"/>
<add key="InventoryDataFiles" value="AvSelCat.csv,AvSelCus.csv"/>
<add key="TestMode" value="false"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UploaderServiceURL" value="https://www.dataforth.com/Services/Uploader.aspx"/>
<add key="DirectoryManifestServiceURL" value="https://www.dataforth.com/Services/DirectoryManifest.aspx"/>
<add key="DeleteFileServiceURL" value="https://www.dataforth.com/Services/DeleteFile.aspx"/>
<add key="ServiceUsername" value="DataforthWebShare"/>
<add key="ServicePassword" value="Data6277"/>
<add key="TestDataSheetPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="TestFolderPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="InventoryDataStagingFolder" value="C:\TestDataSheetUploader\staging"/>
<add key="InventoryDataSourceFolder" value="C:\TestDataSheetUploader\src"/>
<add key="InventoryDataFiles" value="AvSelCat.csv,AvSelCus.csv"/>
<add key="TestMode" value="false"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UploaderServiceURL" value="https://www.dataforth.com/Services/Uploader.aspx"/>
<add key="DirectoryManifestServiceURL" value="https://www.dataforth.com/Services/DirectoryManifest.aspx"/>
<add key="DeleteFileServiceURL" value="https://www.dataforth.com/Services/DeleteFile.aspx"/>
<add key="ServiceUsername" value="DataforthWebShare"/>
<add key="ServicePassword" value="Data6277"/>
<add key="TestDataSheetPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="TestFolderPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="InventoryDataStagingFolder" value="C:\TestDataSheetUploader\staging"/>
<add key="InventoryDataSourceFolder" value="C:\TestDataSheetUploader\src"/>
<add key="InventoryDataFiles" value="AvSelCat.csv,AvSelCus.csv"/>
<add key="TestMode" value="false"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
TestDataSheetUploader
</name>
</assembly>
<members>
<member name="T:TestDataSheetUploader.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,6 @@
08/22/YYYY 15:47:17 | SyncFolder(TestFolder) started.
08/22/YYYY 15:47:32 | Upload FAILED for C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Listing.pdf
08/22/YYYY 15:47:32 | Upload FAIL MESSAGE: GSSG Service Upload Error: UploadType not recognized: TestFolder
08/22/YYYY 15:47:32 | Upload FAILED for C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Rules.pdf
08/22/YYYY 15:47:32 | Upload FAIL MESSAGE: GSSG Service Upload Error: UploadType not recognized: TestFolder
08/22/YYYY 15:47:32 | No obsolete TestFolder files were detected.

View File

@@ -0,0 +1,6 @@
08/22/YYYY 15:51:12 | SyncFolder(TestFolder) started.
08/22/YYYY 15:51:15 | Upload FAILED for C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Listing.pdf
08/22/YYYY 15:51:15 | Upload FAIL MESSAGE: Dataforth Service Upload Error: Access to the path 'C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\Custom Product Listing.pdf' is denied.
08/22/YYYY 15:51:15 | Upload FAILED for C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Rules.pdf
08/22/YYYY 15:51:15 | Upload FAIL MESSAGE: Dataforth Service Upload Error: Access to the path 'C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\Custom Product Rules.pdf' is denied.
08/22/YYYY 15:51:15 | No obsolete TestFolder files were detected.

View File

@@ -0,0 +1,4 @@
08/22/YYYY 15:57:38 | SyncFolder(TestFolder) started.
08/22/YYYY 15:57:39 | Uploaded file: C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Listing.pdf
08/22/YYYY 15:57:40 | Uploaded file: C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists\Custom Product Rules.pdf
08/22/YYYY 15:57:40 | No obsolete TestFolder files were detected.

View File

@@ -0,0 +1,9 @@
08/22/YYYY 16:00:07 | SyncFolder(TestDataSheet) started.
08/22/YYYY 16:02:13 | Exception in SyncFolder: System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlReader.MoveToContent()
at System.Data.DataSet.ReadXml(XmlReader reader, Boolean denyResolving)
at CSFramework.CSFramework_Utilities.XMLData.DatasetFromXML(String xml) in C:\Users\hoffm\Documents\Visual Studio 2015\Projects\OEMData\CSFramework\CSFramework\CSFramework_Utilities\XMLData.vb:line 66
at TestDataSheetUploader.Module1.SyncFolder(String FolderAlias) in C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\Module1.vb:line 81

View File

@@ -0,0 +1,8 @@
03/31/YYYY 16:13:55 | SyncFolder(InventoryDataFolder) started.
03/31/YYYY 16:14:00 | Exception in SyncFolder: System.Xml.XmlException: Root element is missing.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlReader.MoveToContent()
at System.Data.DataSet.ReadXml(XmlReader reader, Boolean denyResolving)
at TestDataSheetUploader.CSFramework_Utilities.XMLData.DatasetFromXML(String xml) in C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\XMLData.vb:line 72
at TestDataSheetUploader.Module1.SyncFolder(String FolderAlias) in C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\Module1.vb:line 112

View File

@@ -0,0 +1,3 @@
03/31/YYYY 16:18:48 | SyncFolder(InventoryDataFolder) started.
03/31/YYYY 16:19:34 | Exception in SyncFolder: System.NullReferenceException: Object reference not set to an instance of an object.
at TestDataSheetUploader.Module1.SyncFolder(String FolderAlias) in C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\Module1.vb:line 114

View File

@@ -0,0 +1,9 @@
03/31/YYYY 16:20:24 | SyncFolder(InventoryDataFolder) started.
03/31/YYYY 16:20:30 | Manifest downloaded with 1 files.
03/31/YYYY 16:20:30 | Accessing local folder: C:\TestDataSheetUploader\staging
03/31/YYYY 16:20:30 | Found at least 1 file in local folder
03/31/YYYY 16:20:30 | Requesting upload: AvSelCat.csv
03/31/YYYY 16:20:30 | Requesting upload: AvSelCus.csv
03/31/YYYY 16:20:30 | Found 2 files that need to be uploaded.
03/31/YYYY 16:20:41 | Requested InventoryDataFolder Delete: New Text Document.txt
03/31/YYYY 16:20:41 | Found 1 files to delete.

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UploaderServiceURL" value="https://www.dataforth.com/Services/Uploader.aspx"/>
<add key="DirectoryManifestServiceURL" value="https://www.dataforth.com/Services/DirectoryManifest.aspx"/>
<add key="DeleteFileServiceURL" value="https://www.dataforth.com/Services/DeleteFile.aspx"/>
<add key="ServiceUsername" value="DataforthWebShare"/>
<add key="ServicePassword" value="Data6277"/>
<add key="TestDataSheetPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="TestFolderPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="InventoryDataStagingFolder" value="C:\TestDataSheetUploader\staging"/>
<add key="InventoryDataSourceFolder" value="C:\TestDataSheetUploader\src"/>
<add key="InventoryDataFiles" value="AvSelCat.csv,AvSelCus.csv"/>
<add key="TestMode" value="false"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UploaderServiceURL" value="https://www.dataforth.com/Services/Uploader.aspx"/>
<add key="DirectoryManifestServiceURL" value="https://www.dataforth.com/Services/DirectoryManifest.aspx"/>
<add key="DeleteFileServiceURL" value="https://www.dataforth.com/Services/DeleteFile.aspx"/>
<add key="ServiceUsername" value="DataforthWebShare"/>
<add key="ServicePassword" value="Data6277"/>
<add key="TestDataSheetPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="TestFolderPath" value="C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists"/>
<add key="InventoryDataStagingFolder" value="C:\TestDataSheetUploader\staging"/>
<add key="InventoryDataSourceFolder" value="C:\TestDataSheetUploader\src"/>
<add key="InventoryDataFiles" value="AvSelCat.csv,AvSelCus.csv"/>
<add key="TestMode" value="false"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
TestDataSheetUploader
</name>
</assembly>
<members>
<member name="T:TestDataSheetUploader.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<FolderContents>
<ContentFile>
<Filename>AvSelCat.csv</Filename>
<Filesize>10900</Filesize>
<DateLastUpdated>2019-06-06T05:10:18.549187Z</DateLastUpdated>
</ContentFile>
<ContentFile>
<Filename>AvSelCus.csv</Filename>
<Filesize>2529</Filesize>
<DateLastUpdated>2019-06-06T01:10:32.1961739Z</DateLastUpdated>
</ContentFile>
</FolderContents>

View File

@@ -0,0 +1,7 @@
' <autogenerated/>
Option Strict Off
Option Explicit On
Imports System
Imports System.Reflection
<Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName:=".NET Framework 4.7.2")>

View File

@@ -0,0 +1,22 @@
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.exe.config
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.exe
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.pdb
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.xml
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.Resources.resources
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbproj.GenerateResource.Cache
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.exe
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.xml
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.pdb
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbprojResolveAssemblyReference.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.exe.config
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.exe
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.pdb
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Debug\TestDataSheetUploader.xml
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbproj.AssemblyReference.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbproj.SuggestedBindingRedirects.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.Resources.resources
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbproj.GenerateResource.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.vbproj.CoreCompileInputs.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.exe
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.xml
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Debug\TestDataSheetUploader.pdb

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
TestDataSheetUploader
</name>
</assembly>
<members>
<member name="T:TestDataSheetUploader.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,7 @@
' <autogenerated/>
Option Strict Off
Option Explicit On
Imports System
Imports System.Reflection
<Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName:=".NET Framework 4.7.2")>

View File

@@ -0,0 +1,32 @@
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe.config
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.pdb
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.xml
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.Resources.resources
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.GenerateResource.Cache
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.exe
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.xml
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.pdb
C:\Users\hoffm\Documents\Visual Studio 2015\Projects\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbprojResolveAssemblyReference.cache
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe.config
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.exe
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.xml
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.pdb
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.pdb
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.xml
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbprojResolveAssemblyReference.cache
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.Resources.resources
C:\Users\hoffm\source\repos\Dataforth\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.GenerateResource.Cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe.config
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.exe
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.pdb
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\bin\Release\TestDataSheetUploader.xml
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.AssemblyReference.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.SuggestedBindingRedirects.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.Resources.resources
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.GenerateResource.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.vbproj.CoreCompileInputs.cache
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.exe
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.xml
C:\Users\kennethhoffman\source\repos\dataforth-enterprise\TestDataSheetUploader\TestDataSheetUploader\obj\Release\TestDataSheetUploader.pdb

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
TestDataSheetUploader
</name>
</assembly>
<members>
<member name="T:TestDataSheetUploader.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:TestDataSheetUploader.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
</members>
</doc>