Esempio n. 1
0
        private void testIntractions()
        {
            SubjectManager subjectManager = new SubjectManager();


            Subject subject = new Subject();

            subject.Name        = "ALTER FETTE SCHEIßE 3";
            subject.Description = "ES FUNKT 3";
            subjectManager.Create(subject);

            Subject Object = new Subject();

            Object.Name        = "ALTER FETTE SCHEIßE 3";
            Object.Description = "ES FUNKT 3";
            subjectManager.Create(Object);

            Predicate positive =
                subjectManager.GetAll <Predicate>().Where(p => p.Name.ToLower().Equals("positiv")).FirstOrDefault();

            Predicate predicate = new Predicate();

            predicate.Parent = positive;
            predicate.Name   = "X";

            InteractionManager interactionManager = new InteractionManager();
            Interaction        interaction        = new Interaction();

            interaction.Subject   = subject;
            interaction.Object    = Object;
            interaction.Predicate = predicate;

            interactionManager.Create(interaction);
            interactionManager.Delete(interaction);
        }
Esempio n. 2
0
        private static Species GetOrCreateSpecies(string speciesName, Type type, SubjectManager subjectManager, Taxon genus)
        {
            WikipediaReader wReader = new WikipediaReader();

            Species species = new Species();

            if (type.Equals(typeof(Plant)))
            {
                species = new Plant();

                if (subjectManager.GetAll <Species>().Any(s => s.ScientificName.Equals(speciesName)))
                {
                    species = subjectManager.GetAll <Plant>().FirstOrDefault(s => s.ScientificName.Equals(speciesName));
                }
                else
                {
                    species.ScientificName = speciesName;
                    species.Name           = wReader.GetName(speciesName);
                    species.Parent         = genus;
                    species.Rank           = TaxonRank.Species;
                    subjectManager.Create(species);
                }
            }
            else if (type.Equals(typeof(Animal)))
            {
                species = new Animal();

                if (subjectManager.GetAll <Species>().Any(s => s.ScientificName.Equals(speciesName)))
                {
                    species = subjectManager.GetAll <Animal>().FirstOrDefault(s => s.ScientificName.Equals(speciesName));
                }
                else
                {
                    species.ScientificName = speciesName;
                    species.Name           = wReader.GetName(speciesName);
                    species.Parent         = genus;
                    species.Rank           = TaxonRank.Species;
                    subjectManager.Create(species);
                }
            }

            return(species);
        }
        public IActionResult Add(SubjectModel model)
        {
            if (ModelState.IsValid)
            {
                SubjectManager.Create(model.Name);

                return(RedirectToAction(nameof(Index)));// vai arī tikai  "Index"?
            }
            return(View(model));
        }
Esempio n. 4
0
        private void loadTestAnimalData()
        {
            SubjectManager manager    = new SubjectManager();
            Animal         tempAnimal = new Animal();

            // create some big test data for plant
            for (int i = 0; i < 3; i++)
            {
                tempAnimal                = new Animal();
                tempAnimal.Name           = "Animal Name" + i;
                tempAnimal.Description    = "Description Description Description Description Description Description" + i;
                tempAnimal.ScientificName = "ScientificName" + i;
                manager.Create(tempAnimal);
            }
        }
Esempio n. 5
0
        private void loadTestPlantData()
        {
            SubjectManager manager   = new SubjectManager();
            Plant          tempPlant = new Plant();

            // create some big test data for plant
            for (int i = 0; i < 1000; i++)
            {
                tempPlant                = new Plant();
                tempPlant.Name           = "Plant Name" + i;
                tempPlant.Description    = "Description Description Description Description Description Description" + i;
                tempPlant.ScientificName = "ScientificName" + i;
                manager.Create(tempPlant);
                Debug.WriteLine(tempPlant.Name);
            }
        }
Esempio n. 6
0
        private void testTimperiods()
        {
            SubjectManager subjectManager = new SubjectManager();

            Subject subject = new Subject();

            subject.Name        = "ALTER FETTE SCHEIßE 3";
            subject.Description = "ES FUNKT 3";
            subjectManager.Create(subject);

            Sowing start = new Sowing();

            start.AssignedTo = subject;
            start.StartArea  = TimePeriodArea.Anfang;
            start.StartMonth = TimePeriodMonth.Januar;
            start.EndArea    = TimePeriodArea.Anfang;
            start.EndMonth   = TimePeriodMonth.Februar;
            start.Start      = true;


            Harvest ende = new Harvest();

            ende.AssignedTo = subject;
            ende.StartArea  = TimePeriodArea.Mitte;
            ende.StartMonth = TimePeriodMonth.März;
            ende.EndArea    = TimePeriodArea.Ende;
            ende.EndMonth   = TimePeriodMonth.Juli;
            ende.Start      = false;


            //ende = subjectManager.Create(ende);
            start.Next = ende;

            //start = subjectManager.Create(start);

            subject.TimePeriods.Add(start);
            subject.TimePeriods.Add(ende);

            subjectManager.Update(subject);


            var s = subjectManager.Get(subject.Id);
        }
Esempio n. 7
0
        public IActionResult Add(SubjectModel model)
        {
            if (ModelState.IsValid)
            {
                var sub = SubjectManager.Get(model.Name);

                if (sub != null)
                {
                    ModelState.AddModelError("err", "Subject already exists in List!");
                }

                else
                {
                    SubjectManager.Create(model.Name);
                    return(RedirectToAction(nameof(Index)));
                }
            }

            return(View(model));
        }
Esempio n. 8
0
        private static Taxon GetOrCreateGenus(string genusName, SubjectManager subjectManager)
        {
            WikipediaReader wReader = new WikipediaReader();

            Taxon genus = new Taxon();

            if (subjectManager.GetAll <Taxon>().Any(s => s.ScientificName.Equals(genusName)))
            {
                genus = subjectManager.GetAll <Taxon>().FirstOrDefault(s => s.ScientificName.Equals(genusName));

                if (string.IsNullOrEmpty(genus.Name) && !string.IsNullOrEmpty(genus.ScientificName))
                {
                    genus.Name = wReader.GetName(genus.ScientificName);
                }

                if (string.IsNullOrEmpty(genus.ScientificName) && !string.IsNullOrEmpty(genus.Name))
                {
                    genus.ScientificName = wReader.GetScientificName(genus.Name);
                }
            }
            else
            {
                genus.ScientificName = genusName;
                genus.Name           = wReader.GetName(genusName);

                if (String.IsNullOrEmpty(genus.Name))
                {
                    genus.Name = genusName;
                }

                genus.Rank = TaxonRank.Genus;

                subjectManager.Create(genus);
            }

            return(genus);
        }
Esempio n. 9
0
        public ActionResult LoadData()
        {
            // test create seeddata

            SeedDataGenerator.GenerateDays();

            AsciiReader reader = new AsciiReader();

            //#region Plant

            //string path = Path.Combine(AppConfigHelper.GetWorkspace(), "PlantSeedData.txt");

            //if (DataReader.FileExist(path))
            //{
            //    Stream fileStream = reader.Open(path);

            //    List<Node> nodes = reader.ReadFile<Node>(fileStream, "PlantSeedData.txt", "Plant");

            //    SubjectManager manager = new SubjectManager();

            //    foreach (var node in nodes)
            //    {
            //        Plant plant = (Plant)node;
            //        manager.Create(plant);

            //    }

            //    Debug.WriteLine("PlantSeedData.txt  : " + nodes.Count);
            //}

            ////mischkulturtabelle

            //path = Path.Combine(AppConfigHelper.GetWorkspace(), "MischkulturTabelle.txt");

            //if (DataReader.FileExist(path))
            //{
            //    Stream fileStream = reader.Open(path);

            //    List<Node> nodes = reader.ReadFile<Node>(fileStream, "MischkulturTabelle.txt", "Plant_MKT");

            //    SubjectManager manager = new SubjectManager();

            //    foreach (var node in nodes)
            //    {
            //        Plant plant = (Plant)node;

            //        if (!string.IsNullOrEmpty(plant.Name) && !string.IsNullOrEmpty(plant.ScientificName))
            //        {
            //            // pflanze noch nicht vorhanden
            //            if (!manager.GetAll<Plant>().Any(p => p.Name.ToLower().Equals(plant.Name.ToLower())))
            //            {
            //                //ToDO Remove dublicates - check if a plant is existing
            //                manager.Create(plant);
            //            }
            //            //else // pflanze existiert
            //            //{
            //            //    Plant plantFromDb =
            //            //        manager.GetAll<Plant>()
            //            //            .FirstOrDefault(
            //            //                p => p.ScientificName.ToLower().Equals(plant.ScientificName.ToLower()) && p.Rank == TaxonRank.Species);

            //            //    if (plantFromDb != null && plantFromDb.Name.Equals(plantFromDb.ScientificName))
            //            //    {
            //            //        plantFromDb.Name = plant.Name;
            //            //    }

            //            //    manager.Update(plantFromDb);
            //            //}

            //        }

            //    }

            //    Debug.WriteLine("MischkulturTabelle.txt  : " + nodes.Count);
            //}

            ////update after creation for associations

            //if (DataReader.FileExist(path))
            //{
            //    Stream fileStream = reader.Open(path);

            //    List<Node> nodes = reader.ReadFile<Node>(fileStream, "MischkulturTabelle.txt", "Plant_MKT_UPDATE");

            //    SubjectManager manager = new SubjectManager();

            //    foreach (var node in nodes)
            //    {
            //        Plant plant = (Plant)node;
            //        manager.Update(plant);
            //    }

            //    Debug.WriteLine("MischkulturTabelle.txt Update  : " + nodes.Count);
            //}


            //loadTestPlantData();

            //#endregion

            //#region Animal

            //path = Path.Combine(AppConfigHelper.GetWorkspace(), "AnimalSeedData.txt");

            //if (DataReader.FileExist(path))
            //{
            //    Stream fileStream = reader.Open(path);

            //    List<Node> nodes = reader.ReadFile<Node>(fileStream, "AnimalSeedData.txt", "Animal");

            //    SubjectManager manager = new SubjectManager();

            //    foreach (var node in nodes)
            //    {
            //        Animal animal = (Animal)node;
            //        if (!manager.GetAll<Animal>().Any(p => p.Name.Equals(animal.Name)))
            //        {
            //            manager.Create(animal);
            //        }
            //    }

            //    Debug.WriteLine("AnimalSeedData.txt  : " + nodes.Count);
            //}

            ////loadTestAnimalData();

            //#endregion

            //#region Effect

            //path = Path.Combine(AppConfigHelper.GetWorkspace(), "EffectSeedData.txt");

            //if (DataReader.FileExist(path))
            //{
            //    Stream fileStream = reader.Open(path);

            //    List<Node> nodes = reader.ReadFile<Node>(fileStream, "EffectSeedData.txt", "Effect");

            //    SubjectManager manager = new SubjectManager();

            //    foreach (var node in nodes)
            //    {

            //        Effect effect = (Effect)node;
            //        if (!manager.GetAll<Effect>().Any(p => p.Name.Equals(effect.Name)))
            //        {
            //            manager.Create(effect);
            //        }
            //    }

            //    Debug.WriteLine("EffectSeedData.txt  : " + nodes.Count);
            //}

            //#endregion

            #region Predicate

            string path = Path.Combine(AppConfigHelper.GetWorkspace(), "PredicateSeedData.txt");

            if (DataReader.FileExist(path))
            {
                Stream fileStream = reader.Open(path);

                List <Predicate> predicates = reader.ReadFile <Predicate>(fileStream, "PredicateSeedData.txt", "Predicate");

                SubjectManager manager = new SubjectManager();

                foreach (var node in predicates)
                {
                    Predicate predicate = (Predicate)node;
                    if (!manager.GetAll <Predicate>().Any(p => p.Name.Equals(predicate.Name)))
                    {
                        manager.Create(predicate);
                    }
                }

                Debug.WriteLine("PredicateSeedData.txt  : " + predicates.Count);
            }

            #endregion

            //#region Interaction

            //path = Path.Combine(AppConfigHelper.GetWorkspace(), "InteractionSeedData.txt");
            //if (DataReader.FileExist(path))
            //{
            //    SubjectManager manager = new SubjectManager();

            //    Stream fileStream = reader.Open(path);
            //    List<string> interactionsAsStringList = reader.ReadFile(fileStream, "InteractionSeedData.txt");

            //    List<Interaction> interactions = reader.ConvertToInteractions(interactionsAsStringList,
            //        manager.GetAll<Subject>().ToList(), manager.GetAll<Predicate>().ToList());

            //    foreach (var node in interactions)
            //    {
            //        if (!manager.GetAll<Interaction>().Any(i => i.Subject.Equals(node.Subject) && i.Object.Equals(node.Object)))
            //        {
            //            manager.Create(node);
            //        }
            //    }

            //    Debug.WriteLine("InteractionSeedData.txt  : " + interactions.Count);
            //}


            //path = Path.Combine(AppConfigHelper.GetWorkspace(), "MischkulturTabelle.txt");

            //if (DataReader.FileExist(path))
            //{
            //    SubjectManager manager = new SubjectManager();
            //    Stream fileStream = reader.Open(path);
            //    // hoier werden alle interactions und fehlende objecte erzeugt
            //    List<Interaction> l = reader.ReadFile<Interaction>(fileStream, "MischkulturTabelle.txt", "Plant_MKT_UPDATE_INTERACTION");
            //    foreach (var node in l)
            //    {
            //        manager.Create(node);
            //    }

            //}

            //#endregion


            return(View("Index"));
        }