using System.Collections.Generic; using API.DTOs.Settings; using API.Entities; using API.Entities.Enums; using AutoMapper; namespace API.Helpers.Converters { public class ServerSettingConverter : ITypeConverter, ServerSettingDto> { public ServerSettingDto Convert(IEnumerable source, ServerSettingDto destination, ResolutionContext context) { destination ??= new ServerSettingDto(); foreach (var row in source) { switch (row.Key) { case ServerSettingKey.CacheDirectory: destination.CacheDirectory = row.Value; break; case ServerSettingKey.TaskScan: destination.TaskScan = row.Value; break; case ServerSettingKey.LoggingLevel: destination.LoggingLevel = row.Value; break; case ServerSettingKey.TaskBackup: destination.TaskBackup = row.Value; break; case ServerSettingKey.Port: destination.Port = int.Parse(row.Value); break; case ServerSettingKey.AllowStatCollection: destination.AllowStatCollection = bool.Parse(row.Value); break; case ServerSettingKey.EnableOpds: destination.EnableOpds = bool.Parse(row.Value); break; case ServerSettingKey.EnableAuthentication: destination.EnableAuthentication = bool.Parse(row.Value); break; case ServerSettingKey.BaseUrl: destination.BaseUrl = row.Value; break; case ServerSettingKey.BookmarkDirectory: destination.BookmarksDirectory = row.Value; break; } } return destination; } } }