ASP.Net: how to draw map - asp.net

HI,
I am assigned a task to develop module for an already existing web application or to look for some third party plugin.
The web application is developed using ASP.net and C# under .Net Framework 4.0. So if i develop by myself or i go for some 3rd party plugin then in both cases, my solutions need to work with above website specifications.
What I am Assigned:
I need to draw a figure(or map) which illustrates that how companies registered on our website are connected with each other and then their sub companies, i am sorry i don't know how to explain it exactly :(, but following image would give a better idea what i want to achieve. I never do such task before, and only need guidance.
Image Taken From: http://www.visualcomplexity.com/vc/project_details.cfm?id=709&index=709&domain

Seems like you are in for some fun :)
Infragistics seems to have a Silverlight control (http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/organization-chart.aspx#Overview)
But you also might want to check out these as starting points:
http://code.google.com/intl/nl-NL/apis/chart/interactive/docs/gallery/orgchart.html
http://www.kyleschouviller.com/wp-content/files/Vis.html
http://www.mindfusion.eu/features-netdiagram.html

You probably don't wont to write graph code, better use some graph visualization library, look here for list :
https://stackoverflow.com/questions/44090/do-you-know-any-graph-visualization-libraries-for-net

Related

ASP.NET Timeline control

I have looked over other questions on this website, but am yet to find a solution that meets our requirements.
We need a Timeline control that makes it possible to display some HR information (distribution of consultants) over longer periods of time (months). The screenshot below illustrates the requirement.
We currently use a Windows-based component from a third party. We need this application to be visible on the web, including display on iPad devices. Are there any controls on the market that support this functionality?
I haven't explored many of the options yet, but I'm working on an application that uses DayPilot Lite (the open source version) from http://www.daypilot.org/ to display a calendar. The scheduler control looks like it could do something like what you're looking for.
maybe Telerik Scheduler
http://demos.telerik.com/aspnet-ajax/scheduler/examples/timelineview/defaultcs.aspx
Here's one from codeplex that might work...
http://timelinenet.codeplex.com/releases/view/11981
There's also the "viewer" approach you could take -- for example, you could put a view of Visio or MS Project, etc. in a window on your page. Not sure how interactive it would be, but if your need is just for view-only, it might work.
http://www.codeproject.com/KB/applications/ASPNETVisioCustomControl.aspx
Have you looked at Google Charts? Specifically you could, perhaps, use their Annotated Timeline.
Google charts have some serious issues if any asp.net project is deployed in IIS.

How can I ensure a continuous look and feel using Dynamics CRM 2011 and IFRAME

I am new to dynamics integration and as a learning exercise I have set up a new server and created an IFRAME in my Account form to display a page from another application (there is mapping between the CRM account and the other application).
This all works great and hats off to Microsoft for making this so simple!
My issue is I want to provide a continuous look and feel to the external application so it looks integrated as much as possible.
At the moment, I only have a grid showing a list of records but this will probably grow to having buttons and input fields too.
I toyed with the idea of just replicating all the CSS using the SDK style guide as a reference but wanted to ask if there is a best/recommended practice for doing this before I went ahead with this tedious task.
Have the same question as you. Having looked around it appears that for the moment you should replicate the styles you need from the style guide in your own resources.
Found this that makes it sound like they are working on something in the future: https://social.microsoft.com/Forums/en-US/crmdevelopment/thread/0ef93ddc-afda-40f3-bb86-9e9e60bb0dc0

Quick methodology to show client a working demo

I am not starting an argumentative discussion here and this post is not about career development, but from the commercial point of view:
If a company was using ASP.Net MVC as a main methodology to build their web sites and application.
However, ASP.Net MVC takes more time to show a functional application than ASP.Net Web Forms, for example, building domain models would take some time which obviously can't be represented on a UI at that current stage.
My question is, if a client wants to see a functional demo application (just a proof of concept) so he knows that the company he is dealing with is professional and capable of doing that. Would it be better to do that demo in ASP.Net Web Forms only to show the client, and then work on the real application using ASP.Net MVC? If not, what are the (quick) alternatives?, I mean, if we tell the client to wait till we have a working demo (by ASP.Net MVC) we may lose the client and the whole project opportunity.
WebForms being faster than MVC is a myth:
You are not required to have a domain model, just something that represents your database tables. This is the same in WebForms unless you are using SqlDataSource's.
The code in your !IsPostBack or btnSubmit_OnSubmit is almost identical to the HttpPost controller actions. Except with MVC you don't have to write left to write object.FirstName = txtFirstName.Text when you understand how UpdateModel works.
UI is UI. If you know HTML/CSS creating the UI is just as easy. Almost easier in MVC because you don't have to set control properties any longer and all UI can be done in one place.
Fast MVC comes from understanding how to get the most bang from your buck using EditorFor, DisplayFor templates. You'll need to know and understand how to customize your Object.ascx file. With this technique under your belt you won't have to create forms by hand anymore. 2 projects ago we had a site with 100% autogenerated forms. Change a class, change a form. Done!
Another helpful MVC tool is the DataAnnotations attributes. Validation made easy. Customizing these is really easy too. Just create your own ModelMetaDataProvider and starting expanding the validations your application can handle.
The only part of MVC that is slower is displaying a grid. MVC 3 already has a useful grid tool and MVCContrib has had a grid tool out for a year now. I ended up rolling my own, its very simple actually, loop through properties, write <td />'s. < 200 lines of code. This isn't really a benefit to WebForms either. To use WebForms grid components means giving up a lot of quality using ObjectDataSources and the like.
To summarize fast MVC comes from these different techniques:
Object.ascx
ModelMetadataProviders
UpdateModel
DataAnnotations
If you are more advanced and know ORMS like EntityFramework and how to use Automapper your probably going to be even faster.
You can get a demo up and running very quickly in MVC. I could put one together much quicker than with WebForms, and I am familiar with both.
The reliance on convention in MCV will help a lot, binding is based on the names of objects.
If i was creating a quick demo, i would just create a bunch of ViewModels with static data in them, different button clicks etc will just bind one of these ViewModels to the page.
Turbo Fast!
I build prototypes in excel. No logic, no code. just basically screenshots to show the user that we are communicating the same ideas. Create a worksheet for each "View" or screen you need to show. Client's usually only care how "pretty" an application looks vs does it work right.
This also is a benefit as you can include more non-technical users in the prototyping process, since most are used to excel. I can send you an example and the finished production web application, if seeing is believing. I personally learn best by example.
And to your post where you wrote...
I mean, if we tell the client to wait till we have a working demo (by ASP.Net MVC) we may lose the client and the whole project opportunity.
They need to have their expectations adjusted and managed. A lot of bad development has been done quickly over the years, which makes client's ask questions like "Bob did it in 1 hour'. To that I say, you can either have a lousy project fast, that you have to constantly duct tape or a well thought out and well written project that will only need to be enhanced as Bus Reqs change
I think the answer is obvious: use whichever you think makes you faster. There's no point in using MVC if you are faster in WebForms. Especially since this is for a throw-away demo.

Off the shelf Data Entry Forms for asp.net?

I've got an asp.net application where each client will have their own data entry forms. I'm a bit tired of reinventing this wheel. Does anyone have any good experience with an "off the shelf" component for rapidly building such forms?
The component will need to fit within an existing asp.net site and support layout of the fields, not just "dumping" the fields on the page. The data needs to go back to a database for querying (but can use it's own schema) and some light level of workflow needs to be supported (mostly around completion status). Infopath is a non-starter due to its requirements for sharepoint etc, but if you're thinking along those lines, you have some idea of what I'm looking for. The system must be open for modification as I'm sure we won't be able to find something that does everything we need.
Doesn't matter if it is OSS or commericial.
Thanks!
We've used FeedBack Server here in the past and it worked out pretty good.
Microsoft lightswitch.
Telerik widgets in a web page.

ASP.NET Application - Architecture and Class Diagrams

I am new to ASP.NET Development.
Could anyone please refer a document/tutorial/link which gives a sample code, architecture, class and sequence diagrams for 3 / 4 / n tier based simple ASP.NET application/example?
It would be of great help to me.
There is a lot of techniques / tool and various ways to do what you asked with .Net so I will give you some links for various tools:
N-Tier with:
ASP.Net 2.0
http://weblogs.asp.net/bsimser/archive/2006/08/13/3_2D00_tier-Architecture-wtih-ASP.NET-2.0.aspx
ASP.Net 3.5
http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=476
LINQ 2 SQL
http://weblogs.asp.net/dwahlin/archive/2008/02/28/building-an-n-layer-asp-net-application-with-linq-lambdas-and-stored-procedures.aspx
Dynamic Data
http://weblogs.asp.net/craigshoemaker/archive/2008/07/01/6-steps-to-n-tier-asp-net-dynamic-data.aspx
MVC
http://www.codeproject.com/KB/aspnet/aspnetmvc_bugtracker_v4.aspx
There is a lot of examples out there. Don't take the one's I have given you as the only one's but as a start for you. :-)
Happy Coding!
I made this sketch recently when explaining the difference between a typical classic Microsoft .ASP/SQL Server website architecture, and one that incorporates the newer Microsoft ASP.NET technology.
The box labeled “Front” at the top of the diagram represents a public website. Could be any size, large or small.
The “can” at the bottom represents a SQL Server database that is behind the scenes. The website user really doesn’t know or care that it is there, holding all the data for the website.
The middle area represents what can be done with ASP.NET technology. The boxes represent little “engines” of code that do specific things. One might process a credit card. One might add an item to a shopping cart. Another might list items on a page with a thumbnail image next to them. The list is endless.
The point here is that with ASP.NET, all these “engines” can be ready at anytime for use by themselves, or in combination with other “engines” to perform website tasks, and features. This lessens the amount of special code that needs to be placed inside the actual web pages represented by the top box. It is a far more efficient, and much faster technology, especially the more complex and complicated a website may be.
Just thought you might like to know that.
This may be the best collection you will find...
http://www.asp.net/get-started/
Look at sharpdevelop
It provides a solid foundation for creating asp.net mvc apps using best practices.
The project even provides Visual Studio templates.
Do yourself a favour and start with ASP.NET MVC and leave Webforms behind. Rob's Storefront tutorial is a great 3 tier example and the videos make it very easy to learn.

Resources