This is a request to build an ASP.NET website that authenticates with Microsoft Dynamics Contacts. When a user is authenticated a user can upload files, which are validated at the time of upload. If they are valid, they are stored in a local database table with an appropriate status. A super user will be able to log into the website to download files, change file statuses manually. For each file, there should be an option to ‘Process’ the file which will simply move the file from the local database to the filesystem.
- Build an ASP.NET website based on the new ASP.NET 4.0 CSS Template.
- Project can be either an MVC or Web Forms Template – preferably MVC.
- Users should be able to authenticate against MS Dynamics CRM Contact entity in a similar manner to this project http://crmmembership.codeplex.com/. User passwords should not be stored in plain text, they should be securely hashed (e.g using bcrypt).
- Website default page should default to a login page for the user.
- When user logs in, they should be presented with a page where they can upload CSV files. When they upload CSV files, a placeholder class should be created which will validate the CSV file, and display any errors to the user. If there are any errors returned by this class, the file should not be rejected / not uploaded. Appropriate error messages (e.g. multiple error messages) should be displayed to the user.
- When a file is successfully uploaded, the file should be saved to a local database table. The user who uploaded the file should be able to view and re-download any files they have uploaded. When a file is uploaded, it should have a status displayed to the user of ‘Uploaded’.
- There should also be a super-administrator login, where a user can view a list of all of the files uploaded by all users. The super user should be able to select a file and click a button and it will be stored to a pre-configured folder (in web.config) on the local server. When the file is saved to the file system, the file status will change to ‘Processing’.
- The super-user will be able to update the file status manually to complete.
- A Dynamics 2011 Online Trial should be used to develop against test the Dynamics authentication process.
- The project should be built using C# and Visual Studio (2012 preferred).