Tag Archives: .net

Referencing JSON.NET in Windows Phone 8

Sometimes we just want to knock our heads against the wall until the wall cracks or we loose our senses…

That’s how I feel now, after loosing more than 30 minutes figuring out how reference JSON.NET in a Windows Phone 8 Project.

So, I took the Silverlight assembly, and added it to the project and this is what I got:  a nice “A reference to a higher version or incompatible assembly cannot be added to the project.” error message..

cannot-import-assembly
Continue reading “Referencing JSON.NET in Windows Phone 8” »

[c#] Extending Enums on .NET

One of these days I had the need to create and extensible enum. Extensible in a way that allows people to add items to it, but outside the assembly where the enum is declared.

The short answer to this is that enums are not extensible Triste

It become clear that I would need to find a workaround. Since we had some legacy code already working, it was necessary to keep the normal usage of the enum (i.e. switch – case).

The following solution may not be the best one, but it’s working good, allowing the extension of the enum and still preserve their traditional usage on the switch-case blocks.

Note: the following code is used to “replace” enums deriving from INT. Deriving from other datatype involves changing the operators.


Continue reading “ Extending Enums on .NET” »

[Sharepoint] Hide QuickLauch on feature activation

Sometimes, when applying branding to Sharepoint sites, it’s necessary to hide the quicklaunch bar.

Some people do that by overriding the css styles, and basically making it invisible. This is a good approach for when, on certain pages, we need to display the quicklaunch, while on the others we need to hide it.

Please note that the quicklaunch it’s always there, with this approach. It’s simply not visible.

For a situation where we’ll never want to display the quicklaunch, we can simply deactivate it, with a feature.

Let’s say we create a feature called “HideQuickLaunch”, scoped for a site (Web). On the event receiver we can override the following methods:


//disable quicklaunch on feature activation
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    using (SPWeb currentWeb = (SPWeb)properties.Feature.Parent)
    {
        currentWeb.AllowUnsafeUpdates = true;
        currentWeb.QuickLaunchEnabled = false;
        currentWeb.Update();
        currentWeb.AllowUnsafeUpdates = false;
    }
} 

//enable quicklaunch on feature deactivation
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
    using (SPWeb currentWeb = (SPWeb)properties.Feature.Parent)
    {
        currentWeb.AllowUnsafeUpdates = true;
        currentWeb.QuickLaunchEnabled = false;
        currentWeb.Update();
        currentWeb.AllowUnsafeUpdates = false;
    }
} 


Hope it helps ;)

Using an enum on a FluentNHibernate mapping [C#]

One of these days I needed to map a C# class to a database table using FluentNHibernate. So far so good….
But then I got stuck as one the class properties was an enum.

As it turns out, there is no automatic mapping to enums.

The solution is to use a Custom Type and let FluentNHibernate know that that specific property has a custom type.
How can that be achieved?

Continue reading “Using an enum on a FluentNHibernate mapping [C#]” »