using AutoMapper; using SessionCompanion.Database.Tables; using SessionCompanion.ViewModels.CharacterSpellViewModels; using System.Linq; namespace SessionCompanion.Services.Profiles { public class CharacterSpellProfile : Profile { public CharacterSpellProfile() { CreateMap().ReverseMap(); CreateMap(); CreateMap() .ForMember(vm => vm.Level, conf => conf.MapFrom(spell => spell.Spell.Level)) .ForMember(vm => vm.Concentration, conf => conf.MapFrom(spell => spell.Spell.Concentration)) .ForMember(vm => vm.Ritual, conf => conf.MapFrom(spell => spell.Spell.Ritual)) .ForMember(vm => vm.Name, conf => conf.MapFrom(spell => spell.Spell.Name.ToString())) .ForMember(vm => vm.Material, conf => conf.MapFrom(spell => spell.Spell.Material.ToString())) .ForMember(vm => vm.Range, conf => conf.MapFrom(spell => spell.Spell.Range.ToString())) .ForMember(vm => vm.Duration, conf => conf.MapFrom(spell => spell.Spell.Duration.ToString())) .ForMember(vm => vm.CastingTime, conf => conf.MapFrom(spell => spell.Spell.CastingTime.ToString())) .ForMember(vm => vm.School, conf => conf.MapFrom(spell => spell.Spell.School.ToString())) .ForMember(vm => vm.Descriptions, conf => conf.MapFrom(spell => spell.Spell.Description.Split(new char[] { ';' }).ToList())) .ForMember(vm => vm.Components, conf => conf.MapFrom(spell => spell.Spell.Components.Split(new char[] { ';' }).ToList())) .ForMember(vm => vm.HigherLevel, conf => conf.MapFrom(spell => spell.Spell.HigherLevel.Split(new char[] { ';' }).ToList())) .ForMember(vm => vm.Classes, conf => conf.MapFrom(spell => spell.Spell.Classes.Split(new char[] { ';' }).ToList())) .ForMember(vm => vm.Subclasses, conf => conf.MapFrom(spell => spell.Spell.Subclasses.Split(new char[] { ';' }).ToList())); } } }