M# Tutorials

Learn to build .NET applications with M#. Our step-by-step tutorials will get you up-to-speed rapidly.
If you already know ASP.NET and C#, you can master M# in a week or two.

MSharp Interfaces

As explained in Chapter 2, an interface contains definitions for a group of related functionalities that a class or a struct can implement.
All classes created with M# implement the IEntity interface, allowing you to get access to common properties like

IsNew

and use related features like the EntityManager (more details here).
M# also contains some other features that can be used in your applications. If you implement the following interfaces when needed, your project will have an architecture common to other projects and M# will provide you lots of fully tested extension methods.

Data provider

These interfaces are for performing operations on the database and providing a data provider to the application.

IDataProvider

IDataProviderFactory

Application event

IApplicationEvent

This interface allows you to store all application events (creation, update, task, exception...).

Authentication

IUser

This interface is for application users.

Email

IEmailQueueItem

This interface is for storing email messages

IEmailTemplate

This interface is for email templates.

GeoLocation

These interfaces are for Geolocation.

IGeoLocated

IGeoLocation

Globalization

For multi-lingual applications, you can use these interfaces to use M# globalization features.

ILanguage

This interface is for storing a language.

IPhrase

This interface if for storing a translation.

Hierarchy

IHierarchy

This interface is useful for scenarios which contains data on many levels.

IO

IPickyDocumentContainer

This interface is for Entity Documents.

PDF

IHtml2PdfConverter

This interface is for PDF conversion.

Rss

IRssItem

This interface is for RSS.

SMS

ISmsQueueItem

This interface is for storing SMS messages.

ISMSSender

This interface is for sending SMS.

Sorting

ISortable

This interface is for sorting items.

Url Rewriting

IWebResource

This interface is for URL rewriting.

Web

IWebRequestLog

This interface is for storing logs of web requests.