Пример #1
0
        public override async Task <int> Execute(OrganismData model, OrganismDbContext _context)
        {
            SpeciesT newSpecies = new SpeciesT()
            {
                Name            = model.Name,
                Description     = model.Description,
                Class           = model.Class,
                Classification  = GetClassification(model, _context).Result,
                Size            = model.Size,
                Use             = model.Use,
                OccurenceCR     = model.OccurenceCR,
                Protection      = model.Protection,
                EcoFunction     = model.EcoFunction,
                Ecosystems      = string.Join(", ", model.Ecosystems.Select(a => a.ToString())),
                OccurencesWorld = string.Join(", ", model.OccurencesWorld.Select(a => a.ToString()))
            };

            _context.Kingdoms
            .Include(i => i.Phylums).ThenInclude(i => i.Classes).ThenInclude(i => i.Orders)
            .ThenInclude(i => i.Families).ThenInclude(i => i.Genusses).ThenInclude(i => i.Species)
            .Single(i => i.KingdomTID == model.KingdomID).Phylums
            .Single(i => i.PhylumTID == model.PhylumID).Classes
            .Single(i => i.ClassTID == model.ClassID).Orders
            .Single(i => i.OrderTID == model.OrderID).Families
            .Single(i => i.FamilyTID == model.FamilyID).Genusses
            .Single(i => i.GenusTID == model.GenusID).Species
            .Add(newSpecies);
            await _context.SaveChangesAsync();

            return(newSpecies.SpeciesTID);
        }
Пример #2
0
        public override async Task Execute(OrganismData model, OrganismDbContext _context)
        {
            SpeciesT oldSpecies = _context.Kingdoms
                                  .Include(i => i.Phylums).ThenInclude(i => i.Classes).ThenInclude(i => i.Orders)
                                  .ThenInclude(i => i.Families).ThenInclude(i => i.Genusses).ThenInclude(i => i.Species)
                                  .Single(i => i.KingdomTID == model.KingdomID).Phylums
                                  .Single(i => i.PhylumTID == model.PhylumID).Classes
                                  .Single(i => i.ClassTID == model.ClassID).Orders
                                  .Single(i => i.OrderTID == model.OrderID).Families
                                  .Single(i => i.FamilyTID == model.FamilyID).Genusses
                                  .Single(i => i.GenusTID == model.GenusID).Species
                                  .Single(i => i.SpeciesTID == model.SpeciesID);

            oldSpecies.Name            = model.Name;
            oldSpecies.Description     = model.Description;
            oldSpecies.Class           = model.Class;
            oldSpecies.Size            = model.Size;
            oldSpecies.Use             = model.Use;
            oldSpecies.OccurenceCR     = model.OccurenceCR;
            oldSpecies.Protection      = model.Protection;
            oldSpecies.EcoFunction     = model.EcoFunction;
            oldSpecies.Ecosystems      = string.Join(", ", model.Ecosystems.Select(a => a.ToString()));
            oldSpecies.OccurencesWorld = string.Join(", ", model.OccurencesWorld.Select(a => a.ToString()));
            await _context.SaveChangesAsync();
        }