From 7560c512fc70fa62024faf230063b0e75cd7489a Mon Sep 17 00:00:00 2001 From: "leonardo.giacomozzi" Date: Mon, 18 Jul 2022 22:26:17 -0300 Subject: [PATCH 1/3] Estrutura inicial entidades --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2bba1c1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +################################################################################ +# This .gitignore file was automatically created by Microsoft(R) Visual Studio. +################################################################################ + +/ControleInvestimentos/ControleInvestimentos.API/bin/Debug/netcoreapp3.1 From 38b7f3c1a6805fa7849fcd9cda46381a5c39e58b Mon Sep 17 00:00:00 2001 From: "leonardo.giacomozzi" Date: Mon, 18 Jul 2022 22:27:42 -0300 Subject: [PATCH 2/3] Estrutura inicial entidades --- .gitignore | 13 ++++ .vs/VSWorkspaceState.json | 6 ++ .vs/kinvo/v16/.suo | Bin 0 -> 11776 bytes .vs/slnx.sqlite | Bin 0 -> 90112 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 68516 bytes .../.vs/ControleInvestimentos/v16/.suo | Bin 0 -> 65024 bytes .../ControleInvestimentos.API.csproj | 8 ++ .../Controllers/WeatherForecastController.cs | 39 ++++++++++ .../ControleInvestimentos.API/Program.cs | 26 +++++++ .../Properties/launchSettings.json | 30 ++++++++ .../ControleInvestimentos.API/Startup.cs | 51 +++++++++++++ .../WeatherForecast.cs | 15 ++++ .../appsettings.Development.json | 9 +++ .../appsettings.json | 10 +++ .../ControleInvestimentos.Aplication.csproj | 12 +++ .../ControleInvestimentos.Domain.Core.csproj | 15 ++++ .../Interfaces/Repositorys/IRepositoryAcao.cs | 11 +++ .../Interfaces/Repositorys/IRepositoryBase.cs | 19 +++++ .../Repositorys/IRepositoryCliente.cs | 11 +++ .../Repositorys/IRepositoryTransacao.cs | 13 ++++ ...ntroleInvestimentos.Domain.Services.csproj | 7 ++ .../ControleInvestimentos.Domain.csproj | 7 ++ .../Entities/Acao.cs | 14 ++++ .../Entities/Base.cs | 11 +++ .../Entities/Cliente.cs | 12 +++ .../Entities/Transacao.cs | 22 ++++++ ...ontroleInvestimentos.Infrastructure.csproj | 21 ++++++ .../Data/Repositotrys/RepositoryAcao.cs | 17 +++++ .../Data/Repositotrys/RepositoryBase.cs | 64 ++++++++++++++++ .../Data/Repositotrys/RepositoryCliente.cs | 17 +++++ .../Data/Repositotrys/RepositoryTransacao.cs | 26 +++++++ .../Data/SqlContext.cs | 19 +++++ .../ControleInvestimentos.sln | 71 ++++++++++++++++++ 33 files changed, 596 insertions(+) create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/kinvo/v16/.suo create mode 100644 .vs/slnx.sqlite create mode 100644 ControleInvestimentos/.vs/ControleInvestimentos/DesignTimeBuild/.dtbcache.v2 create mode 100644 ControleInvestimentos/.vs/ControleInvestimentos/v16/.suo create mode 100644 ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Program.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Startup.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.API/appsettings.Development.json create mode 100644 ControleInvestimentos/ControleInvestimentos.API/appsettings.json create mode 100644 ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryBase.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryCliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/Entities/Base.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/Entities/Cliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.sln diff --git a/.gitignore b/.gitignore index 2bba1c1..83fcc63 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,16 @@ ################################################################################ /ControleInvestimentos/ControleInvestimentos.API/bin/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.API/obj/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.API/obj +/ControleInvestimentos/ControleInvestimentos.Aplication/bin/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Aplication/obj +/ControleInvestimentos/ControleInvestimentos.Domain/bin/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Domain/obj/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Domain/obj +/ControleInvestimentos/ControleInvestimentos.Domain.Core/bin/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Domain.Core/obj +/ControleInvestimentos/ControleInvestimentos.Domain.Services/bin/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Domain.Services/obj +/ControleInvestimentos/ControleInvestimentos.Infrastructure/obj/Debug/netcoreapp3.1 +/ControleInvestimentos/ControleInvestimentos.Infrastructure/obj diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/kinvo/v16/.suo b/.vs/kinvo/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..f5c6fd6daca766d112894b0da95306ebc0d9b332 GIT binary patch literal 11776 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/.vs/ControleInvestimentos/DesignTimeBuild/.dtbcache.v2 b/ControleInvestimentos/.vs/ControleInvestimentos/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..b149e41c22b1c069845ee435a5102a431a6c4203 GIT binary patch literal 68516 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 XOV!#_nHt8dEc>aYZa=it?Z5sX%!Gsl literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj new file mode 100644 index 0000000..d12c450 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj @@ -0,0 +1,8 @@ + + + + netcoreapp3.1 + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs b/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..be255dd --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs @@ -0,0 +1,39 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ControleInvestimentos.API.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + var rng = new Random(); + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = rng.Next(-20, 55), + Summary = Summaries[rng.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Program.cs b/ControleInvestimentos/ControleInvestimentos.API/Program.cs new file mode 100644 index 0000000..00563e4 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Program.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ControleInvestimentos.API +{ + public class Program + { + public static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json b/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json new file mode 100644 index 0000000..e93d72c --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json @@ -0,0 +1,30 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:21973", + "sslPort": 44332 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "ControleInvestimentos.API": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Startup.cs b/ControleInvestimentos/ControleInvestimentos.API/Startup.cs new file mode 100644 index 0000000..8473709 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Startup.cs @@ -0,0 +1,51 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.HttpsPolicy; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ControleInvestimentos.API +{ + public class Startup + { + public Startup(IConfiguration configuration) + { + Configuration = configuration; + } + + public IConfiguration Configuration { get; } + + // This method gets called by the runtime. Use this method to add services to the container. + public void ConfigureServices(IServiceCollection services) + { + services.AddControllers(); + } + + // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.UseHttpsRedirection(); + + app.UseRouting(); + + app.UseAuthorization(); + + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs b/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs new file mode 100644 index 0000000..fd6fe0d --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs @@ -0,0 +1,15 @@ +using System; + +namespace ControleInvestimentos.API +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/appsettings.Development.json b/ControleInvestimentos/ControleInvestimentos.API/appsettings.Development.json new file mode 100644 index 0000000..8983e0f --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/appsettings.json b/ControleInvestimentos/ControleInvestimentos.API/appsettings.json new file mode 100644 index 0000000..d9d9a9b --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/appsettings.json @@ -0,0 +1,10 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "AllowedHosts": "*" +} diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj b/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj new file mode 100644 index 0000000..aa0b2bc --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj @@ -0,0 +1,12 @@ + + + + netcoreapp3.1 + + + + + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj b/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj new file mode 100644 index 0000000..10a655b --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj @@ -0,0 +1,15 @@ + + + + netcoreapp3.1 + + + + + + + + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs new file mode 100644 index 0000000..dd734a2 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs @@ -0,0 +1,11 @@ +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys +{ + public interface IRepositoryAcao: IRepositoryBase + { + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryBase.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryBase.cs new file mode 100644 index 0000000..a9f8d28 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryBase.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys +{ + public interface IRepositoryBase where T : class + { + void Add(T obj); + + void Update(T obj); + + void Remove(T obj); + + IEnumerable GetAll(); + + T GetById(int Id); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryCliente.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryCliente.cs new file mode 100644 index 0000000..b1d72d3 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryCliente.cs @@ -0,0 +1,11 @@ +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys +{ + public interface IRepositoryCliente:IRepositoryBase + { + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs new file mode 100644 index 0000000..821619a --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs @@ -0,0 +1,13 @@ +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys +{ + public interface IRepositoryTransacao: IRepositoryBase + { + void GetByAcao(int id); + void GetByCliente(int id); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj new file mode 100644 index 0000000..cb63190 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj @@ -0,0 +1,7 @@ + + + + netcoreapp3.1 + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj b/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj new file mode 100644 index 0000000..cb63190 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj @@ -0,0 +1,7 @@ + + + + netcoreapp3.1 + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs new file mode 100644 index 0000000..b16516e --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Entities +{ + public class Acao: Base + { + public string Codigo { get; set; } + public decimal Preco_Medio { get; set; } + public int Quantidade { get; set; } + public decimal Valor_Total { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Base.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Base.cs new file mode 100644 index 0000000..931256e --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Base.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Entities +{ + public class Base + { + public int Id { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Cliente.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Cliente.cs new file mode 100644 index 0000000..497eaeb --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Cliente.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Entities +{ + public class Cliente: Base + { + public string Nome { get; set; } + public string CPF { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs new file mode 100644 index 0000000..f93acc0 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Entities +{ + public class Transacao: Base + { + public int IdCliente { get; set; } + public Cliente Cliente { get; set; } + public int IdAcao { get; set; } + public Acao Acao { get; set; } + public decimal Preco { get; set; } + public int Quantidade { get; set; } + public decimal Subtotal { get; set; } + public decimal Taxa { get; set; } + public ETipo Tipo { get; set; } + public DateTime Data { get; set; } + } + + public enum ETipo {Aplicacao,Retirada } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj b/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj new file mode 100644 index 0000000..3ec9a47 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj @@ -0,0 +1,21 @@ + + + + netcoreapp3.1 + + + + + + + + + + + + + + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs new file mode 100644 index 0000000..93812b7 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs @@ -0,0 +1,17 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Infrastructure.Data.Repositotrys +{ + public class RepositoryAcao:RepositoryBase,IRepositoryAcao + { + public SqlContext _sqlContext; + public RepositoryAcao(SqlContext sqlContext) : base(sqlContext) + { + _sqlContext = sqlContext; + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs new file mode 100644 index 0000000..c3a1068 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs @@ -0,0 +1,64 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace ControleInvestimentos.Infrastructure.Data.Repositotrys +{ + public class RepositoryBase : IRepositoryBase where T : class + { + public SqlContext _sqlContext; + public RepositoryBase(SqlContext sqlContext) + { + _sqlContext = sqlContext; + } + public void Add(T obj) + { + try + { + _sqlContext.Set().Add(obj); + _sqlContext.SaveChanges(); + } + catch (Exception e) + { + throw new Exception("Erro ao persistir registro na base de dados -> Insert -> \n"+e.Message); + } + } + + public IEnumerable GetAll() + { + return _sqlContext.Set().ToList(); + } + + public T GetById(int Id) + { + return _sqlContext.Set().Find(Id); + } + + public void Remove(T obj) + { + try + { + _sqlContext.Set().Remove(obj); + _sqlContext.SaveChanges(); + } + catch (Exception e) + { + throw new Exception("Erro ao persistir registro na base de dados -> Remove -> \n" + e.Message); + } + } + + public void Update(T obj) + { + try + { + _sqlContext.Set().Update(obj); + _sqlContext.SaveChanges(); + } + catch (Exception e) + { + throw new Exception("Erro ao persistir registro na base de dados -> Update -> \n" + e.Message); + } + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs new file mode 100644 index 0000000..7297d38 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs @@ -0,0 +1,17 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Infrastructure.Data.Repositotrys +{ + public class RepositoryCliente:RepositoryBase, IRepositoryCliente + { + public SqlContext _sqlContext; + public RepositoryCliente(SqlContext sqlContext):base(sqlContext) + { + _sqlContext = sqlContext; + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs new file mode 100644 index 0000000..db52946 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs @@ -0,0 +1,26 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Infrastructure.Data.Repositotrys +{ + public class RepositoryTransacao : RepositoryBase, IRepositoryTransacao + { + public SqlContext _sqlContext; + public RepositoryTransacao(SqlContext sqlContext) : base(sqlContext) + { + _sqlContext = sqlContext; + } + public void GetByAcao(int id) + { + throw new NotImplementedException(); + } + + public void GetByCliente(int id) + { + throw new NotImplementedException(); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs new file mode 100644 index 0000000..d6431e2 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs @@ -0,0 +1,19 @@ +using ControleInvestimentos.Domain.Entities; +using Microsoft.EntityFrameworkCore; + + +namespace ControleInvestimentos.Infrastructure.Data +{ + public class SqlContext : DbContext + { + public SqlContext() + { + + } + public SqlContext(DbContextOptions options) : base(options) { } + + public DbSet Clientes { get; set; } + public DbSet Acoes { get; set; } + public DbSet Transacoes { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.sln b/ControleInvestimentos/ControleInvestimentos.sln new file mode 100644 index 0000000..4fc4bf8 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.sln @@ -0,0 +1,71 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31424.327 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01-Services", "01-Services", "{E035D7EF-18C8-48E7-91B7-6FC4212765EA}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02-Application", "02-Application", "{5F7C9116-8012-4917-87A9-314AC9CD58D0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04-Infrastructure", "04-Infrastructure", "{83543C16-A31F-44F2-AC4E-B72531E2747B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-Domain", "03-Domain", "{690F0C1D-2565-4DFF-8433-ED8EAA56B59B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.API", "ControleInvestimentos.API\ControleInvestimentos.API.csproj", "{CD431824-406E-4C84-8FEC-A5A6B0399F6E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Aplication", "ControleInvestimentos.Aplication\ControleInvestimentos.Aplication.csproj", "{E1EA857B-CF1A-465A-89C0-3ED7549A2C18}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain", "ControleInvestimentos.Domain\ControleInvestimentos.Domain.csproj", "{3632DC7E-7856-48C9-93AC-7580BCCBE3E6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain.Core", "ControleInvestimentos.Domain.Core\ControleInvestimentos.Domain.Core.csproj", "{54D73642-0629-4114-9663-A3BB1980A0F5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain.Services", "ControleInvestimentos.Domain.Services\ControleInvestimentos.Domain.Services.csproj", "{6E592263-3C19-4097-9322-EB1D3DDE4172}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Infrastructure", "ControleInvestimentos.Infrastructure\ControleInvestimentos.Infrastructure.csproj", "{10FE7C81-0ADC-4824-946B-0C34F31912AF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD431824-406E-4C84-8FEC-A5A6B0399F6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD431824-406E-4C84-8FEC-A5A6B0399F6E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CD431824-406E-4C84-8FEC-A5A6B0399F6E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD431824-406E-4C84-8FEC-A5A6B0399F6E}.Release|Any CPU.Build.0 = Release|Any CPU + {E1EA857B-CF1A-465A-89C0-3ED7549A2C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E1EA857B-CF1A-465A-89C0-3ED7549A2C18}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E1EA857B-CF1A-465A-89C0-3ED7549A2C18}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E1EA857B-CF1A-465A-89C0-3ED7549A2C18}.Release|Any CPU.Build.0 = Release|Any CPU + {3632DC7E-7856-48C9-93AC-7580BCCBE3E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3632DC7E-7856-48C9-93AC-7580BCCBE3E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3632DC7E-7856-48C9-93AC-7580BCCBE3E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3632DC7E-7856-48C9-93AC-7580BCCBE3E6}.Release|Any CPU.Build.0 = Release|Any CPU + {54D73642-0629-4114-9663-A3BB1980A0F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {54D73642-0629-4114-9663-A3BB1980A0F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {54D73642-0629-4114-9663-A3BB1980A0F5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {54D73642-0629-4114-9663-A3BB1980A0F5}.Release|Any CPU.Build.0 = Release|Any CPU + {6E592263-3C19-4097-9322-EB1D3DDE4172}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6E592263-3C19-4097-9322-EB1D3DDE4172}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6E592263-3C19-4097-9322-EB1D3DDE4172}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6E592263-3C19-4097-9322-EB1D3DDE4172}.Release|Any CPU.Build.0 = Release|Any CPU + {10FE7C81-0ADC-4824-946B-0C34F31912AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10FE7C81-0ADC-4824-946B-0C34F31912AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10FE7C81-0ADC-4824-946B-0C34F31912AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10FE7C81-0ADC-4824-946B-0C34F31912AF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {CD431824-406E-4C84-8FEC-A5A6B0399F6E} = {E035D7EF-18C8-48E7-91B7-6FC4212765EA} + {E1EA857B-CF1A-465A-89C0-3ED7549A2C18} = {5F7C9116-8012-4917-87A9-314AC9CD58D0} + {3632DC7E-7856-48C9-93AC-7580BCCBE3E6} = {690F0C1D-2565-4DFF-8433-ED8EAA56B59B} + {54D73642-0629-4114-9663-A3BB1980A0F5} = {690F0C1D-2565-4DFF-8433-ED8EAA56B59B} + {6E592263-3C19-4097-9322-EB1D3DDE4172} = {690F0C1D-2565-4DFF-8433-ED8EAA56B59B} + {10FE7C81-0ADC-4824-946B-0C34F31912AF} = {83543C16-A31F-44F2-AC4E-B72531E2747B} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {990B263C-6565-4F5A-A3BB-9012DAD5A89F} + EndGlobalSection +EndGlobal From a27298483d236415e02315bc6957a3edeb202b67 Mon Sep 17 00:00:00 2001 From: Leonardo-Giacomozzi Date: Thu, 21 Jul 2022 09:17:20 -0300 Subject: [PATCH 3/3] Finalizando desafio --- .../DesignTimeBuild/.dtbcache.v2 | Bin 68516 -> 176755 bytes .../config/applicationhost.config | 996 ++++++++++++++++++ .../.vs/ControleInvestimentos/v16/.suo | Bin 65024 -> 147968 bytes .../ControleInvestimentos.API.csproj | 14 + .../ControleInvestimentos.API.csproj.user | 7 + .../Controllers/ClientesController.cs | 91 ++ .../Controllers/TransacoesController.cs | 67 ++ .../Controllers/WeatherForecastController.cs | 39 - .../Properties/launchSettings.json | 4 +- .../ControleInvestimentos.API/Startup.cs | 36 + .../WeatherForecast.cs | 15 - .../appsettings.json | 5 +- .../ApplicationServiceCliente.cs | 42 + .../ApplicationServiceTransacao.cs | 53 + .../ControleInvestimentos.Aplication.csproj | 4 +- .../Interfaces/IApplicationServiceCliente.cs | 18 + .../IApplicationServiceTransacao.cs | 23 + .../ControleInvestimentos.Domain.Core.csproj | 4 - .../DTO/TransacaoByAcaoDto.cs | 14 + .../Repositorys/IRepositoryTransacao.cs | 7 +- .../Interfaces/Services/IServiceBase.cs | 19 + .../IServiceCliente.cs} | 4 +- .../Interfaces/Services/IServiceTransacao.cs | 15 + ...ntroleInvestimentos.Domain.Services.csproj | 4 + .../ServiceBase.cs | 41 + .../ServiceCliente.cs | 19 + .../ServiceTransacao.cs | 43 + .../ControleInvestimentos.Domain.csproj | 9 + .../Entities/Acao.cs | 14 - .../Entities/Transacao.cs | 5 +- ...ontroleInvestimentos.Infrastructure.csproj | 6 +- .../Data/PgSqlContext.cs | 23 + .../Data/Repositotrys/RepositoryAcao.cs | 17 - .../Data/Repositotrys/RepositoryBase.cs | 4 +- .../Data/Repositotrys/RepositoryCliente.cs | 4 +- .../Data/Repositotrys/RepositoryTransacao.cs | 25 +- .../Data/SqlContext.cs | 19 - ...0220720223726_InitialMigration.Designer.cs | 91 ++ .../20220720223726_InitialMigration.cs | 66 ++ .../Migrations/PgSqlContextModelSnapshot.cs | 89 ++ .../ControleInvestimentos.Aplication.dll | Bin 0 -> 6144 bytes .../ControleInvestimentos.Aplication.pdb | Bin 0 -> 11948 bytes .../ControleInvestimentos.Domain.Core.dll | Bin 0 -> 6144 bytes .../ControleInvestimentos.Domain.Core.pdb | Bin 0 -> 11472 bytes .../ControleInvestimentos.Domain.Services.dll | Bin 0 -> 6144 bytes .../ControleInvestimentos.Domain.Services.pdb | Bin 0 -> 11812 bytes .../ControleInvestimentos.Domain.dll | Bin 0 -> 6144 bytes .../ControleInvestimentos.Domain.pdb | Bin 0 -> 11396 bytes ...roleInvestimentos.Infrastructure.deps.json | 464 ++++++++ .../ControleInvestimentos.Infrastructure.dll | Bin 0 -> 22528 bytes .../ControleInvestimentos.Infrastructure.pdb | Bin 0 -> 14076 bytes .../ControleInvestimentos.sln | 12 +- 52 files changed, 2290 insertions(+), 142 deletions(-) create mode 100644 ControleInvestimentos/.vs/ControleInvestimentos/config/applicationhost.config create mode 100644 ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj.user create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Controllers/ClientesController.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.API/Controllers/TransacoesController.cs delete mode 100644 ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs delete mode 100644 ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceCliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceTransacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceCliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceTransacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/DTO/TransacaoByAcaoDto.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceBase.cs rename ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/{Repositorys/IRepositoryAcao.cs => Services/IServiceCliente.cs} (50%) create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceTransacao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceBase.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceCliente.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceTransacao.cs delete mode 100644 ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/PgSqlContext.cs delete mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs delete mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.Designer.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/PgSqlContextModelSnapshot.cs create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.dll create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.pdb create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.dll create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.pdb create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Services.dll create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Services.pdb create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.dll create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.pdb create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.deps.json create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.dll create mode 100644 ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.pdb diff --git a/ControleInvestimentos/.vs/ControleInvestimentos/DesignTimeBuild/.dtbcache.v2 b/ControleInvestimentos/.vs/ControleInvestimentos/DesignTimeBuild/.dtbcache.v2 index b149e41c22b1c069845ee435a5102a431a6c4203..36665908aa4c5587a66d29e0d3ed885399064979 100644 GIT binary patch literal 176755 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%0DM{xkRSAj*P|bd9{gcGA0hDM5 zSIS8|s&Iutu6EL?NNt~ro_$*hSWti^8{6IfSZGt+TFP50;!NEoSTR*d@x} z9euD=3G7s~Hp48hoHfbU#VPw~2%p5pgVI@3WtdaB+CKXIEyd#3ec2(eGbf5*Rnb~I zbk9CB%e`NrGe)@)PvJAO5=vFAxyFebuSSw`T|d;D2**eHizi2t+Bv5hwY8C6RmGyH znelXvT-c^Jj)!^@BPm!jY!rIQ24ym^s%UF2F0XHiM2fv%H!`up5ec_8CxK_%qs@x_jYdEFOzT zus4J^IPx=~x=U28Ywan#S_dy^K!Z)W4laLG1+R8QrjM4r`hJlzk{uqxe5J#@Z+XN?S%ZA(NC(1R9Vq{ zbABmg#l%CwZIAr6be^g~iIQH}tBEUeP!lTjOcd~KfFkCxLXi_!6)>t=a7k6uC$m?E zdrpz536q9)UTs*5@8?lR$jk9|< zhLcHCIIt>IuaeWMGPPQXdRDy((o!2%s9y3{RrFeiE?(_4UL%DJt%5J!1lw-RUUa$B zxE#O@g*RqOsp{xv3m8;U7d`V;NSLJi;@~u?)BuG`P)m(!NIS(v)!B)>C6c(bMSg8Ao{&2s4AM$Fxm&9crHq`lE`J)?xdo_R{8M*Oq8S_&8 zq^d}*AFf_GUM5*Faj02FNXN@1XH`{d?XtX@ej{PeSd@yuU`5+E>o}vTQ0s8ctI-b= zbTr{mLN=b-IXBesvQj}@S+B$}POVgqvu>#3)m#Y6^?`71BkKv|Tu9+pH$?Ypk4!;G z?X8e|WXha(Lmk&We2H$CqGPc_SgHJ=3S4D-RI*fa6m!Y4#l)Hl?E%G>6f=WJ>SlJ4 znT?Mm*Wg>D#W-5*VqcqHlfoQ~*}KtFym->D?}l{ibf$?cwD`iada_6 zY+o{mLDJ$39K(<^6^iXUpJoACI*nb$@$d=JMlXzT*Jfe#HIy(@$?#ApIW}VEhA12? zt*H#bb9E+_O~rB{w2F9EOg@XkLyM@&#{3DNfu0VI2(h;`oRGpDU+o3P%Bjc~$`qa~ zMScCmPiEl(q?AWhfi?Q4Bw&t$6-e1$D=JB$Jd1V7IG`xY%Dy!$h%@5C8o?gSdmSV8 zQ<{Tg>2wMq#G-4$8I)q-K0S$eIBV>gG;>sHnAOCjzOiQrH=09tn!}Rn*=FZiB#UP; z&{of~qFBW0H5^aw_%rFs*NFm0c^C6bDd&B~9xvsm-RCD$$TvjdGj^Ll z#&&$oGj^X3|F&>%6P;(w!TGJ>OmabUXH)Zu_|rmv1lQ8k)Me~3KQ@*~z$3uMEO?5r z6-8{`xyJ1IW+s!$WK3#s7Nj%SUY0Xv&Sy7kGkzSHA2nm~q`6?t>Ym=dlNR+YT)X5X zYPeRd?&}#CP}tTD%}T0yL(_&;t2ZnGYE9p2$BE|hCt509(Xyf96)oj&)mrIRkWsn9 z*q7^$00;@pY*Ei<95^4IIMMNE%qZ$uI61PwOwL<7XzV?IBesFldz?y-Zwb#et_aL$ zKpG(|sJiPIjwC|i>^Mw=@D5~Rh)q!6wXA^-YRX-LR{8Em$5x9 z>@wE!WNVdSV>r7J27wf%S$VkVR7#({6mT-nU=KZCd1&L58XKv!crIEVMd#kZjo}Ql z$80nntSPfmTKYgI6dul^h2ayjvi&a;qk59&U%3g(k}KVkuV#^G;^bbpq$nM3m5bv& zaUK=NiY$ljt4+3|n}SFjTig*G@vi1igRYU@<;%yFZVoSS;FI_{4y75nISH2)m8SjcX{>fBAP=His3qSy1e zsfrUd)99+u;f%+V^o2@ZekLf|Vpr0nG^@({Q1~nz?=Rf1q=fJBKJD6Eg9?GC8i;zlFC6nK^vJ;3*($22pSFv~SnyKbO zIunP>Bzz9+s1!x}ekRC;{)}3<=K;)7Ay8N^@`;|^Xl(KS;q19SDUFG^))vk6Y@-qP zQt8nwY9R)0Jbx2jK1vyt^QUFJe3~%g#GDX)yOM!4E6J1(&s;bb!

;ziu=x@!^5u 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 E4;p~h_W%F@ literal 68516 zcmeHQdth8uTE9~sZFxTzShh=<(q+4)NhWEUq}?v0Nm{aP`bbhrA*FjWbCV98%uMIe z5*`aI%d&_p3oNpTh=_=Y$RZ*lA|fIpA|fIpA|fIpBIkNV7FopKIrlp==iE%_cz5oB zKT`PSyLZknbH499zVrUhS+gw5I;7VbEstN=ot>QDvvKo<*1T2abSBkfCwDkKxopW! zXNw!{LMd%$dhL>J?YG*_6dmh`jfLE~PO`K*ogH@y`9eBdvQA5OE_G7&SXW!eXjf`! zDw*s^Ih~z$M`u^E#pxL9Xzy(AXzf@!nn<=fPTN?ElN=juPb^*5nM~QqQ9ETF!{aW| zPj4uf^5xQ+Lav;*vc1bkdUMJ0gp)1hiX#HSA9kj*yK^I4&O$EZ^k;WF#ZsC;{n@dC zjrT%1St=Ktk=*FHBSP1atW!$n3XYx6w>2e30=TABCS&c3zj7K9>u5S#cdSR&5@jE# zZXFs3vGx^Wo*iMbSZ79+;MQc%a-N0b1$$!t>U72_&j0dxoy!)D45X8VTroFRntw*R zShh3shf3vCIychVlITJvPfV1v>C)uLz>p}SBR%Cp0p($26_U8}r%fD}%QjKq8BU>? z#%swgj60>GHQ4y5trPYVxizN}{eqrcCWC6TIX|33b#i)kILV#;S(Ni$r6?gTmg_ozFMn zmqt+Jn_5N+c+#tZqQuY+yO0+JY`-y4+lPXIr_85>UAeTWh5vWT{GM`#SF@E_r(7!7 znN#L(ERSZ=$+gbpaBioQT{+s)Hr77YF_uWA+FR^4+dBAyL3hB#H;pf>-f#syYS3tJ)>Fa_yniOPkS$tFpDGDgiCRWm1H>vL&5uYi-(CNKd3o zX&7#iE8D871jDQPEJYD+4V5V)jn0&bB3hD6dQ=F%R=%mC)>}O~I_&mj`?5q=+ft{c zv&-7vXi-t!izPdovI{98?Rw>ls=%$>Jk*o6Xx&E>ZDV7}RBI}gYEM{BqXizCES8)J zZn$^@@0?c>Vh>OGx+?rq6pL^LV>BY+SCz+Ly#2Dhi6p1*RIyv?6MIUU?}|ulYNpU~ z7GW{7Nx!8P>2H%3wIRAviEyTK%z#$hZf>5ciYk9tBa=5Eem^=xC3`gEw`JR>D$-Oz zR8`^%h075W|*jZf|X=`A|2g z;EuYWs*-g!{cVZSv9`|kWp=7<*;1#i-D-H(v9{zq*UqdNq$`0g{%1F*`gWs4qHFJ@ zx{H%p-*ilqQvs-|WLQ&QGE>(Ao#bTAOjEkjs%l|-M0?DrHawZ<^Gv&)Ldhuz!#`GA zI}O+f1$RWIV0J7$UM>jRC^Xtq(MSnVRjAWYOc_E))oVqDU`R%(Y-`Cb)2Y*mh`_a?;TA45*5@4S+eQ*fkD;JW!eU;7K zCjnIj>zt3AGF7nKKwk0LT$&ihf<;c`no}d!0ytg0a7D4<6O}c@#+n5t;c23B`fyd9 z&z#Aw6v1NCPzg%~!!Q?qL9CeUnh;f~uyyR428!S?<_WhH(&$VI&DNzchloi9Q4}X? zX%MyPATIu7S@8NWc*vW_CO5voKrRiYX_kza~olv5?sU>c#838TT)!XmjSfZJ*n zKtEhnC#=ypE28?vdqe%c=&G1ud(%;kT6zoi9+}c|)I#5d5j(hEIT2CnO0ffj{1I7J zNULhFs*G5!siXHCROZ~Ml$p%h6PUprENA&f3{mR0N=@`IRgJJMN>p}fO(r+WXKnp4 ze2<-R__~>IXr*162Ga<&qMDk}MdsC7PEBYbjZmQ&Q32BgZ3>J!N2#Pu2Wo_3Q4Qnz zH}IK&d;uLyzF}omAy>+zMg5V(xS9x6rFz?q;K($p`R0JYyu8WzW<978N<=jkt4rF% zhb~mgxIS_!c3PCGTG$3Ns`;CM&}XIdTsu+bh8s)LXz-p32x?HkH$08lhHH?TjvRweuwk zmuzRI12sai2-_K@$ZfGp*y!sIkCk?2Dxwi8Mb(2wHuPh?0{babL#1579`|jS>_JZr zZiF(q=lj1qy_dCz2ShS`ofJP{kj837A={zYhSXDxN*$BZSGy$8l z6LuEmDdng5Pzk%nCxRxRCa4jLMYY7SE}h*al#ojt{0mj!u+8Moh>DO9xbHmKIri(r zSyYsQfsIfks`g&UisKYEc7bO^7RdHq3sF^QX$m(X9#yAa2)e246ecU%&t#`w4{C%G zc0>irug)R^Hc~P2zfy&+b8cnIO3OJB3BBI&cfbyi#CTW5t#@=0?Au0V_qn*ImrDLY z0%`ZAWWI> zF%(r*cIc)CtIC8OAVoFG7ScMUJ-Gr-`i$iY6V;7Da+F;gqAC@(jzn3sHpz&6lVq$|%i;sB$PpOiq;5M5ro-&66k_KP0_WNnMc9b!mhW zk##-b1ptSHd~;RldeE1u;PnoOf-4h|wHZ?IGjIYtN2|$|HX{(IDw1egR@WBU;K(kj zHe!wi(Lzy7=MFWJWcwhg0zU3_c%K^rnk>J_BC0QgUj4I*_VZOUQhQ z>ZGh9GtU-zQnvcFDty?MJgS`|RVkbLa3WkZe{$zYAWT&wtci_kzi&X)rv7!}P-At> zC-?h)5>QvLzWwpR${*E!-=N&<(&IZydmR2L@=UIde*&%%>P6M+t77X%8f2?q6QQdV z&fZ0}8&MH>z$w`&e&~eT2e})uMtD`71g4+sTi_2CKm$1x7|7Sip(>)PQuq_YQSC8N za)2Lm3+!r=drYQ9HA1zhIz4;}kDqlYVqSs|a74+Iot|J|BNT})kE)9JPXl6U(ATJ% zN7JAhp<48LD*D2pfhjsG;O~MqLHfM|Wn7=C^O;cri!K!M8 z?dM%!T20@PQIE*KbN8kvfmKDrcBZ1*(Jk|cw^njTH+`py9kweQ)$)ZDJ7CA<^2OBP zMko_mznpe*pAOeSaw|%uU#^F#YJ@FHQO&Z+MDK?up+YWSu?)Ou$yv5(FsfQ%i`wO} zh;2boFVZEr;#3M)g}wios(skK2$!1H9=^j;xjjXhp*)lGd(m9~lSXJAwRu6_!S5!V z+WAvqLGw}#)|IJiI5}lgLsV0eGK<#bD!oIw9;XMXN+jw$Gaek0MAm^KJGfp>;_(7k z>Es3ibw$Dr6(bv4k*qL}!fR1=+M+VHs)bNh3Onl>b!SOeX|-5~M^oU}onU8aIVMVI~SMcOuR)pX{B zzlod7Cp#{zN327^%;Gy8R zy6EBN#v-lygU)z4V;6#_-?XYf6{D&Zw&N06@!Ek?l%k*Av%}729dck*DPB{8Rb|5N z5{;~QRix!MtWvz>x2ou2yDm|kG#-{hHf@0W-HbSHEGoJ@XSHi)w~4AZoD5lrxmm!&K$! z^dLWFA;VPR(@yzLSNJ4IRV?fxTU5gVB|Aj@(uM=UKvj{j#V>k$=S#g2z7wahcU3?m z6pCs>RY`pKTJtv|)i4V@tPyHNby5T#60to;Y{>S9HS#c+8lWmr=QwkU2j<8+G^zsY za>>AihN?!B2-cOUYg9AEjzzVJ{0uu&c81G&as(wekypRgg|BN=IYs!Wj>yZQiaa8Z zcU@c*ozIZBL@q8rBEPwm&d8IHvH}OfbTz^inW(mD(bfrJOXW5#`c4-+TmM(bdahm0OOjeY!C{vXGA5IYZ@qK8MSt zQp4g3=*sVOXVP}jIyhUo3mkL5*1=8qq51rd;Q8WJ4Nd5wc&&z_Kc;Gr@1QpNhV=;*3L|xk1cOXCLBY_D>EUt zC!4`e%%U}q0(#(A0q)8uoG$k$TJTjYF0!UPO!+4+#CE}I1}X8#%&sJVP1MStYLm3J zpO_P}z7&vcsCRA6*pAh8uVSp4*K~`!=@pe0|9>u&uN$0CjarNAy)>SKzerht9H?rb zhCo{Bu>FcEB~OU z)|Qq|>wxC5awdbL(>scI=C==}a0&8a>&RxOP{`q0c3$O{=L*}h?L`x>Bz`v$duMD2jq z>Hea1`?P=2TKlKkru!+#sQiU>xUV~mSO!x7{CK(bxn{U5goP|Psd74FXUCW4OG{P_ zT8B38z#-S%Q@SF^zJOWv2qf2vAQ=gsbM>jE=T2Jcqqty0|DZ9Z}luOX$; z=uWxXJZ`0hP(7piQiW!k$x*MB)A-?k|2*Hw)N}2cX%{9}=@T#p`dTXX-6_N6fDOc5+Nn#Pdu_jf$G7qH*19-X; zHf~KCs5ff#mFrvMmJ!RL#a+3{a;S3OYTUZagaK2<;8!>VZbglF_(kw!FqsM0mad&18hZ4%!|QaqCw(`h6o4g;~GZPrH~gZkgy4>H>(&zQlwz)8o}W z%fu}c<8)l3#0N)(DHjx)8JGp47b$OKJQRpnxf)BzU}BCUAcAsHU)(y^Ky^p_LRS+N z3~>dM*o0xxqt&jli(5u&xGq7^svD}|O42J=!^JHV4H^=l#x-tn>q0Xne9EP2ewojk ziM?_~nz_jM9gxdzn{F3E`L$4TSTkf(-pU} z1`@h@wN~8PX&}D!xB)^mP9`cUk4)ZaWv1N97}d+D;+830X30#6UcD>BxbDG@nUR@JMfs`MP?#~bd^2r9ropadjYz=wX^`rfB06dmZ2sb;)vR^7^*o6D5SR-MEfvd2^> zRKMRIr+2<>sJ~cS6mpLpw~TBWuPsBxTc|mEQCpB;{V>vS))u9fGiWn2 z`xSYNHPw|Ek^WT&%Vrv`O5EZ>@rP`t#iq%2&3CbxT1^Sb{I+Tihoblajc>A zuEZ@$xQRVURrh|ne^x^~gsRc&j#ABaGlLR{ls7Ww2*w<=E@li|rO5dipzk3vv3#v0 zL&f!{nf-Xdn5D1IxMgB|qr@&9YnoX|#_!ml7h8ula}Q3qDWM4e zEXzCLSj}#>$)%d_O{;EUq;I;^z!3K;mg-BTOSuA0YQrU0lOtaIU$i>v)vvo)bS6eK zlYFtNDOt3RQdL{LeEsIcvX*x1G-ugpSE{R{y=z%=w9RhmOtiPBI!6;uXCl?s){tr$4*fL8?u_#TCN(vZZthZv954Q$_-Karo(Cn9g&W7Q;c>+Z_334M(AywW;CB zWt~)4Lhc>K{l}fO*CgYpMW0yNWD1J>JFDJWQTeO-t3%6P6%W>f1N)0>ok`#Mq;=@( zG%BqB!Y!?J*oH!SoPXC}awfR<9qRz!O{55&vl>qB#MA7-T&~ocE?9H;0jVrpQCf2= zV?yh|K_`O+vfU0x%*6*hW9DF94jOclWta;;U`{{0TcRRNTF3NqFL*cxEox7)REg%; zKtT1UjtqqGZSqzSu1GYDD|SlV#mz-0WzEJk@NQgyXdMV2fXPA{78Jhe4uo68ibMyj zE_16Ue)Zsrk4CO5SE889>~>PC;myyQO^yt#xv=5`y#jF<_6_-7Ksf|IYaQMAFVm3r?VwLRk5QZ&CUEVd_OpnE$E}uLhe=LIRKaI<+9^K$U|sVP>M6V zr<^I33yyWD@S%hoA7#jq{l)%?d?uYtmok$g6?u{f@1GEBUteWPAzpY&MWj=@n9tag zBJ7AB_~_f5AI`yrhcjRob~**?AX#jDHIR+GnX(S|%MQ<2_%sz^M`>S4ndZp9xAuWQ z5^HM+y8}C4uwi2h`Qtqt+hvR+o~HvQNf%l~&6*q3Kn)*{eXK#M`A zfR=!oK+T{QPy*BnY6C3=wS$&{IzY$aH#)()K+8cZKwky%-&+a#8t7EeX`pV-n^n51&0{<3$!Lpe3Ef!<5*gkCEA0NT?yDoMu+rOL5W^>s7Y%b^kb|5>5 z9n22#@Ny_Sj2+I7U`JjT`#wABy4X){WJj;^*ylWt9m9_H*s)&aA6~^jb{qjd&yLdp z#}VLo0(^lTuLF)Jz&rwck0lEmVoOS7dE&{9| zz*pG{9k7A`D+%y5wo(VIB*3WzIE|gE15PDCHvv|$ZXM7~fF1($vK}4KLx4U4tY&>W zppO7+2yi-EqXX6upq~I=XZ<>$p8#tKu#T zV32Ln0h?FVh0kUjD2TTwkM}R!b>3|#ob`hY!cIkj!1Sk@q z#ELqgNPsc{cC)e$C=*~00nTH4bif`0OcLOHHmL(932*@cE@T(zfC~t45dpr*F46%P z5#VA1T*5Ba0T&bCQUZL7U8(~vCBS6__%^#t2V6#g%L(uucDW9?oB&r4;JfS!9dHE! zt|Y+Euq$=Il?1qo06)vF(g9Zy;A#SVk6o<;t|q`W1o%F?Mh9F&fNKeG9lKTsTuXrK z3Gf4Uy$-mZ05=fe=hzK8;06NRNPr)*8+E{q1h|O+KhJK`0XGrgW&->IyIBX^On_Sm z@Qdsg9dHW)ZY97kv0HV(tpvD@0Kd#`(*d^;;C2H13cFng+)jWy2=J@y4jpg@0q!Kg zudzFIz?}rRivYjQ?$QBw5#VkD{06&Q2i#47dkFBG>>eF(4*~8az>nCyI^bRc+(&@l zV)yBQ`v`D90e+j^uLJHUzyk#M9rl0@cz^&865w~)gF4_r0z5>3-(wHyfQJb1Fads_ zJ*)#BCcq;E_yhKc4tRtBj}qVy*`qq(Q3543)w@Hhefm_4oo9w)#P1o#v7 zgbsLu08bL&PuY_?;7I~JMSwqJPw9ZC2=Fuk{+vCn1D+RRX+5fPZ4I>44V=@HzqhnZ2$9 zUMIjC1o#*Bh7Ndx0B;iDU)h^F;7tO&MSy=}Z|Q)y2=F!m{++$81KuXUI|TR-_KpsC zhXC&qfU$RVz`F!+3GkoH)d4O6JOca|^K^h8?y>g>@Zan`9q=Cg!utgHF?(MJyib4+ z2=G7b10C=I0X`(aPuPb#;6nm@M1cQgAL)RP2=K8FaIF~oSVw&9BivYwAhTk4)-e2C z{B!q_pnYR_)1Opd(`L;Q00{3sXt4yH5_1;^KzR2-OC+c%<}L|<@a}_}C8#Cl zHU~g>_dy8>YK^&x00{3ss7->F#@x052=6|qU4oXy-1Yzn?>?wQf;wYvM*xI(AJip5 z%VTa=0EBlRv_gWu8go|!KzR2-D<$Y_F?VGEgm)iwssx=Db59L`@a}`UC1_R5?GAwO z?t^+Hs5j>J1VDKAL47gI1-h%n=Nj>OIzF#;`(r)s*JJKly!_Bz7wdHgV(xmd4Ka5k z*ru2}2sRXRhru?-+%v$o#N0E%w#MAEz|M}jBjN|QiO+My=XQMZS;sz)&o>?icAUqK z2Rq(l^T6hL>;$kAJa!`3i5^=3w!mWx!4`V#WU!Mxwg_yI#}ur`migSC6C1FXYiU0_`vTLHGhV=KW{dhArNQ$5xV*6pz#upW=~f#Lr(oIKVK z*6*>kU~4@#05;&U4PYBQwh3&L$A-X$JhmBZv&Xi8ZSmMvu&o|D8|-Y4Z3ElpvF%{n zJ!XU19!r8HJ?4Np9vcT6_gES%?XjI;J3Tf5HsP@xSk7a+z;=182v+o18LaHFJz#r0 zHVHQAu?xU1@YqFQ7kTVru!}u*DcGeRyA13yk6jLSxyP;myTW5vf?esctH7@E*wtWH zd+ZvpYdm%>*tH(J9_)IL-2irj$8H3>(PKA(-Q=;G!EW~0Env5J>{hT_J$4(|Z63QF z>~@dc0d|MS?gYEjV|Rhw<*~cL?)KO{VE1_JUa)&Tb|2V%9=jjxevdr>_JGG81bfh9 z4}m@8v4_DP_Shp}k9h1+utz=i7}#STdmQX>k39kQgvXu)d(vZ1fj#B1r@@}~*fU_y zc{YN=J@y*dYaV+Y z>~)X50rrN+-UNHoV{d`I<*~QH-uBo#VDEVBU9fjO=7PB%^T0gxm%!fh*!y7bd+Yp!~@zxG=F$Nn};S2 z4`|oWjNt)o7n&+OpnXDfga@=iXmap?b_UG~9?+Jc>A(Zp3p5XSK%0Oj01vSHF!OkT zZHFnx1MD}#EQDRY|a|bbH`%*b6kAx5T9uQITxQl`H{ObcAA?3 zO@OkX94HUk1uB4wpc1GI+6~$RIuA4nIv;ca=t9s%pl^aM23-QW6!b07WuR|^E(d)F zbOq?UpesQ?1G)2eK|cW90Qx!5ji4WbZUX&0=w{F_fNlZ( zBIs7oFM)0Y{W9ow(64~*0R1ZHPSCG`?gITf=x)$&fbIePCg@(!k3jc9A3?8y{t5It z=$}Dvfc^#aCg@*5Z-M>|^fu_rK+7-Y>l&5eO(f%XCI3)&B~KWH{+4rngu0MLP;gFpv^4gnnsIt+9;=m^k} zprb%XgFXj326QawIMC;3op#A3TWQg7sk&(B9zTm#4c#xy!m^<|Zx$ZhFY-@zfP2C$ zc91)NmV4qXkAE?TX z@}Zv&Gs}m5I?OB|`spyUeCVgc%<`e14l~P#emcx7ABx#|KD|c^ku%GO?#%L`JF|S~ z&MY6gGs}lq5;=Ni`OuzOKAc%ToLN5nl$Q^&X2Mqvu TxDacEwbl>6gzrz5>xcgb + + + + + +

+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ControleInvestimentos/.vs/ControleInvestimentos/v16/.suo b/ControleInvestimentos/.vs/ControleInvestimentos/v16/.suo index bfc0c5eb53bdbc6a1a39cec516986112753e55d8..44b6706a22abdbad12b8c00eff47ee55d7b2285e 100644 GIT binary patch literal 147968 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 Y0J$sF-AFow)V>q3TqL{bFAbLd9~M;1%K!iX literal 65024 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 XOV!#_nHt8dEc>aYZa=it?Z5sX%!Gsl diff --git a/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj index d12c450..2def55a 100644 --- a/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj +++ b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj @@ -4,5 +4,19 @@ netcoreapp3.1 + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj.user b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj.user new file mode 100644 index 0000000..e4f6e71 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/ControleInvestimentos.API.csproj.user @@ -0,0 +1,7 @@ + + + + MvcControllerEmptyScaffolder + root/Common/MVC/Controller + + \ No newline at end of file diff --git a/ControleInvestimentos/ControleInvestimentos.API/Controllers/ClientesController.cs b/ControleInvestimentos/ControleInvestimentos.API/Controllers/ClientesController.cs new file mode 100644 index 0000000..e57cd5b --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Controllers/ClientesController.cs @@ -0,0 +1,91 @@ +using ControleInvestimentos.Aplication.Interfaces; +using ControleInvestimentos.Domain.Entities; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ControleInvestimentos.API.Controllers +{ + [Route("[controller]")] + [ApiController] + public class ClientesController : ControllerBase + { + + private readonly IApplicationServiceCliente _applicationServiceCliente; + + + public ClientesController(IApplicationServiceCliente applicationServiceCliente) + { + this._applicationServiceCliente = applicationServiceCliente; + } + + [HttpGet] + public ActionResult> Get() + { + return Ok(_applicationServiceCliente.GetAll()); + } + [HttpGet("{id}")] + public ActionResult Get(int id) + { + return Ok(_applicationServiceCliente.GetById(id)); + } + [HttpPost] + public ActionResult Post([FromBody] Cliente cliente) + { + try + { + if (cliente == null) + return NotFound(); + if (cliente.Id > 0) + cliente.Id = 0; + + _applicationServiceCliente.Add(cliente); + return Ok("Cliente Cadastrado com sucesso!"); + } + catch (Exception ex) + { + + throw ex; + } + + + } + + [HttpPut] + public ActionResult Put([FromBody] Cliente cliente) + { + try + { + if (cliente == null) + return NotFound(); + _applicationServiceCliente.Update(cliente); + return Ok("Cliente Atualizado com sucesso!"); + } + catch (Exception ex) + { + + throw ex; + } + } + [HttpDelete()] + public ActionResult Delete([FromBody] Cliente cliente) + { + try + { + if (cliente == null) + return NotFound(); + + _applicationServiceCliente.Remove(cliente); + return Ok("Cliente Removido com sucesso!"); + } + catch (Exception ex) + { + + throw ex; + } + + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Controllers/TransacoesController.cs b/ControleInvestimentos/ControleInvestimentos.API/Controllers/TransacoesController.cs new file mode 100644 index 0000000..9db6458 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.API/Controllers/TransacoesController.cs @@ -0,0 +1,67 @@ +using ControleInvestimentos.Aplication.Interfaces; +using ControleInvestimentos.Domain.Entities; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ControleInvestimentos.API.Controllers +{ + [Route("[controller]")] + [ApiController] + public class TransacoesController : Controller + { + private readonly IApplicationServiceTransacao _applicationServiceTransacao; + + + public TransacoesController(IApplicationServiceTransacao applicationServiceTransacao) + { + this._applicationServiceTransacao = applicationServiceTransacao; + } + + [HttpGet] + public ActionResult> Get() + { + return Ok(_applicationServiceTransacao.GetAll()); + } + [HttpGet("{id}")] + public ActionResult Get(int id) + { + return Ok(_applicationServiceTransacao.GetById(id)); + } + [HttpPost] + public ActionResult Post([FromBody] Transacao transacao) + { + try + { + if (transacao == null) + return NotFound(); + if (transacao.Id > 0) + transacao.Id = 0; + + _applicationServiceTransacao.Add(transacao); + return Ok("Transação Cadastrada com sucesso!"); + } + catch (Exception ex) + { + + throw ex; + } + } + + [HttpGet("/GetGroupByAcao")] + public ActionResult> GetGroupByAcao() + { + return Ok(_applicationServiceTransacao.GetGroupByAcao()); + } + + [HttpGet("/GetByCliente/{id}")] + public ActionResult> GetByCliente(int id) + { + return Ok(_applicationServiceTransacao.GetByCliente(id)); + } + + + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs b/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs deleted file mode 100644 index be255dd..0000000 --- a/ControleInvestimentos/ControleInvestimentos.API/Controllers/WeatherForecastController.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace ControleInvestimentos.API.Controllers -{ - [ApiController] - [Route("[controller]")] - public class WeatherForecastController : ControllerBase - { - private static readonly string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - private readonly ILogger _logger; - - public WeatherForecastController(ILogger logger) - { - _logger = logger; - } - - [HttpGet] - public IEnumerable Get() - { - var rng = new Random(); - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = DateTime.Now.AddDays(index), - TemperatureC = rng.Next(-20, 55), - Summary = Summaries[rng.Next(Summaries.Length)] - }) - .ToArray(); - } - } -} diff --git a/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json b/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json index e93d72c..d713a78 100644 --- a/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json +++ b/ControleInvestimentos/ControleInvestimentos.API/Properties/launchSettings.json @@ -12,7 +12,7 @@ "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, - "launchUrl": "weatherforecast", + "launchUrl": "", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } @@ -20,7 +20,7 @@ "ControleInvestimentos.API": { "commandName": "Project", "launchBrowser": true, - "launchUrl": "weatherforecast", + "launchUrl": "", "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/ControleInvestimentos/ControleInvestimentos.API/Startup.cs b/ControleInvestimentos/ControleInvestimentos.API/Startup.cs index 8473709..9547ca6 100644 --- a/ControleInvestimentos/ControleInvestimentos.API/Startup.cs +++ b/ControleInvestimentos/ControleInvestimentos.API/Startup.cs @@ -1,11 +1,20 @@ +using ControleInvestimentos.Aplication; +using ControleInvestimentos.Aplication.Interfaces; +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using ControleInvestimentos.Domain.Services; +using ControleInvestimentos.Infrastructure.Data; +using ControleInvestimentos.Infrastructure.Data.Repositotrys; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Microsoft.OpenApi.Models; using System; using System.Collections.Generic; using System.Linq; @@ -25,7 +34,26 @@ public Startup(IConfiguration configuration) // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { + #region [Context] + services.AddDbContext(options => + { + options.UseNpgsql(Configuration.GetConnectionString("Default"), + assembly => assembly.MigrationsAssembly(typeof(PgSqlContext).Assembly.FullName)); + }); + #endregion + + services.AddSwaggerGen(c => + { + c.SwaggerDoc("v1", new OpenApiInfo { Title = "Constrole Investimentos", Version = "v1", }); + }); services.AddControllers(); + + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. @@ -46,6 +74,14 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { endpoints.MapControllers(); }); + + app.UseSwagger(); + + app.UseSwaggerUI(c => + { + c.RoutePrefix = string.Empty; + c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1"); + }); } } } diff --git a/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs b/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs deleted file mode 100644 index fd6fe0d..0000000 --- a/ControleInvestimentos/ControleInvestimentos.API/WeatherForecast.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace ControleInvestimentos.API -{ - public class WeatherForecast - { - public DateTime Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string Summary { get; set; } - } -} diff --git a/ControleInvestimentos/ControleInvestimentos.API/appsettings.json b/ControleInvestimentos/ControleInvestimentos.API/appsettings.json index d9d9a9b..565d420 100644 --- a/ControleInvestimentos/ControleInvestimentos.API/appsettings.json +++ b/ControleInvestimentos/ControleInvestimentos.API/appsettings.json @@ -6,5 +6,8 @@ "Microsoft.Hosting.Lifetime": "Information" } }, - "AllowedHosts": "*" + "AllowedHosts": "*", + "ConnectionStrings": { + "Default": "Server=127.0.0.1;Port=5432;Database=ControleInvestimentos;User Id=postgres;Password=satelite15;" + } } diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceCliente.cs b/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceCliente.cs new file mode 100644 index 0000000..d98a1be --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceCliente.cs @@ -0,0 +1,42 @@ +using ControleInvestimentos.Aplication.Interfaces; +using ControleInvestimentos.Domain.Entities; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Aplication +{ + public class ApplicationServiceCliente : IApplicationServiceCliente + { + private readonly IServiceCliente _serviceCliente; + public ApplicationServiceCliente(IServiceCliente serviceCliente) + { + _serviceCliente = serviceCliente; + } + public void Add(Cliente cliente) + { + _serviceCliente.Add(cliente); + } + + public IEnumerable GetAll() + { + return _serviceCliente.GetAll(); + } + + public Cliente GetById(int Id) + { + return _serviceCliente.GetById(Id); + } + + public void Remove(Cliente cliente) + { + _serviceCliente.Remove(cliente); + } + + public void Update(Cliente cliente) + { + _serviceCliente.Update(cliente); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceTransacao.cs new file mode 100644 index 0000000..f1be2e6 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/ApplicationServiceTransacao.cs @@ -0,0 +1,53 @@ +using ControleInvestimentos.Aplication.Interfaces; +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Aplication +{ + public class ApplicationServiceTransacao : IApplicationServiceTransacao + { + private readonly IServiceTransacao _serviceTransacao; + public ApplicationServiceTransacao(IServiceTransacao serviceTransacao) + { + _serviceTransacao = serviceTransacao; + } + public void Add(Transacao transacao) + { + _serviceTransacao.Add(transacao); + } + + public IEnumerable GetAll() + { + return _serviceTransacao.GetAll(); + } + + public IEnumerable GetByCliente(int id) + { + return _serviceTransacao.GetByCliente(id); + } + + public Transacao GetById(int id) + { + return _serviceTransacao.GetById(id); + } + + public IEnumerable GetGroupByAcao() + { + return _serviceTransacao.GetGruopByAcao(); + } + + public void Remove(Transacao transacao) + { + _serviceTransacao.Remove(transacao); + } + + public void Update(Transacao transacao) + { + _serviceTransacao.Update(transacao); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj b/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj index aa0b2bc..9dea191 100644 --- a/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/ControleInvestimentos.Aplication.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceCliente.cs b/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceCliente.cs new file mode 100644 index 0000000..f9edc83 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceCliente.cs @@ -0,0 +1,18 @@ +using ControleInvestimentos.Domain.Entities; +using System.Collections.Generic; + +namespace ControleInvestimentos.Aplication.Interfaces +{ + public interface IApplicationServiceCliente + { + void Add(Cliente clienteDto); + + void Update(Cliente clienteDto); + + void Remove(Cliente clienteDto); + + IEnumerable GetAll(); + + Cliente GetById(int Id); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceTransacao.cs new file mode 100644 index 0000000..e860cac --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Aplication/Interfaces/IApplicationServiceTransacao.cs @@ -0,0 +1,23 @@ +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Aplication.Interfaces +{ + public interface IApplicationServiceTransacao + { + void Add(Transacao transacao); + + void Update(Transacao transacao); + + void Remove(Transacao transacao); + + IEnumerable GetAll(); + + Transacao GetById(int Id); + IEnumerable GetGroupByAcao(); + IEnumerable GetByCliente(int id); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj b/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj index 10a655b..2e609be 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/ControleInvestimentos.Domain.Core.csproj @@ -4,10 +4,6 @@ netcoreapp3.1 - - - - diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/DTO/TransacaoByAcaoDto.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/DTO/TransacaoByAcaoDto.cs new file mode 100644 index 0000000..ec498ba --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/DTO/TransacaoByAcaoDto.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.DTO +{ + public class TransacaoByAcaoDto + { + public string Acao { get; set; } + public decimal PrecoMedio { get; set; } + public int Quantidade { get; set; } + public decimal Total { get; set; } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs index 821619a..34047b9 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryTransacao.cs @@ -1,4 +1,5 @@ -using ControleInvestimentos.Domain.Entities; +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Entities; using System; using System.Collections.Generic; using System.Text; @@ -7,7 +8,7 @@ namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys { public interface IRepositoryTransacao: IRepositoryBase { - void GetByAcao(int id); - void GetByCliente(int id); + IEnumerable GetGroupByAcao(); + IEnumerable GetByCliente(int id); } } diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceBase.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceBase.cs new file mode 100644 index 0000000..c84fbbc --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceBase.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Services +{ + public interface IServiceBase where T : class + { + void Add(T obj); + + void Update(T obj); + + void Remove(T obj); + + IEnumerable GetAll(); + + T GetById(int id); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceCliente.cs similarity index 50% rename from ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs rename to ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceCliente.cs index dd734a2..b345e5e 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Repositorys/IRepositoryAcao.cs +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceCliente.cs @@ -3,9 +3,9 @@ using System.Collections.Generic; using System.Text; -namespace ControleInvestimentos.Domain.Core.Interfaces.Repositorys +namespace ControleInvestimentos.Domain.Core.Interfaces.Services { - public interface IRepositoryAcao: IRepositoryBase + public interface IServiceCliente:IServiceBase { } } diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceTransacao.cs new file mode 100644 index 0000000..733d4fd --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Core/Interfaces/Services/IServiceTransacao.cs @@ -0,0 +1,15 @@ +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Core.Interfaces.Services +{ + public interface IServiceTransacao:IServiceBase + { + IEnumerable GetGruopByAcao(); + IEnumerable GetByCliente(int id); + void FillClienteInTransacao(IEnumerable transacoes, Cliente cliente); + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj index cb63190..3e94dc9 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ControleInvestimentos.Domain.Services.csproj @@ -4,4 +4,8 @@ netcoreapp3.1 + + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceBase.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceBase.cs new file mode 100644 index 0000000..63d3b15 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceBase.cs @@ -0,0 +1,41 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Services +{ + public class ServiceBase : IServiceBase where T : class + { + private readonly IRepositoryBase _repository; + public ServiceBase(IRepositoryBase repository) + { + _repository = repository; + } + public void Add(T obj) + { + _repository.Add(obj); + } + + public IEnumerable GetAll() + { + return _repository.GetAll(); + } + + public T GetById(int id) + { + return _repository.GetById(id); + } + + public void Remove(T obj) + { + _repository.Remove(obj); + } + + public void Update(T obj) + { + _repository.Update(obj); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceCliente.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceCliente.cs new file mode 100644 index 0000000..b5af291 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceCliente.cs @@ -0,0 +1,19 @@ +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Services +{ + public class ServiceCliente : ServiceBase, IServiceCliente + { + private readonly IRepositoryCliente _repositoryCliente; + + public ServiceCliente(IRepositoryCliente repositoryCliente) :base(repositoryCliente) + { + _repositoryCliente = repositoryCliente; + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceTransacao.cs new file mode 100644 index 0000000..a5b099a --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Domain.Services/ServiceTransacao.cs @@ -0,0 +1,43 @@ +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Core.Interfaces.Services; +using ControleInvestimentos.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Text; + +namespace ControleInvestimentos.Domain.Services +{ + public class ServiceTransacao : ServiceBase, IServiceTransacao + { + private readonly IRepositoryTransacao _repositoryTransacao; + private readonly IRepositoryCliente _repositoryCliente; + public ServiceTransacao(IRepositoryTransacao repositoryTransacao,IRepositoryCliente repositoryCliente) : base(repositoryTransacao) + { + _repositoryTransacao = repositoryTransacao; + _repositoryCliente = repositoryCliente; + } + + public IEnumerable GetGruopByAcao() + { + return _repositoryTransacao.GetGroupByAcao(); + } + + public IEnumerable GetByCliente(int id) + { + var transacoes = _repositoryTransacao.GetByCliente(id); + var cliente = _repositoryCliente.GetById(id); + FillClienteInTransacao(transacoes, cliente); + return transacoes; + + } + + public void FillClienteInTransacao(IEnumerable transacoes, Cliente cliente) + { + foreach (var transacao in transacoes) + { + transacao.Cliente = cliente; + } + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj b/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj index cb63190..33bb1de 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj +++ b/ControleInvestimentos/ControleInvestimentos.Domain/ControleInvestimentos.Domain.csproj @@ -4,4 +4,13 @@ netcoreapp3.1 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs deleted file mode 100644 index b16516e..0000000 --- a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Acao.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace ControleInvestimentos.Domain.Entities -{ - public class Acao: Base - { - public string Codigo { get; set; } - public decimal Preco_Medio { get; set; } - public int Quantidade { get; set; } - public decimal Valor_Total { get; set; } - } -} diff --git a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs index f93acc0..6ed72e3 100644 --- a/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs +++ b/ControleInvestimentos/ControleInvestimentos.Domain/Entities/Transacao.cs @@ -6,10 +6,9 @@ namespace ControleInvestimentos.Domain.Entities { public class Transacao: Base { - public int IdCliente { get; set; } + public int ClienteId { get; set; } public Cliente Cliente { get; set; } - public int IdAcao { get; set; } - public Acao Acao { get; set; } + public string Acao { get; set; } public decimal Preco { get; set; } public int Quantidade { get; set; } public decimal Subtotal { get; set; } diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj b/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj index 3ec9a47..579785e 100644 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/ControleInvestimentos.Infrastructure.csproj @@ -4,15 +4,13 @@ netcoreapp3.1 - - - - + + diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/PgSqlContext.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/PgSqlContext.cs new file mode 100644 index 0000000..746df2a --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/PgSqlContext.cs @@ -0,0 +1,23 @@ +using ControleInvestimentos.Domain.Entities; +using Microsoft.EntityFrameworkCore; + + +namespace ControleInvestimentos.Infrastructure.Data +{ + public class PgSqlContext : DbContext + { + public PgSqlContext() + { + + } + public PgSqlContext(DbContextOptions options) : base(options) { } + + public DbSet Clientes { get; set; } + public DbSet Transacoes { get; set; } + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + modelBuilder.ApplyConfigurationsFromAssembly(GetType().Assembly); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs deleted file mode 100644 index 93812b7..0000000 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryAcao.cs +++ /dev/null @@ -1,17 +0,0 @@ -using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; -using ControleInvestimentos.Domain.Entities; -using System; -using System.Collections.Generic; -using System.Text; - -namespace ControleInvestimentos.Infrastructure.Data.Repositotrys -{ - public class RepositoryAcao:RepositoryBase,IRepositoryAcao - { - public SqlContext _sqlContext; - public RepositoryAcao(SqlContext sqlContext) : base(sqlContext) - { - _sqlContext = sqlContext; - } - } -} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs index c3a1068..59a0ee6 100644 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryBase.cs @@ -7,8 +7,8 @@ namespace ControleInvestimentos.Infrastructure.Data.Repositotrys { public class RepositoryBase : IRepositoryBase where T : class { - public SqlContext _sqlContext; - public RepositoryBase(SqlContext sqlContext) + public PgSqlContext _sqlContext; + public RepositoryBase(PgSqlContext sqlContext) { _sqlContext = sqlContext; } diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs index 7297d38..31887c0 100644 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryCliente.cs @@ -8,8 +8,8 @@ namespace ControleInvestimentos.Infrastructure.Data.Repositotrys { public class RepositoryCliente:RepositoryBase, IRepositoryCliente { - public SqlContext _sqlContext; - public RepositoryCliente(SqlContext sqlContext):base(sqlContext) + public PgSqlContext _sqlContext; + public RepositoryCliente(PgSqlContext sqlContext):base(sqlContext) { _sqlContext = sqlContext; } diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs index db52946..8857216 100644 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/Repositotrys/RepositoryTransacao.cs @@ -1,26 +1,37 @@ -using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; +using ControleInvestimentos.Domain.Core.Interfaces.DTO; +using ControleInvestimentos.Domain.Core.Interfaces.Repositorys; using ControleInvestimentos.Domain.Entities; using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace ControleInvestimentos.Infrastructure.Data.Repositotrys { public class RepositoryTransacao : RepositoryBase, IRepositoryTransacao { - public SqlContext _sqlContext; - public RepositoryTransacao(SqlContext sqlContext) : base(sqlContext) + public PgSqlContext _sqlContext; + public RepositoryTransacao(PgSqlContext sqlContext) : base(sqlContext) { _sqlContext = sqlContext; } - public void GetByAcao(int id) + public IEnumerable GetGroupByAcao() { - throw new NotImplementedException(); + var query = from t in _sqlContext.Transacoes + group t by t.Acao into a + select new TransacaoByAcaoDto + { + Acao = a.Key, + PrecoMedio = (a.Sum(x => (x.Tipo == ETipo.Retirada ? 0 : x.Subtotal)) + a.Sum(x => (x.Tipo == ETipo.Retirada ? 0 : x.Taxa))) / a.Sum(x => (x.Tipo == ETipo.Retirada ? 0 : x.Quantidade)), + Quantidade = a.Sum(x => (x.Tipo == ETipo.Retirada ? (x.Quantidade * -1) : x.Quantidade)), + Total = (a.Sum(x => (x.Tipo == ETipo.Retirada ? (x.Quantidade * -1) : x.Quantidade)) > 0 ? a.Sum(x => x.Subtotal) : 0) + }; + return query.ToList(); } - public void GetByCliente(int id) + public IEnumerable GetByCliente(int id) { - throw new NotImplementedException(); + return _sqlContext.Set().Where(x => x.ClienteId == id).ToList(); } } } diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs deleted file mode 100644 index d6431e2..0000000 --- a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Data/SqlContext.cs +++ /dev/null @@ -1,19 +0,0 @@ -using ControleInvestimentos.Domain.Entities; -using Microsoft.EntityFrameworkCore; - - -namespace ControleInvestimentos.Infrastructure.Data -{ - public class SqlContext : DbContext - { - public SqlContext() - { - - } - public SqlContext(DbContextOptions options) : base(options) { } - - public DbSet Clientes { get; set; } - public DbSet Acoes { get; set; } - public DbSet Transacoes { get; set; } - } -} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.Designer.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.Designer.cs new file mode 100644 index 0000000..791d82a --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.Designer.cs @@ -0,0 +1,91 @@ +// +using System; +using ControleInvestimentos.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace ControleInvestimentos.Infrastructure.Migrations +{ + [DbContext(typeof(PgSqlContext))] + [Migration("20220720223726_InitialMigration")] + partial class InitialMigration + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .HasAnnotation("ProductVersion", "3.1.27") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Cliente", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("CPF") + .HasColumnType("text"); + + b.Property("Nome") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Clientes"); + }); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Transacao", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("Acao") + .HasColumnType("text"); + + b.Property("ClienteId") + .HasColumnType("integer"); + + b.Property("Data") + .HasColumnType("timestamp without time zone"); + + b.Property("Preco") + .HasColumnType("numeric"); + + b.Property("Quantidade") + .HasColumnType("integer"); + + b.Property("Subtotal") + .HasColumnType("numeric"); + + b.Property("Taxa") + .HasColumnType("numeric"); + + b.Property("Tipo") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ClienteId"); + + b.ToTable("Transacoes"); + }); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Transacao", b => + { + b.HasOne("ControleInvestimentos.Domain.Entities.Cliente", "Cliente") + .WithMany() + .HasForeignKey("ClienteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.cs new file mode 100644 index 0000000..9e1860b --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/20220720223726_InitialMigration.cs @@ -0,0 +1,66 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace ControleInvestimentos.Infrastructure.Migrations +{ + public partial class InitialMigration : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Clientes", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Nome = table.Column(nullable: true), + CPF = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Clientes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Transacoes", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + ClienteId = table.Column(nullable: false), + Acao = table.Column(nullable: true), + Preco = table.Column(nullable: false), + Quantidade = table.Column(nullable: false), + Subtotal = table.Column(nullable: false), + Taxa = table.Column(nullable: false), + Tipo = table.Column(nullable: false), + Data = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Transacoes", x => x.Id); + table.ForeignKey( + name: "FK_Transacoes_Clientes_ClienteId", + column: x => x.ClienteId, + principalTable: "Clientes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_Transacoes_ClienteId", + table: "Transacoes", + column: "ClienteId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Transacoes"); + + migrationBuilder.DropTable( + name: "Clientes"); + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/PgSqlContextModelSnapshot.cs b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/PgSqlContextModelSnapshot.cs new file mode 100644 index 0000000..e49e060 --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/Migrations/PgSqlContextModelSnapshot.cs @@ -0,0 +1,89 @@ +// +using System; +using ControleInvestimentos.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace ControleInvestimentos.Infrastructure.Migrations +{ + [DbContext(typeof(PgSqlContext))] + partial class PgSqlContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .HasAnnotation("ProductVersion", "3.1.27") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Cliente", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("CPF") + .HasColumnType("text"); + + b.Property("Nome") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Clientes"); + }); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Transacao", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("Acao") + .HasColumnType("text"); + + b.Property("ClienteId") + .HasColumnType("integer"); + + b.Property("Data") + .HasColumnType("timestamp without time zone"); + + b.Property("Preco") + .HasColumnType("numeric"); + + b.Property("Quantidade") + .HasColumnType("integer"); + + b.Property("Subtotal") + .HasColumnType("numeric"); + + b.Property("Taxa") + .HasColumnType("numeric"); + + b.Property("Tipo") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ClienteId"); + + b.ToTable("Transacoes"); + }); + + modelBuilder.Entity("ControleInvestimentos.Domain.Entities.Transacao", b => + { + b.HasOne("ControleInvestimentos.Domain.Entities.Cliente", "Cliente") + .WithMany() + .HasForeignKey("ClienteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.dll b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.dll new file mode 100644 index 0000000000000000000000000000000000000000..597d796e553667141878aeceefd9e2c3337406cc GIT binary patch literal 6144 zcmeHLU1%KF6+SZ~$+A+*`c0gsxFgHPX%r7qCDm~n$69IE@>bT5y=%t_ORU-5tJNs8 zGuxSwV&SBg3vC|KLQF!T;6m$C@KaIaLW3a?N)YrX5Yn^{#n3-0QYiE#ehIYhckayW zt}Urkc#K%kRrjc|jLLnoRw zJl`vTlh{TuX~HGfgL^bafZp(g?ZS|;(kw3a^&qagF+wz2$I9tJ&MO9EQ>l^O=plNl zg-DUo|D24fk3K*I2defmd^9}vG^yu#qPc+9LXW{^XTL)2xI^3?X=}rt_f&@7#hlxvcl=a3iTj7(=aKl{QQOUf=K(m% zGY_fF+nM=98RWi!31P{ICiV1b+_6O2Rsag*H67a`R~W}so^z9~Dr;I3sVdVJ<%G7A z)?v~_!^(cOiTY+c=GHAQ@ zGR^2v(bsoPXcytdl-#;r_-Vvl!*h-Ff#lfd zW#r;dk?uTQ0j`fDE}>q@tc}3V)a;!D-ifSC=jE^4nas}-lTXJ;X zvpm?#RoOiu$EdlNLXJ^$CxslZk2!_bCFKTE=v>`Alysn83iV2QL25%9Ne}^cm2E z+6U^>Ay8dq$u-Ekq_#_HFH*Q>wz){}%51P@m$WocwV#lIe7ytu2>lMUmp%gRquq)@ zgOmjQB29yiQ4VxM$}^yQXo!x|v-CW5(-CS|;f&RfOMLEN&A7=?p|8sO9afvjg7^`l zbjn#Q3(w5kVs?Pi8R0Ei1u<&+%sw^g78h;tG>y4V;JLO)J4?b3tg>(d*Ef=G*|Z#E z%=Ltkb^_tenFRrHcA7HFejv(F*|sPImh1S&xNwAL6=+-pqs!?cC5lC|im~O%MTh;~ zJrbR&6wN?Xp^n)W(11@=Dz;THIasucSasG9R~7RTLCh4Q=aVA8SSoQI5&_QM{33iN zd|#CF_Hxz=>cv^pD~aGJUW&wvuJ^)5`=gdEP7BWml#R-?Gv|6`iPN;Vv_i(`tkR+< z?P^ZO+;YXTrSPP%&2w_**Yq*s84r~!1RE9Xz;u>tiYW0?9$0zHwt{-CD7#DIjv^Tm zYWzTPH50bIMcES7iWo&0g-x-AZP-j(C~J49X&-5V&3pFKL-2$Hi7D_;+1W-QL;4c8iS` zwYeV$jY^4K$4w%#O6Wq%RBV&l zu7}2{W;UwI)6ugX>E_iVXD_t>y5&i&sbd&df`fDnOBzRzkr7V{LxWW8AO#`(HY?Ew z$ZmeA$f^%M(N|!%O&+7e3hgqcQdvIZaKJnsb^hU{L1O?8 zTDz*JK+^Inwz)ioLxJ`wq;Gy?)-^KTqo`3<2Cw;uH-NW7{NY^;a>+!wfBpHt|CW@= z89uc6dv5RJxZ2b{fIn|~l>>!&6X&^861h!Rx4G1)tvToB7jkmR zIY$HqXPF9;@0Arl%=GXF*eR60(d)7G8vs=Zs1f4HYuoY`v@CGH| z!3KiD9T*p6jCgfP`E)^Itw=BNTJA-xew=Yib^WIi%LBGrz6OA^zj_fZ&_396#sg{V z0J~k6f&UhhK}GoEuUw)>@wTeaal|RfDD1m}Z#1r2iROWTu+<1WW15cSTv5gp=a0Ft zI`qX0Y8cdI0q5gA=!1TICn|J%j5{k-s}Io=vX%+d&qvP6=v5op(y?1^ cuWIcXuI>NFeVYM2{6E7phws}A+}8{LCxF4Jp#T5? literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.pdb b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Aplication.pdb new file mode 100644 index 0000000000000000000000000000000000000000..17a823ec9aa65ea896ba87357b0bd51a808be540 GIT binary patch literal 11948 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.dll b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..08bcc1a59d8ec32d726bda6dd8cfb0a2d1cdb05a GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.pdb b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Core.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a47e8a20c2a7d4c7154faf75f06e21b81257abf3 GIT binary patch literal 11472 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Services.pdb b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.Services.pdb new file mode 100644 index 0000000000000000000000000000000000000000..434f8d43cd331d3a762b60a2ed5bf11e1baab2be GIT binary patch literal 11812 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.dll b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Domain.dll new file mode 100644 index 0000000000000000000000000000000000000000..190cac74d0aff729b4cec2675a90763a2600a6ec GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.deps.json b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.deps.json new file mode 100644 index 0000000..d7fa3ed --- /dev/null +++ b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.deps.json @@ -0,0 +1,464 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "ControleInvestimentos.Infrastructure/1.0.0": { + "dependencies": { + "ControleInvestimentos.Aplication": "1.0.0", + "ControleInvestimentos.Domain": "1.0.0", + "ControleInvestimentos.Domain.Core": "1.0.0", + "ControleInvestimentos.Domain.Services": "1.0.0", + "Microsoft.EntityFrameworkCore": "3.1.27", + "Npgsql.EntityFrameworkCore.PostgreSQL": "3.1.18" + }, + "runtime": { + "ControleInvestimentos.Infrastructure.dll": {} + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.Bcl.HashCode/1.1.1": { + "runtime": { + "lib/netcoreapp2.1/Microsoft.Bcl.HashCode.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.56604" + } + } + }, + "Microsoft.EntityFrameworkCore/3.1.27": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Bcl.HashCode": "1.1.1", + "Microsoft.EntityFrameworkCore.Abstractions": "3.1.27", + "Microsoft.EntityFrameworkCore.Analyzers": "3.1.27", + "Microsoft.Extensions.Caching.Memory": "3.1.27", + "Microsoft.Extensions.DependencyInjection": "3.1.27", + "Microsoft.Extensions.Logging": "3.1.27", + "System.Collections.Immutable": "1.7.1", + "System.ComponentModel.Annotations": "4.7.0", + "System.Diagnostics.DiagnosticSource": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31603" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/3.1.27": { + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31603" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/3.1.27": {}, + "Microsoft.EntityFrameworkCore.Relational/3.1.27": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "3.1.27" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31603" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Primitives": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Caching.Memory/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "3.1.27", + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.27", + "Microsoft.Extensions.Logging.Abstractions": "3.1.27", + "Microsoft.Extensions.Options": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Configuration/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Primitives": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Configuration": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.DependencyInjection/3.1.27": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/3.1.27": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Logging/3.1.27": { + "dependencies": { + "Microsoft.Extensions.Configuration.Binder": "3.1.27", + "Microsoft.Extensions.DependencyInjection": "3.1.27", + "Microsoft.Extensions.Logging.Abstractions": "3.1.27", + "Microsoft.Extensions.Options": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/3.1.27": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Options/3.1.27": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.27", + "Microsoft.Extensions.Primitives": "3.1.27" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Microsoft.Extensions.Primitives/3.1.27": { + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "3.1.27.0", + "fileVersion": "3.100.2722.31601" + } + } + }, + "Npgsql/4.1.9": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.6.0" + }, + "runtime": { + "lib/netcoreapp3.0/Npgsql.dll": { + "assemblyVersion": "4.1.9.0", + "fileVersion": "4.1.9.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/3.1.18": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "3.1.27", + "Microsoft.EntityFrameworkCore.Abstractions": "3.1.27", + "Microsoft.EntityFrameworkCore.Relational": "3.1.27", + "Npgsql": "4.1.9" + }, + "runtime": { + "lib/netstandard2.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "3.1.18.0", + "fileVersion": "3.1.18.0" + } + } + }, + "System.Collections.Immutable/1.7.1": { + "runtime": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "assemblyVersion": "1.2.5.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.ComponentModel.Annotations/4.7.0": {}, + "System.Diagnostics.DiagnosticSource/4.7.1": { + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/4.6.0": {}, + "ControleInvestimentos.Aplication/1.0.0": { + "dependencies": { + "ControleInvestimentos.Domain": "1.0.0", + "ControleInvestimentos.Domain.Core": "1.0.0" + }, + "runtime": { + "ControleInvestimentos.Aplication.dll": {} + } + }, + "ControleInvestimentos.Domain/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "3.1.27", + "Microsoft.EntityFrameworkCore.Relational": "3.1.27" + }, + "runtime": { + "ControleInvestimentos.Domain.dll": {} + } + }, + "ControleInvestimentos.Domain.Core/1.0.0": { + "dependencies": { + "ControleInvestimentos.Domain": "1.0.0" + }, + "runtime": { + "ControleInvestimentos.Domain.Core.dll": {} + } + }, + "ControleInvestimentos.Domain.Services/1.0.0": { + "dependencies": { + "ControleInvestimentos.Domain.Core": "1.0.0" + }, + "runtime": { + "ControleInvestimentos.Domain.Services.dll": {} + } + } + } + }, + "libraries": { + "ControleInvestimentos.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.Bcl.HashCode/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MalY0Y/uM/LjXtHfX/26l2VtN4LDNZ2OE3aumNOHDLsT4fNYy2hiHXI4CXCqKpNUNm7iJ2brrc4J89UdaL56FA==", + "path": "microsoft.bcl.hashcode/1.1.1", + "hashPath": "microsoft.bcl.hashcode.1.1.1.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AmTptPyWwGrlnRVmjeCHMDYh5rjwTntYavQa0800eyu/Kk9I2lQemtmAKCq6SfzeMu/zLJ+vXN8y51kthueOjw==", + "path": "microsoft.entityframeworkcore/3.1.27", + "hashPath": "microsoft.entityframeworkcore.3.1.27.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-88+hEZUDvMwyqGIWhiFW6+OO4OrGyJ14/so5iTOIGgm6Jc/U5zIPb5n+z4AmdBWtjNYANEPM0LEU+Tnahw9YXw==", + "path": "microsoft.entityframeworkcore.abstractions/3.1.27", + "hashPath": "microsoft.entityframeworkcore.abstractions.3.1.27.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wWdN6nEPgj1ml5TZTGPwz5pLf7tYu3HtEEo6NNGMrnUmFd6UiVQFllquUMPxTiLEeLPchm5AEraOi/YHlBMOUw==", + "path": "microsoft.entityframeworkcore.analyzers/3.1.27", + "hashPath": "microsoft.entityframeworkcore.analyzers.3.1.27.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AzGFX3T9ACqE5u6LAl8SEA+O7G+s6K0mTwycZUIo2gs4v1rxkulVNaz423fpeLqKDc8fwPcC1EqSNnO+TizOUw==", + "path": "microsoft.entityframeworkcore.relational/3.1.27", + "hashPath": "microsoft.entityframeworkcore.relational.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dU2xLEJ8PlRjZODUvIBNUGWH7jRjzChVYSspZ6KxV1R5Sd6VKvfC16ftkx8IfqlZE9IQPZztMBhW1kfUisjMsw==", + "path": "microsoft.extensions.caching.abstractions/3.1.27", + "hashPath": "microsoft.extensions.caching.abstractions.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6co/tehccoszXEiukN2scIseyoCE8B3WD4DTEA4FsG8u3HQv/2FTtkgXBEssrqdFBJ3xImnFz+HaUZpMHjbjhQ==", + "path": "microsoft.extensions.caching.memory/3.1.27", + "hashPath": "microsoft.extensions.caching.memory.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GD3olUoSWTPwr3dbQCtXj03SMP6ZPhgYMIb8mRDQ5EDyPZXCc8NeFa6u+iEIj1gcotGGTekO02f0tJg9eiN2og==", + "path": "microsoft.extensions.configuration/3.1.27", + "hashPath": "microsoft.extensions.configuration.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0ZEkooUwbOef8NwZfGbNKkxOQuS13LxpZFjYOu4wbm/fMmYIXUSSNgeIjjYP1Wmyt7j8hDSEHrqR/pdeayk2FA==", + "path": "microsoft.extensions.configuration.abstractions/3.1.27", + "hashPath": "microsoft.extensions.configuration.abstractions.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9Mw66pArhCwVSkmsKlg40QZuj62MF+1NQO3Y0YXnZILD61XybcG0miewSv/VVclWaxcQw6MP+Xeqz1l69Zm+gQ==", + "path": "microsoft.extensions.configuration.binder/3.1.27", + "hashPath": "microsoft.extensions.configuration.binder.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+a9sare70XTpsfAFwCJ9Ka5zEZGvbz3bl4ul8KOTT09amXoHRgIRTLeePOXJHu8IK2sksfZHO1PMjEh+ZCG5VQ==", + "path": "microsoft.extensions.dependencyinjection/3.1.27", + "hashPath": "microsoft.extensions.dependencyinjection.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LpfjoAuQFVbSMo5XhpXpEyQ6T0xD3wrcOcQqbyEXETbiMZNTQcbR7qyX5Nzb8cU9GFd1LLzz29kE6JB18MvoSg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/3.1.27", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MQq63N5gACHll+PJ5dkmiiVFToOsqTjLRP97fvyQvNeqx5ICfmcWVy/nBLrL2BKMboF6ci/h6UKFqRtpNVfLfQ==", + "path": "microsoft.extensions.logging/3.1.27", + "hashPath": "microsoft.extensions.logging.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-alKZjFaM7C4DNbuDxtJgubp6Ou/UmXxgEDwE2jWa3gD6reAOiDEg9Y955w9CKozdmVpa2qh32JSvacO+LIpOpw==", + "path": "microsoft.extensions.logging.abstractions/3.1.27", + "hashPath": "microsoft.extensions.logging.abstractions.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Options/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-91kVzn1Q8w+7PJjBE83HDx/sk66fQOrasHSCGbKU+6cv/st2Td6G6lrAgVp+VQPmbB2o5uQTIb2rLAsPODNW6Q==", + "path": "microsoft.extensions.options/3.1.27", + "hashPath": "microsoft.extensions.options.3.1.27.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/3.1.27": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LHJTWE/IEXf56LxWqTGzeC9XFKAAVaVOhdLlo2kgVgE/8GSFrgrE5r9mRDmED27O2CHyqf9YXPX6P6BN+OZWdA==", + "path": "microsoft.extensions.primitives/3.1.27", + "hashPath": "microsoft.extensions.primitives.3.1.27.nupkg.sha512" + }, + "Npgsql/4.1.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Afs+nX8OWZ8PPZRj7vdtjcj0xKQDZbl8b0jXUmDBuKgzEkHatX/fPu1NtgbCin14EkoyMMxKtQnagfoMC58i+Q==", + "path": "npgsql/4.1.9", + "hashPath": "npgsql.4.1.9.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/3.1.18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b/g8tKEMVew45q0g1hZGUQwpzv/UE9NIyU2UNB9Ln8NNhodjhkUrzeMS49lPKFlFRW1aUK5eniKgebki/D3Aag==", + "path": "npgsql.entityframeworkcore.postgresql/3.1.18", + "hashPath": "npgsql.entityframeworkcore.postgresql.3.1.18.nupkg.sha512" + }, + "System.Collections.Immutable/1.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==", + "path": "system.collections.immutable/1.7.1", + "hashPath": "system.collections.immutable.1.7.1.nupkg.sha512" + }, + "System.ComponentModel.Annotations/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==", + "path": "system.componentmodel.annotations/4.7.0", + "hashPath": "system.componentmodel.annotations.4.7.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j81Lovt90PDAq8kLpaJfJKV/rWdWuEk6jfV+MBkee33vzYLEUsy4gXK8laa9V2nZlLM9VM9yA/OOQxxPEJKAMw==", + "path": "system.diagnostics.diagnosticsource/4.7.1", + "hashPath": "system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HxozeSlipUK7dAroTYwIcGwKDeOVpQnJlpVaOkBz7CM4TsE5b/tKlQBZecTjh6FzcSbxndYaxxpsBMz+wMJeyw==", + "path": "system.runtime.compilerservices.unsafe/4.6.0", + "hashPath": "system.runtime.compilerservices.unsafe.4.6.0.nupkg.sha512" + }, + "ControleInvestimentos.Aplication/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ControleInvestimentos.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ControleInvestimentos.Domain.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ControleInvestimentos.Domain.Services/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.dll b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9348a016c69d97d36d1aaeeaf9e3e7b5f0809d7 GIT binary patch literal 22528 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.pdb b/ControleInvestimentos/ControleInvestimentos.Infrastructure/bin/Debug/netcoreapp3.1/ControleInvestimentos.Infrastructure.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5e754d798a48198be0c4f2c550e73d1841abb51c GIT binary patch literal 14076 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 literal 0 HcmV?d00001 diff --git a/ControleInvestimentos/ControleInvestimentos.sln b/ControleInvestimentos/ControleInvestimentos.sln index 4fc4bf8..d281130 100644 --- a/ControleInvestimentos/ControleInvestimentos.sln +++ b/ControleInvestimentos/ControleInvestimentos.sln @@ -11,17 +11,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04-Infrastructure", "04-Inf EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-Domain", "03-Domain", "{690F0C1D-2565-4DFF-8433-ED8EAA56B59B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.API", "ControleInvestimentos.API\ControleInvestimentos.API.csproj", "{CD431824-406E-4C84-8FEC-A5A6B0399F6E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.API", "ControleInvestimentos.API\ControleInvestimentos.API.csproj", "{CD431824-406E-4C84-8FEC-A5A6B0399F6E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Aplication", "ControleInvestimentos.Aplication\ControleInvestimentos.Aplication.csproj", "{E1EA857B-CF1A-465A-89C0-3ED7549A2C18}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.Aplication", "ControleInvestimentos.Aplication\ControleInvestimentos.Aplication.csproj", "{E1EA857B-CF1A-465A-89C0-3ED7549A2C18}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain", "ControleInvestimentos.Domain\ControleInvestimentos.Domain.csproj", "{3632DC7E-7856-48C9-93AC-7580BCCBE3E6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.Domain", "ControleInvestimentos.Domain\ControleInvestimentos.Domain.csproj", "{3632DC7E-7856-48C9-93AC-7580BCCBE3E6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain.Core", "ControleInvestimentos.Domain.Core\ControleInvestimentos.Domain.Core.csproj", "{54D73642-0629-4114-9663-A3BB1980A0F5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.Domain.Core", "ControleInvestimentos.Domain.Core\ControleInvestimentos.Domain.Core.csproj", "{54D73642-0629-4114-9663-A3BB1980A0F5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Domain.Services", "ControleInvestimentos.Domain.Services\ControleInvestimentos.Domain.Services.csproj", "{6E592263-3C19-4097-9322-EB1D3DDE4172}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.Domain.Services", "ControleInvestimentos.Domain.Services\ControleInvestimentos.Domain.Services.csproj", "{6E592263-3C19-4097-9322-EB1D3DDE4172}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControleInvestimentos.Infrastructure", "ControleInvestimentos.Infrastructure\ControleInvestimentos.Infrastructure.csproj", "{10FE7C81-0ADC-4824-946B-0C34F31912AF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControleInvestimentos.Infrastructure", "ControleInvestimentos.Infrastructure\ControleInvestimentos.Infrastructure.csproj", "{10FE7C81-0ADC-4824-946B-0C34F31912AF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution