using Kemkas.Web.Db.Enums; using Kemkas.Web.Db.Models; using Kemkas.Web.ViewModels; namespace Kemkas.Web.Services.SecondEdition.Character; public interface ICharacterDbModelToDto2EService { public Character2eDto Convert(V2Karakter entity); } public class CharacterDbModelToDto2EService : ICharacterDbModelToDto2EService { public Character2eDto Convert(V2Karakter entity) { return new Character2eDto { Nev = entity.Nev, Nem = entity.Nem, Kor = entity.Kor, Jellem = entity.Jellem.Convert(), Isten = entity.Isten, Faj = entity.Faj.Convert(), Tulajdonsagok = new KarakterTulajdonsagokDto { Ero = entity.Ero, Ugy = entity.Ugyesseg, Egs = entity.Egeszseg, Int = entity.Intelligencia, Bol = entity.Bolcsesseg, Kar = entity.Karizma, }, Kepzettsegek = entity.KarakterKepzettsegek.Where(x => !x.IsTolvajKepzettseg).Select(x => x.Kepzettseg.Convert()).ToList(), Tolvajkepzettsegek = entity.KarakterKepzettsegek.Where(x => x.IsTolvajKepzettseg).Select(x => x.Kepzettseg.Convert()).ToList(), Szint = entity.Szint, Felszereles = new KarakterFelszereles2eDto { PajzsId = entity.Pajzs, PancelId = entity.Pancel, Fegyverek = entity.Felszereles.Where(x => x.IsFegyver).Select(x => new FelszerelesIdAndCount { Id = x.TargyId, Count = x.Count}).ToList(), Viselt = entity.Felszereles.Where(x => x.IsViselt).Select(x => new FelszerelesIdAndCount { Id = x.TargyId, Count = x.Count}).ToList(), Cipelt = entity.Felszereles.Where(x => x.IsCipelt).Select(x => new FelszerelesIdAndCount { Id = x.TargyId, Count = x.Count}).ToList(), Aprosagok = entity.Felszereles.Where(x => x.IsAprosag).Select(x => new FelszerelesIdAndCount { Id = x.TargyId, Count = x.Count}).ToList(), AranyTaller = entity.AranyTaller, ElektrumTaller = entity.ElektrumTaller, EzustTaller = entity.EzustTaller, }, IsPublic = entity.IsPublic, Szintlepesek = entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(sz => new Szintlepes { Osztaly = sz.Osztaly.Convert(), KalozKritikus = sz.Osztaly == Osztaly2E.Tengeresz ? sz.FegyverSpecializacio : null, HarcosFegyver = sz.Osztaly == Osztaly2E.Harcos ? sz.FegyverSpecializacio : null, TulajdonsagNoveles = sz.TulajdonsagNoveles?.Convert(), HProll = sz.HpRoll, TolvajExtraKepzettseg = sz.TolvajExtraKepzettseg?.Convert() }).ToList() }; } }