čtvrtek 23. července 2015

SyntaxHighlighter

Do Html šablony je potřeba vložit odkazy na Javascripty a CSS podle návodu níže.
je jsem ještě použil jiné thema

<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>

Použití v článku je pak jednoduché obalení tagem kde hodnota brush se může lišit podle jazyka např.
csharp, js, html, ...

<pre class="brush:js"></pre>


Zdroj:
http://oneqonea.blogspot.cz/2012/04/how-do-i-add-syntax-highlighting-to-my.html
http://alexgorbatchev.com/SyntaxHighlighter/manual/installation.html

DateTime a verze Windows

Co Vám vrátí za hodnotu tento kus kódu pokud jsou zrovna Vánoce (24. prosince 2015)?

var datum = DateTime.Now.ToString();

Odpověď může být různá v závislosti na nastavení vašeho operačního systému a jeho verzi.
Ve výchozím nastavení je totiž na Windows 8 krátký format data, který se používá v metodě ToString() nastaven na hodnotu d. M. rrrr jinak tomu ale bylo ve Windows 7 kde je hodnota d.M.rrrr (bez mezer)


[Test]
        public void LEARN_DateTime_ToString_Format()
        {
            // ARRANGE
            string format = "d.M.yyyy H:mm:ss";
            var provider = new CultureInfo("cs-CZ");            
            var shortDatePattern = provider.DateTimeFormat.ShortDatePattern;
            var longTimePattern = provider.DateTimeFormat.LongTimePattern;

            // ACTION   
            var cultureFormat = string.Format("{0} {1}", shortDatePattern, longTimePattern);

            // ASSERT
            Assert.AreEqual(cultureFormat, format);
        }

středa 22. července 2015

Code First relace M ku N


Zdroj:
http://stackoverflow.com/questions/11382783/entity-framework-code-first-many-to-many-mapping-table

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{    
    modelBuilder.Entity<Recipe>()
        .HasMany(x => x.Members)
        .WithMany(x => x.Recipes)
    .Map(x =>
    {
        x.ToTable("Cookbooks"); // third table is named Cookbooks
        x.MapLeftKey("RecipeId");
        x.MapRightKey("MemberId");
    });
}
Problém je že pokud používáte Context který dědí např z  IdentityDbContext<User>
tak je potřeba aby se při vytváření modelu zavolalo base.OnModelCreating(modelBuilder);
Jinak při migraci obdržíte několik chybových zpráv ve smyslu, že tabulky související s Identitou nemají nastaveny primární klíče.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}