Click here to Skip to main content
15,891,513 members
Articles / Web Development / ASP.NET

Developing Next Generation Smart Clients using .NET 2.0 working with Existing .NET 1.1 SOA-based XML Web Services

Rate me:
Please Sign up or sign in to vote.
4.96/5 (134 votes)
16 Aug 200540 min read 1.2M   3.9K   462  
Comprehensive guide to development of .NET 2.0 Smart Clients working with existing Service Oriented Architecture based XML web services, fully utilizing the Enterprise Library
#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using SmartInstitute.ObjectModel;
using System.ComponentModel;
using System.Windows.Forms;
using SmartInstitute.Client.Automation.Views;

#endregion

namespace SmartInstitute.Client.Automation.Documents
{
	/// <summary>
	/// A base class which represents a view for a model
	/// </summary>
	public abstract class DocumentBase : ItemBase 
	{
		private string _Name;

		public string Name
		{
			get { return _Name; }
			set { _Name = value; }
		}

		private string _Title;

		public string Title
		{
			get { return _Title; }
			set { _Title = value; }
		}

		private DocumentUIBase _UI;

		public DocumentUIBase UI
		{
			get { return _UI; }
			set { _UI = value; }
		}

		/// <summary>
		/// When an object is dragged over a document, this method is called to ask the document
		/// whether the document will accept the data or not.
		/// </summary>
		/// <param name="data">The object which is dragged over</param>
		/// <returns>True if the document can accept the data</returns>
		public abstract bool CanAccept( object data );

		/// <summary>
		/// When an object is dragged and dropped on a document, this method is called so that
		/// the document can process the object and then act accordingly.
		/// </summary>
		/// <param name="data">The object that is received from drag-drop</param>
		/// <returns>True if the accept was a success</returns>
		public abstract bool Accept( object data );

		/// <summary>
		/// Ask a document if a particular feature is supported. For example, ask a document 
		/// whether it supports drag drop.
		/// </summary>
		/// <param name="feature">Feature</param>
		/// <returns>True if the feature is supported</returns>
		public abstract bool IsFeatureSupported(object feature);

		public DocumentBase( string name, string title, DocumentUIBase ui, object parent ) : base( parent ) 
		{
			this._Name = name;
			this._Title = title;

			// Pass the reference of the document to the Document UI 
			this._UI = ui;
			this._UI.Document = this;
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Architect BT, UK (ex British Telecom)
United Kingdom United Kingdom

Comments and Discussions