From ca2c8741691ac7b361ffeff5b618f8d3fbd5316e Mon Sep 17 00:00:00 2001 From: Damian Viktorovich Morozov Date: Sun, 5 Jan 2025 14:32:30 +0300 Subject: [PATCH] Updated TgStorage --- .../TgStorage/Domain/Contacts/TgEfContactRepository.cs | 10 ++++++++-- Core/TgStorage/Utils/TgDataFormatUtils.cs | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Core/TgStorage/Domain/Contacts/TgEfContactRepository.cs b/Core/TgStorage/Domain/Contacts/TgEfContactRepository.cs index 4d231696..6105172b 100644 --- a/Core/TgStorage/Domain/Contacts/TgEfContactRepository.cs +++ b/Core/TgStorage/Domain/Contacts/TgEfContactRepository.cs @@ -32,6 +32,14 @@ public override async Task> GetFirstAsync(b : new TgEfStorageResult(TgEnumEntityState.IsExists, item); } + private static Expression> SelectDto() => item => new TgEfContactDto().GetDto(item); + + public async Task GetDtoAsync(Expression> where) + { + var dto = await GetQuery().Where(where).Select(SelectDto()).SingleOrDefaultAsync() ?? new TgEfContactDto(); + return dto; + } + public async Task> GetListDtosAsync(int take, int skip, bool isReadOnly = true) { var dtos = take > 0 @@ -40,8 +48,6 @@ public async Task> GetListDtosAsync(int take, int skip, boo return dtos; } - private static Expression> SelectDto() => item => new TgEfContactDto().GetDto(item); - public override async Task> GetListAsync(int take, int skip, bool isReadOnly = true) { IList items = take > 0 diff --git a/Core/TgStorage/Utils/TgDataFormatUtils.cs b/Core/TgStorage/Utils/TgDataFormatUtils.cs index 13fb7cea..558ba9ec 100644 --- a/Core/TgStorage/Utils/TgDataFormatUtils.cs +++ b/Core/TgStorage/Utils/TgDataFormatUtils.cs @@ -27,7 +27,7 @@ public static class TgDataFormatUtils // Don't use it. // XmlSerializer xmlSerializer = new(typeof(T)); // Use it. - XmlSerializer? xmlSerializer = XmlSerializer.FromTypes(new[] { typeof(T) })[0]; + XmlSerializer? xmlSerializer = XmlSerializer.FromTypes([typeof(T)])[0]; // The T object must have properties with { get; set; }. using StringWriter stringWriter = new(); switch (isAddEmptyNamespace) @@ -66,7 +66,7 @@ public static class TgDataFormatUtils // Don't use it. // XmlSerializer xmlSerializer = new(typeof(T)); // Use it. - XmlSerializer? xmlSerializer = XmlSerializer.FromTypes(new[] { typeof(T) })[0]; + XmlSerializer? xmlSerializer = XmlSerializer.FromTypes([typeof(T)])[0]; if (xmlSerializer is null) return new(); object? obj = xmlSerializer.Deserialize(new MemoryStream(Encoding.Unicode.GetBytes(xml)));