2025-08-02 18:56:44 +02:00

142 lines
4.2 KiB
C#

using Liber_Incantamentum.Application.DTOs.Mage;
using Liber_Incantamentum.Application.DTOs.Spell;
using Liber_Incantamentum.Application.Interfaces.Mappings;
using Liber_Incantamentum.Domain.Entities;
using Liber_Incantamentum.Domain.Filter;
namespace Liber_Incantamentum.Application.Services.Mappings
{
public class Mapper : IMapper
{
public Mage MapMageDtoCreateToMageEntity(MageDtoCreate value)
{
return new Mage()
{
Name = value.Name,
Rank = value.Rank,
Specialisation = value.Specialisation
};
}
public MageFilter MapMageDtoFilterToMageFilter(MageDtoFilter value)
{
return new MageFilter()
{
Id = value.Id,
Name = value.Name,
Rank = value.Rank,
Specialisation = value.Specialisation
};
}
public Mage MapMageDtoUpdateToMageEntity(MageDtoUpdate value)
{
return new Mage()
{
Name = value.Name,
Rank = value.Rank,
Specialisation = value.Specialisation
};
}
public ICollection<MageDto>? MapMageEntityCollectionToMageDtoCollection(ICollection<Mage>? value)
{
var mageDtoCollection = new List<MageDto>();
foreach (var entity in value)
{
MageDto dto = new MageDto()
{
Id = entity.Id,
Name = entity.Name,
Rank = entity.Rank,
Specialisation = entity.Specialisation
};
mageDtoCollection.Add(dto);
}
return mageDtoCollection;
}
public MageDto mapMageEntityToMageDto(Mage mage)
{
return new MageDto()
{
Id = mage.Id,
Name = mage.Name,
Rank = mage.Rank,
Specialisation = mage.Specialisation
};
}
public Spell MapSpellDtoCreateToSpellEntity(SpellDtoCreate value)
{
return new Spell()
{
Name = value.Name,
Description = value.Description,
Type = value.Type,
CreationDate = value.CreationDate,
MageId = value.MageId
};
}
public SpellFilter MapSpellDtoFilterToSpellFilter(SpellDtoFilter value)
{
return new SpellFilter()
{
Id = value.Id,
Name = value.Name,
Description = value.Description,
Type = value.Type,
CreationDate = value.CreationDate,
MageId = value.MageId
};
}
public Spell MapSpellDtoUpdateToSpellEntity(SpellDtoUpdate value)
{
return new Spell()
{
Name = value.Name,
Description = value.Description,
Type = value.Type,
CreationDate = value.CreationDate,
MageId = value.MageId
};
}
public ICollection<SpellDto>? MapSpellEntityCollectionToSpellDtoCollection(ICollection<Spell>? value)
{
var spellDtoCollection = new List<SpellDto>();
foreach (var x in value)
{
var dto = new SpellDto()
{
Id = x.Id,
Name = x.Name,
Description = x.Description,
Type = x.Type,
CreationDate = x.CreationDate,
MageId = x.MageId
};
spellDtoCollection.Add(dto);
}
return spellDtoCollection;
}
public SpellDto mapSpellEntityToSpellDto(Spell spell)
{
return new SpellDto()
{
Id = spell.Id,
Name = spell.Name,
Description = spell.Description,
Type = spell.Type,
CreationDate = spell.CreationDate,
MageId = spell.MageId
};
}
}
}