mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 02:17:20 +02:00
55 lines
2.6 KiB
C#
55 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using AutoMapper;
|
|
using WotBlitzStatisticsPro.Common.Dictionaries;
|
|
using WotBlitzStatisticsPro.Common.Model;
|
|
using WotBlitzStatisticsPro.DataAccess.Model;
|
|
using WotBlitzStatisticsPro.WgApiClient.Model;
|
|
|
|
namespace WotBlitzStatisticsPro.Logic.Mappers
|
|
{
|
|
public class VehicleDictionaryProfile : Profile
|
|
{
|
|
public VehicleDictionaryProfile()
|
|
{
|
|
CreateMap<WotEncyclopediaVehiclesResponse, VehiclesDictionary>()
|
|
.ForMember(d => d.TankId,
|
|
o => o.MapFrom(s => s.TankId))
|
|
.ForMember(d => d.Name, o => o.MapFrom(_ => new List<LocalizableString>()))
|
|
.ForMember(d => d.Description, o => o.MapFrom(_ => new List<LocalizableString>()))
|
|
.ForMember(d => d.TypeId,
|
|
o => o.MapFrom(s => s.Type))
|
|
.ForMember(d => d.NationId,
|
|
o => o.MapFrom(s => s.Nation))
|
|
.ForMember(d => d.Tier,
|
|
o => o.MapFrom(s => s.Tier))
|
|
.ForMember(d => d.PreviewImage,
|
|
o => o.MapFrom(s => s.Images == null ? string.Empty : s.Images["preview"]))
|
|
.ForMember(d => d.NormalImage,
|
|
o => o.MapFrom(s => s.Images == null ? string.Empty : s.Images["normal"]))
|
|
.ForMember(d => d.PriceCredit,
|
|
o => o.MapFrom(s => s.Cost == null ? decimal.Zero : Convert.ToDecimal(s.Cost["price_credit"])))
|
|
.ForMember(d => d.PriceGold,
|
|
o => o.MapFrom(s => s.Cost == null ? decimal.Zero : Convert.ToDecimal(s.Cost["price_gold"])))
|
|
.ForMember(d => d.NexTanksInTree,
|
|
o =>
|
|
o.MapFrom(s => s.NextTanks))
|
|
.ForMember(d => d.PriceXp,
|
|
o =>
|
|
o.MapFrom(s => s.PricesXp));
|
|
|
|
CreateMap<IVehiclesDictionary, VehicleResponse>()
|
|
.ForMember(v => v.Name,
|
|
o => o.MapFrom((src, dest, destMember, context) =>
|
|
src.Name.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value))
|
|
.ForMember(v => v.Description,
|
|
o => o.MapFrom((src, dest, destMember, context) =>
|
|
src.Description.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value))
|
|
.ForMember(v => v.NexTanksInTree,
|
|
o => o.MapFrom(src => src.NexTanksInTree.Select(t => t.TankId).ToList()))
|
|
;
|
|
|
|
}
|
|
}
|
|
} |