Skip to content

Instantly share code, notes, and snippets.

View dampee's full-sized avatar

Damiaan dampee

View GitHub Profile
@dampee
dampee / gist:8020337
Created December 18, 2013 10:41
format size as bytes, kb, mb, gb
public static string FormatBytes(long bytes, int scale = 1024)
{
string[] orders = new string[] { "GB", "MB", "KB", "Bytes" };
long max = (long)Math.Pow(scale, orders.Length - 1);
foreach (string order in orders)
{
if (bytes > max)
{
return String.Format("{0:##.##} {1}", Decimal.Divide(bytes, max), order);
@dampee
dampee / Cache.cs
Last active December 31, 2015 17:29
Generic http cache with locking
using System;
using System.Web;
using System.Web.Caching;
using Umbraco.Core.Logging;
/// <summary>
/// Generic cache class
/// </summary>
/// <typeparam name="T">The type of the object to be cached</typeparam>
/// <remarks>
@dampee
dampee / gist:8053121
Created December 20, 2013 10:42
get specific umbraco dictionary item
select d.pk, lt.pk, d.[key], lt.languageId, l.languageISOCode, lt.value
from cmsDictionary d inner join cmsLanguageText lt on d.id = lt.UniqueId
left join umbracoLanguage l on lt.languageId = l.id
where d.pk = 6
@dampee
dampee / MediaPickerPropertyEditorValueConverter.cs
Created December 23, 2013 15:57
Media Picker Property Editor Value Convertor - without DB hits from uQuery
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Models;
using umbraco.editorControls;
using Umbraco.Web;
@dampee
dampee / MultiNodeTreePickerPropertyEditorValueConverter.cs
Last active January 1, 2016 05:39
Umbraco MultiNodeTreePicker PropertyEditorValueConverter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Models;
using umbraco.editorControls;
using Umbraco.Web;
@dampee
dampee / gist:8165323
Created December 28, 2013 23:00
XPATH: Get All documents of type X and Y
var joinedDoctypes = Umbraco.TypedContentAtXPath("//*[self::DocType1 or self::DocType2]")
// http://stackoverflow.com/questions/721928/xpath-to-select-multiple-tags
@dampee
dampee / umbracoTraceLog.txt
Created February 15, 2016 13:54
log after clean install of umbraco 7.4 using nuget
2016-02-15 14:52:56,906 [P1364/D2/T1] INFO Umbraco.Core.CoreBootManager - Umbraco 7.4.0 application starting on DESKTOP-JJOR4ST
2016-02-15 14:52:56,927 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Determining hash of code files on disk
2016-02-15 14:52:56,934 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Hash determined (took 7ms)
2016-02-15 14:52:56,973 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Starting resolution types of umbraco.interfaces.IApplicationStartupHandler
2016-02-15 14:52:57,129 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Completed resolution of types of umbraco.interfaces.IApplicationStartupHandler, found 0 (took 156ms)
2016-02-15 14:52:57,138 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Starting resolution types of Umbraco.Core.PropertyEditors.IPropertyEditorValueConverter
2016-02-15 14:52:57,145 [P1364/D2/T1] INFO Umbraco.Core.PluginManager - Completed resolution of types of Umbraco.Core.PropertyEditors.IPropertyEditorValueConverter, found 0 (took 6ms)
2016-02
@dampee
dampee / MyApplicationEvents.cs
Last active April 11, 2016 08:12
LastChanceContentFinder (404 not found for umbraco)
public class MyApplicationEvents : ApplicationEventHandler
{
protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
ContentLastChanceFinderResolver.Current.SetFinder(new MyLastChanceContentFinder());
}
}
@dampee
dampee / Custom.DateFolder.config
Created October 3, 2016 15:07
datefolder setup for news
<?xml version="1.0"?>
<DateFolder DateFolderAlias="dateFolder">
<DocumentType Alias="newsItem" DatePropertyAlias="postDate" />
<!--<DocumentType Alias="PressReleaseItem" DatePropertyAlias="date" />
<DocumentType Alias="EventItem" DatePropertyAlias="startDatetime" />-->
</DateFolder>
public class CustomVersionProvider : IVersionProvider
{
private Lazy<string> _productVersion = new Lazy<string>(() =>
{
var assembly = Assembly.GetExecutingAssembly();
var assemblyVersion = assembly.GetName().Version;
var productVersion = string.Format("{0}.{1}.{2}", assemblyVersion.Major, assemblyVersion.Minor, assemblyVersion.Build);
// additional info
var dateFormat = "dd.MM.yyyyTHH:mm:ss";
productVersion += string.Format(" (built: {0}) (LastWriteTime: {1})",