public static MonsterEF ToTrackedEF(this MonsterTO monster, MonsterEF monsterToModify) { if (monsterToModify is null) { throw new ArgumentNullException(nameof(monsterToModify)); } if (monster is null) { throw new ArgumentNullException(nameof(monster)); } monsterToModify.Id = monster.Id; monsterToModify.Title = monster.Title; monsterToModify.Author = monster.Author; monsterToModify.Description = monster.Description; monsterToModify.LairAction = monster.LairAction; monsterToModify.RegEffects = monster.RegEffects; monsterToModify.IsWide = monster.IsWide; monsterToModify.Name = monster.Name; monsterToModify.Type = monster.Type; monsterToModify.Size = monster.Size; monsterToModify.Alignment = monster.Alignment; monsterToModify.ArmorClass = monster.ArmorClass; monsterToModify.Health = monster.Health.ToEF(); monsterToModify.Speeds = monster.Speeds?.ToEF(monster.Id); monsterToModify.Stats = monster.ToEFStat(); monsterToModify.Skills = monster.ToEFSkill(monster.Id); monsterToModify.Vulnerabilities = monster.ToEFVuln(monster.Id); monsterToModify.OtherVulnerabilities = monster.OtherVulnerabilities; monsterToModify.Resistances = monster.ToEFResist(monster.Id); monsterToModify.OtherResistences = monster.OtherResistences; monsterToModify.Immunities = monster.ToEFImmu(monster.Id); monsterToModify.OtherImmunities = monster.OtherImmunities; monsterToModify.ConditionImmunities = monster.ToEFCondImmu(monster.Id); monsterToModify.Senses = monster.ToEFSense(); monsterToModify.Languages = monster.ToEFLang(monster.Id); monsterToModify.DifficultyRating = monster.DifficultyRating; monsterToModify.Traits = monster.Traits.Select(x => x.ToEF()).ToList(); monsterToModify.Actions = monster.Actions.Select(x => x.ToEF()).ToList(); monsterToModify.NbrLegendaryActionPerTurn = monster.NbrLegendaryActionPerTurn; monsterToModify.LegendaryActions = monster.LegendaryActions.Select(x => x.ToEF()).ToList(); monsterToModify.Reactions = monster.Reactions.Select(x => x.ToEF()).ToList(); monsterToModify.IsDeleted = monster.IsDeleted; return(monsterToModify); }
public static MonsterTO ToTO(this MonsterEF monster) { return(new MonsterTO { Id = monster.Id, Title = monster.Title, Author = monster.Author, Description = monster.Description, LairAction = monster.LairAction, RegEffects = monster.RegEffects, IsWide = monster.IsWide, Name = monster.Name, Type = monster.Type, Size = monster.Size, Alignment = monster.Alignment, ArmorClass = monster.ArmorClass, Health = monster.Health?.ToTO(), Speeds = monster.Speeds?.ToTO(), Stats = monster.Stats?.ToTO(), Saving = monster.Stats?.ToSavingTO(), Skills = monster.Skills?.ToTOSkill(), Vulnerabilities = monster.Vulnerabilities?.ToTOVuln(), OtherVulnerabilities = monster.OtherVulnerabilities, Resistances = monster.Resistances?.ToTOResist(), OtherResistences = monster.OtherResistences, Immunities = monster.Immunities?.ToTOImmu(), OtherImmunities = monster.OtherImmunities, ConditionImmunities = monster.ConditionImmunities?.ToTOCondImmu(), Senses = monster.Senses?.ToTOSense(), Languages = monster.Languages?.ToTOLang(), DifficultyRating = monster.DifficultyRating, Traits = monster.Traits.Select(x => x.ToTO()).ToList(), Actions = monster.Actions.Select(x => x.ToTO()).ToList(), NbrLegendaryActionPerTurn = monster.NbrLegendaryActionPerTurn, LegendaryActions = monster.LegendaryActions.Select(x => x.ToTO()).ToList(), Reactions = monster.Reactions.Select(x => x.ToTO()).ToList(), IsDeleted = monster.IsDeleted }); }