.
This commit is contained in:
@@ -16,7 +16,7 @@ public class CreateLanguageCommandHandler(IUnitOfWork unitOfWork) : ICommandHand
|
||||
public async Task<LanguageDTO> Handle(CreateLanguageCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
var title = request.Title.Trim();
|
||||
if (await unitOfWork.Language.Exists(x => x.Title.Equals(title)))
|
||||
if (await unitOfWork.Language.Exists(x => x.Title == title))
|
||||
throw new LanguageTitleAlreadyExistsException();
|
||||
|
||||
var language = Language.CreateNew(new LanguageTitle(title));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using VizhTalk.BuildingBlocks.Application.Configuration.Query;
|
||||
using VizhTalk.BuildingBlocks.Application.Data;
|
||||
using VizhTalk.Grpc.Learning.Language;
|
||||
using VizhTalk.Learning.Domain.Entities;
|
||||
|
||||
namespace VizhTalk.Learning.Application.QueryHandlers;
|
||||
|
||||
@@ -19,8 +20,10 @@ public class GetLanguageByTitleQueryHandler(IGenericDapper<LanguageDTO> language
|
||||
{
|
||||
public async Task<LanguageDTO> Handle(GetLanguageByTitleQuery request, CancellationToken cancellationToken)
|
||||
{
|
||||
var sql = "select * from Learning.Languages where Title = @title";
|
||||
var language = await languageDapper.GetAsync(sql, request.Title);
|
||||
var sql = $"select * from Learning.Languages where Title = " +
|
||||
$" @{nameof(Language.Title)}";
|
||||
|
||||
var language = await languageDapper.GetAsync(sql, new { request.Title });
|
||||
return language;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,18 +11,16 @@ namespace VizhTalk.Learning.Domain.ValueObjects
|
||||
}
|
||||
public LanguageTitle(string title)
|
||||
{
|
||||
title = title.Trim();
|
||||
Guard.NullOrEmpty(title, nameof(LanguageTitle));
|
||||
Guard.MaxLength(title, nameof(LanguageTitle), 60);
|
||||
|
||||
Value = title;
|
||||
}
|
||||
public string Value { get; private set; }
|
||||
public override bool Equals(object? obj)
|
||||
{
|
||||
if (obj is string value)
|
||||
return Value == value;
|
||||
|
||||
return base.Equals(obj);
|
||||
}
|
||||
|
||||
public static implicit operator string(LanguageTitle title) => title.Value;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class GenericDapper<T> : IGenericDapper<T>
|
||||
{
|
||||
connection = sqlConnectionFactory.GetOpenConnection();
|
||||
}
|
||||
public async Task<T?> GetAsync(string sql, object? param = null)
|
||||
public async Task<T?> GetAsync(string sql, object? param = null)
|
||||
{
|
||||
return await connection.QueryFirstOrDefaultAsync<T>(sql, param);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user