feat 2e save to DB

not fully tested, but seems to work overall
This commit is contained in:
2024-02-20 14:55:08 +01:00
parent 41e894cd42
commit 636dcb92b3
16 changed files with 372 additions and 47 deletions
@@ -0,0 +1,54 @@
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 KarakterFelszerelesDto
{
PajzsId = entity.Pajzs,
PancelId = entity.Pancel,
FegyverIds = entity.Felszereles.Where(x => x.IsFegyver).Select(x => x.TargyId).ToList(),
},
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()
};
}
}