using Microsoft.EntityFrameworkCore;
using OliverBooth.Common.Services;
using OliverBooth.Data.Web;
namespace OliverBooth.Services;
///
internal sealed class ProgrammingLanguageService : IProgrammingLanguageService
{
private readonly IDbContextFactory _dbContextFactory;
///
/// Initializes a new instance of the class.
///
/// The factory.
public ProgrammingLanguageService(IDbContextFactory dbContextFactory)
{
_dbContextFactory = dbContextFactory;
}
///
public string GetLanguageName(string alias)
{
using WebContext context = _dbContextFactory.CreateDbContext();
ProgrammingLanguage? language = context.ProgrammingLanguages.FirstOrDefault(l => l.Key == alias);
return language?.Name ?? alias;
}
}