/// <summary> /// Searches the context for a trait that matches the given name, creating one if none are found /// </summary> internal static Trait GetTraitByName(this IRemsDbContext context, string name) { var trait = context.Traits.ToArray().FirstOrDefault(t => t.NameMatches(name)); if (trait is null) { trait = new Trait() { Name = name }; context.Add(trait); } context.SaveChanges(); return(trait); }
/// <summary> /// Adds a trait to the database /// </summary> /// <param name="name">Trait name</param> /// <param name="type">Trait type</param> /// <returns></returns> internal static Trait AddTrait(this IRemsDbContext context, string name, string type) { var unit = context.Units.FirstOrDefault(u => u.Name == "-"); if (unit is null) { unit = new Domain.Entities.Unit() { Name = "-" } } ; var trait = new Trait() { Name = name, Type = type, Unit = unit }; context.Add(trait); context.SaveChanges(); return(trait); }