protected override void Save() { if (NameEntry.Text.Length == 0) { ShowErrorSave(Family.Name, "The name must not be empty"); return; } ModifyOrCreate(Family); try { string id = GardenData.GenID(Family.Name); /* * //if variety already exists it is deleted first before it is added again * if (!Create) * { * GardenData.LoadedData.RemoveFamily(Family); * } * GardenData.LoadedData.AddFamily(id, Family); */ if (Create) { GardenData.LoadedData.AddFamily(id, Family); } ShowSuccessSave(Family.Name); } catch (GardenDataException) { ShowErrorSave(Family.Name, "Corrupted Data"); } MainWindow.GetInstance().ReloadFamilies(); }
protected override void Save() { if (NameEntry.Text.Length == 0) { ShowErrorSave(Plant.Name, "The name must not be empty"); return; } ModifyOrCreate(Plant); try { PlantFamily family = GardenData.LoadedData.GetFamily(Plant.FamilyID); string id = GardenData.GenID(Plant.Name); if (Create) { family.AddPlant(id, Plant); } ShowSuccessSave(Plant.Name); } catch (GardenDataException) { ShowErrorSave(Plant.Name, "Corrupted Data"); } MainWindow.GetInstance().ReloadFamilies(); }
public FamilyTreeView(GardenData gardenData) { AddColumn("Family/Plant/Variety"); TreeStore treeStore = new TreeStore(typeof(Garden.GardenDataEntry)); foreach (Garden.PlantFamily family in gardenData.Families.Values) { TreeIter familyIter = treeStore.AppendValues(family); foreach (Garden.Plant plant in family.Plants.Values) { TreeIter plantIter = treeStore.AppendValues(familyIter, plant); foreach (Garden.PlantVariety variety in plant.Varieties.Values) { TreeIter varietyIter = treeStore.AppendValues(plantIter, variety); } treeStore.AppendValues(plantIter, new NewVarietyEntry(plant)); } treeStore.AppendValues(familyIter, new NewPlantEntry(family)); } treeStore.AppendValues(new NewFamilyEntry()); treeView.Model = treeStore; treeView.Selection.Changed += (object sender, EventArgs e) => { //System.Console.WriteLine("selected " + GetSelected().Name); GardenDataEntry selected = GetSelected(); if (selected is NewFamilyEntry) { NewFamily?.Invoke(); } else if (selected is NewPlantEntry npe) { NewPlant?.Invoke(npe.Family); } else if (selected is NewVarietyEntry nve) { NewVariety?.Invoke(nve.Plant); } else { SelectedGardenDataEntry?.Invoke(GetSelected()); } }; Add(treeView); }
public MainWindow() : base(WindowType.Toplevel) { GardenData.LoadedData = GardenData.LoadedData = new GardenData("new project"); Title = "Garden project '" + GardenData.LoadedData.Name + "'"; //GardenData.LoadedData = GardenPlanner.MainClass.TestData(); PlantSideVPaned.Add1(FamilyPlantVarietySelector); PlantAreaInfoVPaned.Add1(PlantBox); PlantAreaInfoVPaned.Add2(AreaInfo); PlantSideVPaned.Add2(PlantAreaInfoVPaned); TopPanedToolboxVPaned.Add1(GraphicsSidebarHPaned); TopPanedToolboxVPaned.Add2(ToolBox); Frame frame; PlantBox.Add(PlantAddButton); PlantBox.Add(PlantInfoButton); PlantBox.Add(PlantEditButton); ToolBox.Add(AreaNewButton); ToolBox.Add(AreaCancelButton); ToolBox.Add(AreaTypeComboBox); ToolBox.Add(AreaEditButton); ToolBox.Add(AreaDeleteButton); frame = new Frame("Zoom"); frame.Add(ZoomButton); ToolBox.Add(frame); frame = new Frame("Date"); VButtonBox buttonBox = new VButtonBox(); //yearButton = new SpinButton(GardenData.GetFirstYear(), GardenData.GetLastYear(), 1); yearButton = new SpinButton(settings.MinYear, settings.MaxYear, 1); buttonBox.Add(yearButton); buttonBox.Add(monthButton); frame.Add(buttonBox); ToolBox.Add(frame); foreach (Widget w in TopVBox.Children) { TopVBox.Remove(w); } TopVBox.Add(MenuBar); TopVBox.Add(TopPanedToolboxVPaned); if (this.Child == null) { this.Add(TopVBox); } ResetForNewData(); FamilyPlantVarietySelector.SetSizeRequest(100, 400); AreaInfo.WrapMode = WrapMode.Word; AreaInfo.Editable = false; PlantAddButton.Sensitive = false; PlantAddButton.Clicked += (sender, e) => { GardenDrawingArea area = GardenDrawingArea.ActiveInstance; if (area.SelectedArea is Planting planting && SelectedEntry is PlantVariety variety) { EditPlantingInfoWindow.ShowPlantingInfoWindow((PlantingInfo plantingInfo) => { planting.AddVariety(variety, plantingInfo); GardenDrawingArea.ActiveInstance.Draw(); ShowAreaSelectionInfo(area.SelectedArea); }, planting, variety.Name); } ; }; PlantInfoButton.Clicked += (object sender, System.EventArgs e) => { if (SelectedEntry is PlantFamily family) { InfoPlantFamilyWindow.ShowWindow(family, false); } else if (SelectedEntry is Plant plant) { InfoPlantWindow.ShowWindow(plant, false); } else if (SelectedEntry is PlantVariety variety) { InfoPlantVarietyWindow.ShowWindow(variety, false); } }; PlantEditButton.Clicked += (object sender, System.EventArgs e) => { if (SelectedEntry is PlantFamily family) { EditPlantFamilyWindow.ShowWindow(family); } else if (SelectedEntry is Plant plant) { EditPlantWindow.ShowWindow(plant); } else if (SelectedEntry is PlantVariety variety) { EditPlantVarietyWindow.ShowWindow(variety); } }; ZoomButton.Value = GardenDrawingArea.Zoom; ZoomButton.Events = Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.KeyPressMask | Gdk.EventMask.KeyReleaseMask; ZoomButton.TooltipText = "Zoom"; AreaNewButton.Clicked += (object sender, System.EventArgs e) => { if (AreaCancelButtonClicked) { AreaCancelButtonClicked = false; AreaCancelButton.Sensitive = false; if (GardenDrawingArea.ActiveInstance != null) { GardenDrawingArea.ActiveInstance.UndoSelection(); GardenDrawingArea.ActiveInstance.NewPoints.Clear(); GardenDrawingArea.ActiveInstance.Draw(); } } else if (!AreaNewButton.Active)//deactivated { AreaCancelButton.Sensitive = false; if (GardenDrawingArea.ActiveInstance != null) { List <GardenPoint> points = GardenDrawingArea.ActiveInstance.NewPoints; switch (AreaTypeComboBox.Active) { case 0: //garden if (GardenDrawingArea.ActiveInstance.Garden.Shape.GetPoints().Count == 0) { GardenDrawingArea.ActiveInstance.Garden.Shape.AddPoints(points); GardenDrawingArea.ActiveInstance.Garden.Shape.FinishPoints(); GardenDrawingArea.ActiveInstance.NewPoints.Clear(); GardenDrawingArea.ActiveInstance.Draw(); } break; case 1: //planting PlantingCreationDialog.ShowPlantingCreationDialog(new List <GardenPoint>(points), (Planting planting) => { GardenDrawingArea.ActiveInstance.NewPoints.Clear(); GardenDrawingArea.ActiveInstance.Draw(); GardenDrawingArea.ActiveInstance.Garden.AddPlanting(GardenData.GenID(planting.Name), planting); }); break; case 2: //method area GardenAreaCreationDialog.ShowGardenAreaCreationDialog(new List <GardenPoint>(points), (GardenArea area) => { GardenDrawingArea.ActiveInstance.NewPoints.Clear(); GardenDrawingArea.ActiveInstance.Draw(); GardenDrawingArea.ActiveInstance.Garden.AddMethodArea(GardenData.GenID(area.Name), area); }); break; } } } else //activated { if (AreaTypeComboBox.Active == 0) //garden { if (GardenDrawingArea.ActiveInstance == null || GardenDrawingArea.ActiveInstance.Garden.Shape.GetPoints().Count > 0) { AreaNewButton.Active = false; GardenCreationDialog.ShowGardenCreationDialog(new List <GardenPoint>(), ((Garden garden) => { GardenData.LoadedData.AddGarden(GardenData.GenID(garden.Name), garden); this.ResetForNewData(); GardenBedBook.Page = GardenBedBook.NPages - 1; AreaNewButton.Active = true; })); } } AreaCancelButton.Sensitive = true; } }; AreaCancelButton.Sensitive = false; AreaCancelButton.Clicked += (object sender, System.EventArgs e) => { AreaCancelButtonClicked = true; AreaCancelButton.Sensitive = false; AreaNewButton.Active = false; }; AreaTypeComboBox.Active = 0; AreaTypeComboBox.Changed += (object sender, System.EventArgs e) => { switch (AreaTypeComboBox.Active) { case 0: AreaNewButton.Label = "New Garden"; break; case 1: AreaNewButton.Label = "New Planting"; break; case 2: AreaNewButton.Label = "New Method Area"; break; } }; AreaEditButton.Clicked += (object sender, System.EventArgs e) => { GardenDrawingArea gardenDrawingArea = GardenDrawingArea.ActiveInstance; if (gardenDrawingArea == null || gardenDrawingArea.Garden == null || gardenDrawingArea.SelectedArea == null) { return; } if (gardenDrawingArea.SelectedArea is Planting planting) { PlantingCreationDialog.ShowPlantingEditDialog(planting); } else if (gardenDrawingArea.SelectedArea is Garden) { GardenAreaCreationDialog.ShowGardenAreaEditDialog(gardenDrawingArea.SelectedArea); } else { GardenAreaCreationDialog.ShowGardenAreaEditDialog(gardenDrawingArea.SelectedArea); } }; AreaDeleteButton.Clicked += (object sender, System.EventArgs e) => { GardenDrawingArea gardenDrawingArea = GardenDrawingArea.ActiveInstance; if (gardenDrawingArea == null || gardenDrawingArea.Garden == null) { return; } string name = gardenDrawingArea.SelectedArea != null ? gardenDrawingArea.SelectedArea.Name : gardenDrawingArea.Garden.Name; Dialog dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.OkCancel, "Do you want to delete '" + name + "'?", new { }); int response = dialog.Run(); //System.Console.WriteLine("response " + result); if (response == (int)ResponseType.Cancel) { } else if (response == (int)ResponseType.Ok) { if (gardenDrawingArea.Garden != null && (gardenDrawingArea.SelectedArea == null || gardenDrawingArea.SelectedArea is Garden)) { var garden = gardenDrawingArea.Garden; GardenData.LoadedData.Gardens.Remove(garden.ID); GardenBedBook.Remove(GardenBedBook.GetNthPage(GardenBedBook.CurrentPage)); //System.Console.WriteLine("delete garden"); GardenDrawingArea.ActiveInstance = null; gardenDrawingArea.UndoSelection(); SelectGardenEntry(null); if (GardenBedBook.Page >= 0 && GardenBedBook.GetNthPage(GardenBedBook.Page) is GardenDrawingArea drawingArea) { GardenDrawingArea.ActiveInstance = drawingArea; drawingArea.Draw(); } GardenData.unsaved = true; } else if (gardenDrawingArea.SelectedArea is Planting planting) { gardenDrawingArea.Garden.RemovePlanting(planting); gardenDrawingArea.UndoSelection(); SelectGardenEntry(null); gardenDrawingArea.Draw(); GardenData.unsaved = true; } else if (gardenDrawingArea.SelectedArea is GardenArea area) { gardenDrawingArea.Garden.RemoveMethodArea(area); gardenDrawingArea.UndoSelection(); SelectGardenEntry(null); gardenDrawingArea.Draw(); GardenData.unsaved = true; } } dialog.Destroy(); }; int yearValue = yearButton.ValueAsInt; yearButton.ValueChanged += (sender, e) => { if (yearButton.ValueAsInt > yearValue) { monthButton.Value = 1; } else { monthButton.Value = 12; } yearValue = yearButton.ValueAsInt; DateChanged(); }; monthButton.Changed += (sender, e) => { DateChanged(); }; void DateChanged() { GardenDrawingArea gardenDrawingArea = GardenDrawingArea.ActiveInstance; if (gardenDrawingArea == null) { return; } if (gardenDrawingArea.SelectedArea != null && (!gardenDrawingArea.SelectedArea.CheckDate(GetYear(), GetMonth()) || !gardenDrawingArea.Garden.CheckDate(GetYear(), GetMonth()))) { gardenDrawingArea.UndoSelection(); } gardenDrawingArea.Draw(); ShowAreaSelectionInfo(gardenDrawingArea.SelectedArea); } //FamilyPlantVarietySelector.Add1(PopulateFamilies(GardenData.LoadedData)); //RepopulateGrowables(); //Build(); this.DeleteEvent += (object o, DeleteEventArgs args) => { TryToClose(); args.RetVal = true; }; this.Destroyed += (sender, e) => { GardenPlannerSettings.Save(); Application.Quit(); }; }
// Form Handlingc public Garden() { InitializeComponent(); CB_Item.DisplayMember = "Text"; CB_Item.ValueMember = "Value"; CB_Item.DataSource = new BindingSource(Main.itemList, null); TB_Flag1.KeyPress += EnterKey; TB_Flag2.KeyPress += EnterKey; Save = new GardenData(Main.SaveData); #region Array Initialization TownAcres = new[] { PB_acre00, PB_acre10, PB_acre20, PB_acre30, PB_acre40, PB_acre50, PB_acre60, PB_acre01, PB_acre11, PB_acre21, PB_acre31, PB_acre41, PB_acre51, PB_acre61, PB_acre02, PB_acre12, PB_acre22, PB_acre32, PB_acre42, PB_acre52, PB_acre62, PB_acre03, PB_acre13, PB_acre23, PB_acre33, PB_acre43, PB_acre53, PB_acre63, PB_acre04, PB_acre14, PB_acre24, PB_acre34, PB_acre44, PB_acre54, PB_acre64, PB_acre05, PB_acre15, PB_acre25, PB_acre35, PB_acre45, PB_acre55, PB_acre65, }; IslandAcres = new[] { PB_island00, PB_island10, PB_island20, PB_island30, PB_island01, PB_island11, PB_island21, PB_island31, PB_island02, PB_island12, PB_island22, PB_island32, PB_island03, PB_island13, PB_island23, PB_island33, }; PlayerPics = new[] { PB_JPEG0, PB_JPEG1, PB_JPEG2, PB_JPEG3 }; PlayerPicsLarge = new[] { PB_LPlayer0, /* PB_LPlayer1, PB_LPlayer2, PB_LPlayer3 */ }; PlayerPockets = new[] { PB_P0Pocket, /* PB_P1Pocket, PB_P2Pocket, PB_P3Pocket */ }; PlayerDressers1 = new[] { PB_P0Dresser1, /* PB_P1Dresser1, PB_P2Dresser1, PB_P3Dresser1 */ }; PlayerDressers2 = new[] { PB_P0Dresser2, /* PB_P1Dresser2, PB_P2Dresser2, PB_P3Dresser2 */ }; PlayerIslandBox = new[] { PB_P0Island, /* PB_P1Island, PB_P2Island, PB_P3Island */ }; PlayerBadges = new[] { new [] { CB_P0Badge00, CB_P0Badge01, CB_P0Badge02, CB_P0Badge03, CB_P0Badge04, CB_P0Badge05, CB_P0Badge06, CB_P0Badge07, CB_P0Badge08, CB_P0Badge09, CB_P0Badge10, CB_P0Badge11, CB_P0Badge12, CB_P0Badge13, CB_P0Badge14, CB_P0Badge15, CB_P0Badge16, CB_P0Badge17, CB_P0Badge18, CB_P0Badge19, CB_P0Badge20, CB_P0Badge21, CB_P0Badge22, CB_P0Badge23, }, /* new [] { CB_P1Badge00, CB_P1Badge01, CB_P1Badge02, CB_P1Badge03, CB_P1Badge04, CB_P1Badge05, CB_P1Badge06, CB_P1Badge07, CB_P1Badge08, CB_P1Badge09, CB_P1Badge10, CB_P1Badge11, CB_P1Badge12, CB_P1Badge13, CB_P1Badge14, CB_P1Badge15, CB_P1Badge16, CB_P1Badge17, CB_P1Badge18, CB_P1Badge19, CB_P1Badge20, CB_P1Badge21, CB_P1Badge22, CB_P1Badge23, }, new [] { CB_P2Badge00, CB_P2Badge01, CB_P2Badge02, CB_P2Badge03, CB_P2Badge04, CB_P2Badge05, CB_P2Badge06, CB_P2Badge07, CB_P2Badge08, CB_P2Badge09, CB_P2Badge10, CB_P2Badge11, CB_P2Badge12, CB_P2Badge13, CB_P2Badge14, CB_P2Badge15, CB_P2Badge16, CB_P2Badge17, CB_P2Badge18, CB_P2Badge19, CB_P2Badge20, CB_P2Badge21, CB_P2Badge22, CB_P2Badge23, }, new [] { CB_P3Badge00, CB_P3Badge01, CB_P3Badge02, CB_P3Badge03, CB_P3Badge04, CB_P3Badge05, CB_P3Badge06, CB_P3Badge07, CB_P3Badge08, CB_P3Badge09, CB_P3Badge10, CB_P3Badge11, CB_P3Badge12, CB_P3Badge13, CB_P3Badge14, CB_P3Badge15, CB_P3Badge16, CB_P3Badge17, CB_P3Badge18, CB_P3Badge19, CB_P3Badge20, CB_P3Badge21, CB_P3Badge22, CB_P3Badge23, } */ }; PlayerNames = new[] { TB_P0Name, /* TB_P1Name, TB_P2Name, TB_P3Name */ }; PlayerHairStyles = new[] { CB_P0HairStyle, /* CB_P1HairStyle, CB_P2HairStyle, CB_P3HairStyle */ }; PlayerHairColors = new[] { CB_P0HairColor, /* CB_P1HairColor, CB_P2HairColor, CB_P3HairColor */ }; PlayerEyeColors = new[] { CB_P0EyeColor, /* CB_P1EyeColor, CB_P2EyeColor, CB_P3EyeColor */ }; PlayerFaces = new[] { CB_P0FaceShape, /* CB_P1FaceShape, CB_P2FaceShape, CB_P3FaceShape */ }; PlayerTans = new[] { CB_P0SkinColor, /* CB_P1SkinColor, CB_P2SkinColor, CB_P3SkinColor */ }; PlayerGenders = new[] { CB_P0Gender, /* CB_P1Gender, CB_P2Gender, CB_P3Gender */ }; TownVillagers = new[] { CB_Villager1, CB_Villager2, CB_Villager3, CB_Villager4, CB_Villager5, CB_Villager6, CB_Villager7, CB_Villager8, CB_Villager9, CB_Villager10 }; foreach (ComboBox id in TownVillagers) { id.DisplayMember = "Text"; id.ValueMember = "Value"; id.DataSource = new BindingSource(Main.vList, null); } TownVillagersCatch = new[] { TB_VillagerCatch1, TB_VillagerCatch2, TB_VillagerCatch3, TB_VillagerCatch4, TB_VillagerCatch5, TB_VillagerCatch6, TB_VillagerCatch7, TB_VillagerCatch8, TB_VillagerCatch9, TB_VillagerCatch10 }; #endregion #region Load Event Methods to Controls foreach (PictureBox p in TownAcres) { p.MouseMove += mouseTown; p.MouseClick += clickTown; } foreach (PictureBox p in IslandAcres) { p.MouseMove += mouseIsland; p.MouseClick += clickIsland; } foreach (PictureBox p in PlayerPockets) { p.MouseMove += mouseCustom; p.MouseClick += clickCustom; } foreach (PictureBox p in PlayerDressers1) { p.MouseMove += mouseCustom; p.MouseClick += clickCustom; } foreach (PictureBox p in PlayerDressers2) { p.MouseMove += mouseCustom; p.MouseClick += clickCustom; } foreach (PictureBox p in PlayerIslandBox) { p.MouseMove += mouseCustom; p.MouseClick += clickCustom; } #endregion // Load loadData(); populateBuildingList(); reloadCurrentItem(currentItem); }
// Data Usage private void loadData() { Save = new GardenData(Main.SaveData); // Load Players Players = new Player[4]; for (int i = 0; i < Players.Length; i++) Players[i] = new Player(Save.Data.Skip(0xA0 + i * 0x9F10).Take(0x9F10).ToArray()); for (int i = 0; i < Players.Length; i++) PlayerPics[i].Image = Players[i].JPEG; loadPlayer(0); for (int i = 0; i < Players.Length; i++) { PlayerBankCheat[i].Text = String.Format(DefaultBankText, Players[i].Name); PlayerBankCheat[i].Visible = Players[i].Name != ""; } // Load Town TownAcreTiles = new ushort[TownAcres.Length]; for (int i = 0; i < TownAcreTiles.Length; i++) TownAcreTiles[i] = BitConverter.ToUInt16(Save.Data, 0x4DA84 + i * 2); fillMapAcres(TownAcreTiles, TownAcres); aeTownAcreTiles = (ushort[])TownAcreTiles.Clone(); fillMapAcres(aeTownAcreTiles, aeTownAcres); TownItems = getMapItems(Save.Data.Skip(0x4DAD8).Take(0x5000).ToArray()); fillTownItems(TownItems, TownAcres); // Load Island IslandAcreTiles = new ushort[IslandAcres.Length]; for (int i = 0; i < IslandAcreTiles.Length; i++) IslandAcreTiles[i] = BitConverter.ToUInt16(Save.Data, 0x6A488 + i * 2); fillMapAcres(IslandAcreTiles, IslandAcres); aeIslandAcreTiles = (ushort[])IslandAcreTiles.Clone(); fillMapAcres(aeIslandAcreTiles, aeIslandAcres); IslandItems = getMapItems(Save.Data.Skip(0x6A4A8).Take(0x1000).ToArray()); fillIslandItems(IslandItems, IslandAcres); // Load Buildings Buildings = new Building[58]; for (int i = 0; i < Buildings.Length; i++) Buildings[i] = new Building(Save.Data.Skip(0x0495A8 + i * 4).Take(4).ToArray()); populateBuildingList(); // Load Villagers Villagers = new Villager[10]; for (int i = 0; i < Villagers.Length; i++) loadVillager(i); // Load Overall { TB_TownName.Text = Save.TownName; CB_GrassShape.SelectedIndex = Save.GrassType; CB_NativeFruit.SelectedIndex = Save.NativeFruit; CB_TownHallColor.SelectedIndex = Save.TownHallColor; CB_TrainStationColor.SelectedIndex = Save.TrainStationColor; NUD_Seconds.Value = Save.SecondsPlayed % 60; NUD_Minutes.Value = (Save.SecondsPlayed / 60) % 60; NUD_Hours.Value = (Save.SecondsPlayed / 3600) % 24; NUD_Days.Value = (Save.SecondsPlayed / 86400) % 25000; NUD_OverallDays.Value = Save.PlayDays; } loaded = true; }
public static GardenData TestData() { GardenData Data = new GardenData("testdata"); var zwiebelgewaechse = new PlantFamily("Zwiebelgewaechse", ""); Data.AddFamily("zwiebelgewaechse", zwiebelgewaechse); var knoblauch = new Plant("Knoblauch", ""); knoblauch.FeederType = FeederType.Medium; knoblauch.ScientificName = "allium sativum"; zwiebelgewaechse.AddPlant("knoblauch", knoblauch); var morado = new PlantVariety("Morado", "rotviolett, aus Spanien, geeignet für Herbstpflanzung, bildet Brutzwiebeln"); morado.SetColor(new Cairo.Color(0.9, 0.9, 0.9)); knoblauch.AddVariety("morado", morado); var vallelado = new PlantVariety("Vallelado", "bla"); vallelado.SetColor(new Cairo.Color(0.9, 0.9, 0.9)); knoblauch.AddVariety("vallelado", vallelado); var nachtschattengew = new PlantFamily("Nachtschattengewächse", ""); Data.AddFamily("nachtschattengewaechse", nachtschattengew); var kartoffeln = new Plant("Kartoffel", ""); kartoffeln.SetColor(new Cairo.Color(0.2, 0.8, 0.8)); nachtschattengew.AddPlant("kartoffel", kartoffeln); var bed1 = new Garden.Garden("Omas Garten", "Alte Garten von Oma", 2000, 1, 2000, 1); var bed2 = new Garden.Garden("Hauptstraßengarten", "Alte Garten von Oma", 2000, 1, 2000, 1); Data.AddGarden("oma_garten", bed1); Data.AddGarden("hptstr_garten", bed2); bed1.Shape.AddPoint(new GardenPoint(0, 0)); bed1.Shape.AddPoint(new GardenPoint(0, 200)); bed1.Shape.AddPoint(new GardenPoint(300, 200)); bed1.Shape.AddPoint(new GardenPoint(300, 0)); bed1.Shape.FinishPoints(); var compostArea = new GardenArea("Kompost", "hier wurde Kompost angewendet", 2000, 1, 2010, 6); compostArea.Shape.AddPoint(new GardenPoint(100, 100)); compostArea.Shape.AddPoint(new GardenPoint(300, 100)); compostArea.Shape.AddPoint(new GardenPoint(300, 200)); compostArea.Shape.AddPoint(new GardenPoint(100, 200)); compostArea.Shape.FinishPoints(); bed1.AddMethodArea("compost", compostArea); var plantingArea = new Planting("Planting", "hier wurde was gepflanzt", 2000, 1, 2010, 6); plantingArea.Shape.AddPoint(new GardenPoint(400, 400)); plantingArea.Shape.AddPoint(new GardenPoint(500, 400)); plantingArea.Shape.AddPoint(new GardenPoint(500, 500)); plantingArea.Shape.AddPoint(new GardenPoint(400, 500)); plantingArea.Shape.FinishPoints(); bed1.AddPlanting("planting", plantingArea); plantingArea.AddVariety(morado, new PlantingInfo() { Count = 3 }); plantingArea.AddVariety(vallelado, new PlantingInfo() { Count = 2 }); //string s = Newtonsoft.Json.JsonConvert.SerializeObject(Data, Newtonsoft.Json.Formatting.Indented); return(Data); }