Пример #1
0
        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();
        }
Пример #2
0
        /// <summary>
        /// Shows the window for new plants not yet added to a family
        /// </summary>
        /// <param name="family">the family the plant belongs to</param>
        public static void ShowWindow(PlantFamily family)
        {
            Plant plant = new Plant("", "");

            plant.FamilyID = family.ID;
            EditPlantWindow win = new EditPlantWindow(plant, true);

            win.ShowAll();
        }
        private InfoPlantFamilyWindow(PlantFamily family, bool create, bool isEdited) : base("Info about " + family.Name, isEdited)
        {
            Family = family;
            Create = create;

            AddEntry(family.Name, infoView.tag_headline);

            AddEntry("(" + family.ScientificName + ")", infoView.tag_weak);

            AddEntry("Beschreibung: ", false);

            AddEntry(family.Description, infoView.tag_italic);

            ApplyTags();
        }
Пример #4
0
        private InfoPlantWindow(Plant plant, bool create, bool isEdited) : base("Info about " + plant.Name, isEdited)
        {
            Plant  = plant;
            Create = create;

            AddEntry(plant.Name, infoView.tag_headline);

            PlantFamily family = GardenData.LoadedData.GetFamily(plant.FamilyID);

            AddEntry("Gehört zu " + family.Name, false);
            AddEntry("(" + plant.ScientificName + ")", infoView.tag_weak);

            AddEntry("Beschreibung: ", false);

            AddEntry(plant.Description, infoView.tag_italic);

            string feeder = "";

            switch (plant.FeederType)
            {
            case FeederType.Heavy:
                feeder = "Starkzehrer";
                break;

            case FeederType.Medium:
                feeder = "Mittelzehrer";
                break;

            case FeederType.Light:
                feeder = "Schwachzeher";
                break;
            }

            AddEntry("Nährstoffbedarf: " + feeder);

            AddEntry("Aussaat draußen: " + plant.PlantOutsideDateRange);

            ApplyTags();

            ImageButton = new Button("Add Image");
            ActionButtonBox.Add(ImageButton);
            ImageButton.Clicked += ImageButton_Clicked;
        }
        public static void ShowWindow(PlantFamily family, bool isEdited = false, bool create = false)
        {
            InfoPlantFamilyWindow win = new InfoPlantFamilyWindow(family, create, isEdited);

            win.ShowAll();
        }
Пример #6
0
        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);
        }
Пример #7
0
 public NewPlantEntry(PlantFamily family) : base($"<new {family.Name} plant>", "")
 {
     this.Family = family;
 }