You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LOLProject/Sources/APILOL/Mapper/SkinMapper.cs

45 lines
1.3 KiB

using DTO;
using EntityFrameworkLOL.Entities;
using Model;
namespace APILOL.Mapper
{
public static class SkinMapper
{
public static SkinDTO ToDto(this Skin skin)
{
return new SkinDTO()
{
Name = skin.Name,
Description = skin.Description,
Icon = skin.Icon,
Price = skin.Price,
Champion = skin.Champion.ToDto(),
Image = skin.Image.Base64,
};
}
public static Skin ToModel(this SkinDTO skin)
{
return new Skin(skin.Name, skin.Champion.ToModel(),skin.Price, skin.Image, skin.Icon, skin.Description);
}
public static Skin ToModel(this SkinEntity entity)
{
return new Skin(entity.Name, entity.ChampionSkin.ToModel(), entity.Price, entity.Icon, entity.Description);
}
public static SkinEntity ToEntity(this Skin item)
{
return new SkinEntity
{
Name = item.Name,
Description = item.Description,
Icon = item.Icon,
Price = item.Price,
ChampionSkin = item.Champion.ToEntity(),
Image = new() { Base64 = item.Image.Base64 },
};
}
}
}