views:

141

answers:

1

I have a web app in production that is used for typical data entry,retrieval, and reporting type functions. For reasons of mobility(field access required) I have been tasked with porting that Web App to a Desktop App. The structure of the existing app, which I did not design or code, is thus:


3 Individual Projects each with there own DAL and SQL DB named the same. Project 1 is the core app. Project 2 exists on top of Project 1 and add's further functionality but cannot exist on it's own. Project 3 builds on the first 2 projects and is as large as both but again cannot exist on it's own.

To get into Project 3, the web app, you log in to 1, Select a Person, navigate to 2, Select an Enrollment, navigate to 3 to then work with a Plan. All three projects share 1 BLL existing in Project 1.


Given all of that, a tight time frame, my relative newness, and the fact that I had nothing to do with any of the original three's creation(3 seperate dev's created the aformentioned 3 projects) what are some suggestions for me.

Example, can I reuse the aspx pages, at all? Can they be embedded like WPF? Converted?

What type of UI refactoring considerations should I keep in mind? Are there certain changes that will break things, theoretically?

Any one else ever had to do something similar? Tips?

Thanks!

EDIT 1

There was a suggestion of Cassini below and coincidentally there is a post here on SO about it. HERE That post leads me to believe it WOULDN'T work for me as my "App" is actually 3 projects with 3 separate deploys. Correct or am I reading that wrong?

+1  A: 

Tight time frame?

How about installing the Cassini web server, or equivalent, locally, and just let the web app run on the local machine? This would eliminate much of the conversion, although you would have a db sync issue. Any new records created on a roaming desktop would have too be synchronized with the shared operational store.

Other than that, I don't know of good ways to re-use the ASPX pages. Of course if there is business logic factored into separate classes, rather than embedded into the pages themselves, you will be able to re-use the BL classes.

Cheeso
This appears to be the quickest solution. If it can't look like a web app, you could use an Html Application (HTA) or embed a browser in a win form.
jrcs3
Cassini? Interesting, is that a fairly common app?
Refracted Paladin
Cassini I think was the code name for a lightweight http server written in C#. It eventually became the basis for the test server that ships with VS2008. When you press F5 on a ASP.NET project, the code is published to a test server. Cassini was open source and licensed to allow people to repackage it into their own apps. For various reasons, people have embedded it into WinForms apps and other systems.
Cheeso