Description
I need a client written in C# that will manage uploading collections of files to a server file system and database. Each collection consists of two files, a PowerPoint presentation and another file. They should see the list of current file sets waiting to be uploaded.
We have a licence to Telerik Devcraft Complete if you want to use controls that come with this package. We don’t have a licence that would cover you to use them if you don’t have a licence yourself. We’re also looking at getting [login to view URL] controls for manipulating Office documents, so if necessary you could use Aspose Slides.
Process
See the image on the last page for control layout.
1) The user copies a Powerpoint presentation and a second file into a sub-folder of a specific “Upload folder” directory.
2) Client monitors changes in this folder. Grabs file details.
3) The PowerPoint presentation contains TextBoxes (or any other control that works) that contain the following information:
a. Project Number
b. X
c. Y
d. Z
4) System adds the file set to a list of waiting file sets.
a. Treat the “Date” field as today
b. Supersedes if the file name already exists for the project.
c. File Name is the name of the non-PowerPoint file.
5) User can modify Date and Supersedes
6) Clicks Process to transfer all files to the server, and update database.
a. Converts PowerPoint presentation to two jpg images:
i. 1024x768 with name “[login to view URL]” where file name is the name of the second file
ii. 128*96 with name “[login to view URL]”.
b. Adds each file set to a zip file.
1) Clicking a file set shows the list of current (non-superseded and not finished) file sets in the database.
2) User can choose to specify the revision number of an existing set that the new one supersedes
Extra Requirements
• A Settings screen that asks for:
o Database connection string
System replaces {administrator} and {password} in the connection string with the following details
o Database user name
o Database password
Hidden on screen and encrypted locally.
• An upload progress screen
• Revision number is always two digits wherever it is viewed.
Database Structure
Table: FileSets
FileId Int – autonumber – PK
ProjectNo Int
Revision Int
FileName Varchar(255)
Date DateTime
X Float
Y Float
Z Float
Supersedes Int
Superseded Bit
UploadedBy Varchar(50)
UploadedDateTime DateTime
Finished Bit (Default: false)
Table: Settings
Name Varchar(50) - PK
Value Varchar(2000)
This table will contain a record with the name “FileUploads”. The value will specify where to upload the files. Files would be stored zipped in a sub folder with the same name as the project number.
The zipped file would have the name of the non-PowerPoint file followed by “ – “ and the two-digit revision number, ie:
\\server\files\12345\abcde - [login to view URL]
Finally, we also require the following:
• For you to sign our own non-disclosure agreement before work begins.
• Complete ownership of the finished source code and any other documentation you create regarding this project.