Skip to content

Commit

Permalink
Initial Commit BeeInMyGarden
Browse files Browse the repository at this point in the history
  • Loading branch information
rstropek committed Feb 21, 2014
1 parent f96b593 commit 4bdd5d0
Show file tree
Hide file tree
Showing 34 changed files with 1,523 additions and 0 deletions.
13 changes: 13 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
76 changes: 76 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/BeeInMyGarden.Data.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<VersionFile Condition=" '$(VersionFile)' == '' ">Properties\Version.cs</VersionFile>
<ProjectGuid>{3F0B4651-8EB4-4290-9074-2FC0735F1918}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeeInMyGarden.Data</RootNamespace>
<AssemblyName>BeeInMyGarden.Data</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.6.0.2\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.0.2\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="BlogContext.cs" />
<Compile Include="BlogItem.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<!--<Compile Include="Properties\Version.cs" />-->
<Compile Include="$(VersionFile)" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
209 changes: 209 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/BlogContext.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
using System.Data.Entity;
using System.Linq;

namespace BeeInMyGarden.Data
{
public class BlogContext : DbContext
{
public BlogContext()
: base("AlmDays")
{
}

public DbSet<BlogItem> BlogItems { get; set; }

/// <summary>
/// Generates demo data
/// </summary>
/// <remarks>
/// This demo data is taken from the blog http://bienenimgarten.wordpress.com
/// </remarks>
public void GenerateDemoData()
{
var existingBlogIds = this.BlogItems.Select(b => b.BlogId).ToArray();

if (!existingBlogIds.Contains(3))
{
var newItem = new BlogItem()
{
BlogId = 3,
Title = "Der erste, selbst gefangene Bienenschwarm",
FeaturedImageUri = "http://bienenimgarten.files.wordpress.com/2013/06/img_1509.jpg?w=500",
Content = @"
Der Anruf
---------
Gestern war ein ereignisreicher Tag in unserem jungen Imkerleben. Als wir am Abend von einem Ausflug mit dem Moutainbike nach
Hause gekommen sind, erreichte uns ein Anruf vom Obmann unseres Imkervereins. Er wurde verständigt und um Hilfe gebeten, da
sich ganz in unserer Nähe ein Bienenscharm in einem privaten Garten niedergelassen hatte. Er fragte uns, um wir uns darum
kümmern möchten. Wow, das war eine unvorhergesehene Herausforderung. Wir hatten erst bei einem Schwarm – unserem eigenen – geholfen
und jetzt sollten wir uns gleich alleine um das Einfangen kümmern. Aber was soll’s, Erfahrung macht den Meister. Also haben
wir zugesagt und uns bei dem betroffenen Gartenbesitzer telefonisch angekündigt.
Für alle, die auch mal in die Situation kommen, ihren ersten Schwarm einfangen zu müssen, hier eine Checkliste mit Sachen,
die sich als nützlich erwiesen:
* Ein großer Sack zum Einfangen des Schwarms (wir mussten einen Plastiksack nehmen; ein großer Stoffsack wäre wahrscheinlich noch viel besser)
* Eine Beute, in die man den Schwarm einquartieren kann (als “Beute” bezeichnet man die Behausung der Bienen)
* Spanngurte, um die Beute für den Transport fixieren zu können.
* Astschere bzw. Säge, um kleine Zweige, die beim Einfangen im Baum stören, entfernen zu können
* Leiter
* Taschenlampe (sehr praktisch, wenn man den Schwarm am späten Abend abtransportieren möchte)
* Natürlich die üblichen Imker-Utensilien wie Besen und Stockmeisel
* Entsprechende Bekleidung (ein Schwarm ist nach unserer Erfahrung und laut Literatur sehr friedlich; trotzdem fühlen wir uns mit Imkeranzug und Handschuhen deutlich sicherer, wenn mehrere zehntausend Bienen um einen herumschwirren)
Die Ankunft
-----------
Die nächste Überraschung wartete auf uns, als wir beim betroffenen Garten ankamen. Dort saß eine große Familie im Garten bei
Kaffee und Kuchen und in ca. 8(!) Metern Höhe über ihnen im Kirschbaum der Bienenschwarm. Das gab uns erstmal zu denken.
Der Kirschbaum steht nicht auf dem Grundstück der Familie, die uns angerufen hat. Nur die Äste des Baumes reichten bis auf
deren Grund. Wir gingen also als erstes zum Nachbarn, dem der Baum gehört. Wir hatten Glück und wurden auch dort äußerst nett
und zuvorkommend begrüßt. Generell stellten wir wieder einmal fest, dass Bienen echte Sympathieträger sind. Keine Rede davon,
dass sie als Belästigung oder gar Gefahr wahrgenommen wurden.
Am Nachbargrundstück sahen wir, dass dort die Situation nur ein wenig besser war. Der Baum steht auf einem Hang und deshalb
reduzierte sich die zu überwindende Höhe zum Schwarm auf 6 Meter. Immer noch ganz ordentlich. Was müssen sich die Bienen aber
auch ausgerechnet ganz oben in die Krone setzen. Der Hausbesitzer bot uns eine entsprechend hohe Leiter an. Mit der konnten
wir – zwar etwas wacklig aber doch – in die Baumkrone steigen und uns den Schwarm aus der Nähe ansehen.
![](http://bienenimgarten.files.wordpress.com/2013/06/img_1508.jpg?w=960)
Das Einfangen
-------------
Bis auf die unangenehm hohe Position des Schwarms war das Einfangen an sich relativ problemlos. Ein paar störende, kleine Äste
vom Baum geschnitten, einen großen Sack unter den Schwarm gehalten, kräftig am Ast gerüttelt und schon hatten wir den größten
Teil des Schwarms sprichwörtlich “im Sack”. Wir achteten darauf, dass jetzt alles schnell ging. Runter von der Leiter und sofort
in die Beute geleert. Die Bienen, die nicht aus dem Sack kommen wollten, ließen wir drauf sitzen und gaben ihnen Zeit, ihren
Kollegen zu folgen.
![](http://bienenimgarten.files.wordpress.com/2013/06/img_1512.jpg?w=960)
Als wir nach einer Stunde wieder kamen, waren alle Bienen, die wir vom Baum geholt hatten, in der Beute. Wir stellten allerdings
fest, dass wir ca. ein Viertel der Bienen durch die schlechte Zugänglichkeit am Baum nicht erwischt hatten. Sie hingen noch in
der Baumkrone. Also nochmals in den Imkeranzug, rauf auf den Baum und die restlichen eingesammelt. Beim zweiten Mal ging das alles
relativ unkompliziert und schnell.
Der Transport und die Ankunft
-----------------------------
Es ist immer wieder ein interessantes Gefühl, mit über 20.000 brummenden Bienen im Auto herumzufahren. Im Grunde verlief der
Transport aber problemlos. Wir konnten sie noch gestern Nacht an ihren Standplatz bringen. Jetzt haben wir also zwei Völker,
um die wir uns kümmern dürfen.
Heute Früh trat noch ein spannendes Phänomen auf: Ein Teil der Bienen setzte sich außen auf die Beute (siehe Foto unten).
In Foren und von erfahrenen Imkerkollegen haben wir erfahren, dass das gut sein kann. Das machen die Bienen zur
Temperaturregulierung und wenn sie keinen Platz im Stock haben. Wie schon berichtet, imkern wir mit Naturbau. Die
Bienen müssen sich also ihre Behausung selbst ausbauen. Das bedeutet natürlich, dass der Schwarm erst mal bauen muss, bevor
mit Honigeinlagerung und dem Brüten begonnen werden kann. Wir vermuten, dass einfach einige Bienen im Weg stehen und das der
Grund für den “Ausflug” ist. Wir werden berichten, ob wir richtig gelegen sind.
![](http://bienenimgarten.files.wordpress.com/2013/06/2013-06-16-08-51-09.jpg?w=960)
Das war ein ereignisreicher Abend. Wir sind todmüde ins Bett gefallen und sind – zugegeben – auch ein wenig Stolz auf
unseren ersten, selbst gefangenen Bienenschwarm.
"
};

this.BlogItems.Add(newItem);
this.SaveChanges();
}

if (!existingBlogIds.Contains(2))
{
var newItem = new BlogItem()
{
BlogId = 2,
Title = "Türe auf – eine vergrößerte Fluglochöffnung muss her",
FeaturedImageUri = "http://bienenimgarten.files.wordpress.com/2013/06/img_0804.jpg?w=500",
Content = @"
Türe auf!
---------
Endlich die erste richtig lange Schönwetterperiode. Die Bienen entwickeln sich im Moment prächtig. Vor dem Flugloch geht
es so richtig rund. Bei unserem gestrigen Bienenbesuch haben wir bemerkt, dass die kleine Fluglochöffnung im Moment ein
echter Engpass ist. Die Bienen müssen sich zum Rein- und Rausgehen richtig anstellen. Aus diesem Grund haben wir heute
einen Fluglochkeil mit größerer Öffnung gebastelt. Am Foto unten (anklicken zum Vergrößern) sieht man den Unterschied.
Der obere Fluglochkeil ist der, den man mit der Dadant-Beute von der Firma Janisch bekommt. Den unteren haben wir heute
gebaut. Im Sommer werden wir den vergrößerten verwenden. Der kleine passt für den Herbst und Winter dann sicher wieder optimal.
![](http://bienenimgarten.files.wordpress.com/2013/06/dscf3103.jpg?w=960)
Die Sache mit der Größe des Fluglochs ist in Imkerkreisen eine vieldiskutierte. Einerseits will man den Bienen genug
Platz geben. Andererseits macht ein zu großes Flugloch es der Fluglochwache schwer, den Stock gegen ungebetene Gäste wie
z.B. Spitzmäuse zu verteidigen. Aus diesem Grund haben wir den oben gezeigten Kompromiss gewählt. Das Loch ist zwar über
die ganze Breite offen, aber nur wenige mm hoch.
"
};

this.BlogItems.Add(newItem);
this.SaveChanges();
}

if (!existingBlogIds.Contains(1))
{
var newItem = new BlogItem()
{
BlogId = 1,
Title = "Es brummt im Bienenstock",
FeaturedImageUri = "http://bienenimgarten.files.wordpress.com/2013/06/dscf3078.jpg?w=500",
Content = @"
In einem unserer letzten Blogartikel haben wir berichtet, dass unsere Königin (die sogenannte Weisel) tot ist. Das war ein
herber Rückschlag, da wir nicht wussten, ob eine zweite im Volk ist. Heute haben wir tolle Neuigkeiten: Es ist so gut wie
sicher, dass unser Volk nicht weisellos ist. Herausgefunden haben wir das mit Hilfe unseres Imkereivereinobmanns. Wir haben
gemeinsam den Stock geöffnet und uns die Brut angesehen. Die tote Königin haben wir vor ziemlich genau einer Woche gefunden.
In den Wabenzellen fanden wir aber gestern sowohl Eier als auch Bienenlarven, die teilweise erst wenige Tage alt waren. Das ist
nur möglich mit einer aktiven Königin.
Darüber hinaus waren wir begeistert, wie fleißig unser Bienenvolk bereits gebaut hat. Das folgende Foto zeigt eine der
Brutwaben, die die Bienen in ziemlich genau eineinhalb Wochen im Naturbau gebaut haben (anklicken zum Vergrößern):
![](http://bienenimgarten.files.wordpress.com/2013/06/dscf3073.jpg?w=960)
Es scheint also im Moment alles in Ordnung mit unserem Bienenvolk zu sein. Wir werden trotzdem die nächsten Tage noch
weiter mit Zuckerwasser füttern müssen. Das Wetter ist trotz Anfang Juni immer noch katastrophal. Es regnet bei weniger als
15° voraussichtlich noch bis Mitte nächster Woche. Danach hoffen wir (und unsere Bienen), dass es endlich richtig Sommer wird.
Beim Kontrollieren der Beute konnte ich noch ein paar gute Fotos machen. Die möchte ich hier mit euch teilen
(anklicken zum Vergrößern):
![](http://bienenimgarten.files.wordpress.com/2013/06/dscf3077.jpg?w=300&h=199) ![](http://bienenimgarten.files.wordpress.com/2013/06/dscf3079.jpg?w=300&h=199)
Zurück auf den Balkon?
----------------------
Wie berichtet hatten wir das Problem, als die Bienen noch auf dem Balkon standen, dass sie sich in großer Zahl zu unseren
Nachbarn verflogen haben. Was dieses Problem betrifft, haben wir weiter recherchiert.
Ein Tipp, den wir bekommen haben, bezog sich auf die Positionierung und Farbe der Beute. Wir hatten am Balkon unsere Beute
bewusst so hingestellt, dass die Bienen über das Balkongeländer fliegen mussten. Unser Ziel war, dafür zu sorgen, dass sie
nach oben weg fliegen und so die Nachbarn wenig von den Bienen zu spüren bekommen. Vielleicht war das ein Fehler. Die Beute
war so von außen schwer zu sehen, da sie zum Großteil hinter dem Balkongeländer verschwand. Der Tipp war, die Beute erhöht
aufzustellen und ganz nach vorne zu schieben, sodass ein Teil (z.B. das Anflugbrett) über das Geländer hinaus schaut. Die Beute
sollte dann von außen gut sichtbar sein.
Die zweite Maßnahme, die hilfreich sein könnte, wäre eine farbliche Markierung. Wir haben uns schlau gemacht, was
die Farb- und Mustererkennung von Bienen betrifft. Für alle Leser, die an diesem Thema ebenfalls interessiert sind,
empfehlen wir die folgenden Artikel:
* [Das komplexe Denken der Bienen](http://sciencev1.orf.at/science/news/10903), in ORF On Science
* Menzel R.: [Farbsehen blütenbesuchender Insekten](http://www.neurobiologie.fu-berlin.de/menzel/Pub_AGmenzel/Menzel_JB%20KFA%20J%C3%BClich_1987_100dpi.pdf), Institut
für Neurobiologie der freien Universität Berlin
Vielleicht wäre es hilfreich, nicht nur die Beute zu markieren sondern auch den Balkon selbst mit Blumenkästen in, für
Bienen gut wahrnehmbaren Farben und vielleicht sogar mit UV-reflektierenden Markern von weitem erkennbar zu machen.
Im Moment bleiben unsere Bienen im Garten. Wir warten auf jeden Fall die jetzt (hoffentlich) kommende, erste warme Periode
des Sommers 2013 ab. Unsere Bienen sollen die nächsten Wochen in Ruhe an ihren Waben bauen. Danach werden wir vielleicht
nochmals ganz vorsichtig bei unseren Nachbarn anklopfen und fragen, ob wir einen zweiten Versuch am Balkon wagen dürfen.
Parallel dazu arbeiten wir auch an einer zweiten Variante, über die wir an anderer Stelle berichten werden.
"
};

this.BlogItems.Add(newItem);
this.SaveChanges();
}
}
}
}
18 changes: 18 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/BlogItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System.ComponentModel.DataAnnotations;

namespace BeeInMyGarden.Data
{
public class BlogItem
{
[Key]
public int BlogId { get; set; }

[MaxLength(128)]
public string Title { get; set; }

public string Content { get; set; }

[MaxLength(256)]
public string FeaturedImageUri { get; set; }
}
}
36 changes: 36 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("BeeInMyGarden.Data")]
[assembly: AssemblyDescription("")]
//[assembly: AssemblyConfiguration("")]
//[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("BeeInMyGarden.Data")]
//[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("ce96625f-84c2-4bd9-b441-b28ecde80902")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
12 changes: 12 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/Properties/Version.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//------------------------------------------------------------------------------------------------------------
// <copyright file="Version.cs" company="software architects og">
// Copyright (c) software architects og. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------------------------------------

using System.Reflection;
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("0.0.0.0")]
[assembly: AssemblyConfiguration("DesktopBuild")]
[assembly: AssemblyCopyright("Copyright © software architects gmbh 2013. All rights reserved.")]
[assembly: AssemblyCompany("software architects gmbh")]
4 changes: 4 additions & 0 deletions BeeInMyGarden/BeeInMyGarden.Data/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net45" />
</packages>
Loading

0 comments on commit 4bdd5d0

Please sign in to comment.