From b4924c05d06e8986e741f6963718a0016d95ceaf Mon Sep 17 00:00:00 2001 From: Bruno Date: Tue, 9 Jul 2024 20:51:08 -0300 Subject: [PATCH] fix --- .../Models/Produtos/ProdutoViewModel.cs | 2 ++ .../Cached/ConfiguracaoParceiroCached.cs | 36 +++++++++++++++++++ OpenAdm.IoC/DependencyInjectRepositories.cs | 4 ++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 OpenAdm.Infra/Cached/Cached/ConfiguracaoParceiroCached.cs diff --git a/OpenAdm.Application/Models/Produtos/ProdutoViewModel.cs b/OpenAdm.Application/Models/Produtos/ProdutoViewModel.cs index 3c35e9a..52a271a 100644 --- a/OpenAdm.Application/Models/Produtos/ProdutoViewModel.cs +++ b/OpenAdm.Application/Models/Produtos/ProdutoViewModel.cs @@ -16,6 +16,7 @@ public class ProdutoViewModel : BaseModel public Guid CategoriaId { get; set; } public CategoriaViewModel? Categoria { get; set; } = null!; public string? Referencia { get; private set; } + public decimal? Peso { get; set; } public ProdutoViewModel ToModel(Produto entity) { Foto = entity.UrlFoto; @@ -41,6 +42,7 @@ public ProdutoViewModel ToModel(Produto entity) CategoriaId = entity.CategoriaId; Referencia = entity.Referencia; + Peso = entity.Peso; return this; } } diff --git a/OpenAdm.Infra/Cached/Cached/ConfiguracaoParceiroCached.cs b/OpenAdm.Infra/Cached/Cached/ConfiguracaoParceiroCached.cs new file mode 100644 index 0000000..94c1ff8 --- /dev/null +++ b/OpenAdm.Infra/Cached/Cached/ConfiguracaoParceiroCached.cs @@ -0,0 +1,36 @@ +using Domain.Pkg.Entities; +using OpenAdm.Domain.Interfaces; +using OpenAdm.Infra.Cached.Interfaces; +using OpenAdm.Infra.Repositories; + +namespace OpenAdm.Infra.Cached.Cached; + +public sealed class ConfiguracaoParceiroCached : IConfiguracaoParceiroRepository +{ + private readonly ConfiguracaoParceiroRepository _configuracaoParceiroRepository; + private readonly ICachedService _cachedService; + + public ConfiguracaoParceiroCached( + ConfiguracaoParceiroRepository configuracaoParceiroRepository, + ICachedService cachedService) + { + _configuracaoParceiroRepository = configuracaoParceiroRepository; + _cachedService = cachedService; + } + + public async Task GetParceiroByDominioAdmAsync(string dominio) + { + var configuracaoParceiro = await _cachedService.GetItemAsync(dominio); + + if(configuracaoParceiro == null) + { + configuracaoParceiro = await _configuracaoParceiroRepository.GetParceiroByDominioAdmAsync(dominio); + if(configuracaoParceiro != null) + { + await _cachedService.SetItemAsync(dominio, configuracaoParceiro); + } + } + + return configuracaoParceiro; + } +} diff --git a/OpenAdm.IoC/DependencyInjectRepositories.cs b/OpenAdm.IoC/DependencyInjectRepositories.cs index 893a7aa..8ebaab9 100644 --- a/OpenAdm.IoC/DependencyInjectRepositories.cs +++ b/OpenAdm.IoC/DependencyInjectRepositories.cs @@ -23,7 +23,9 @@ public static void InjectRepositories(this IServiceCollection services, string c services.AddTransient(); - services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped();