├── .vs
├── ProjectSettings.json
├── TNF-ZERO
│ └── v15
│ │ └── .suo
├── Tnf.Zero
│ └── v15
│ │ ├── .suo
│ │ └── sqlite3
│ │ └── storage.ide
├── VSWorkspaceState.json
└── config
│ └── applicationhost.config
├── src
├── Tnf.Zero.Web
│ ├── hosting.json
│ ├── Properties
│ │ └── launchSettings.json
│ ├── appsettings.Production.json
│ ├── appsettings.Development.json
│ ├── Program.cs
│ ├── Tnf.Zero.Web.csproj
│ └── Startup.cs
├── Tnf.Zero.Domain
│ ├── Localization
│ │ ├── SourceFiles
│ │ │ ├── TnfZero.json
│ │ │ └── TnfZero-pt-BR.json
│ │ └── TnfSourceFiles
│ │ │ ├── Tnf-en.json
│ │ │ ├── Tnf-pt-BR.json
│ │ │ └── Tnf-es.json
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Tnf.Zero.Domain.csproj
│ └── DomainServiceCollectionExtensions.cs
├── Tnf.Zero.Mapper
│ ├── DomainToDtoProfile.cs
│ ├── MapperServiceCollectionExtensions.cs
│ └── Tnf.Zero.Mapper.csproj
├── Tnf.Zero.Common
│ ├── Tnf.Zero.Common.csproj
│ └── AppConsts.cs
├── Tnf.Zero.EntityFrameworkCore
│ ├── appsettings.json
│ ├── Program.cs
│ ├── ZeroContext.cs
│ ├── EntityFrameworkCoreServiceCollectionExtensions.cs
│ └── Tnf.Zero.EntityFrameworkCore.csproj
├── Tnf.Zero.Dto
│ └── Tnf.Zero.Dto.csproj
└── Tnf.Zero.Application
│ └── Tnf.Zero.Application.csproj
├── NuGet.Config
├── test
├── Tnf.Zero.Web.Tests
│ ├── Tnf.Zero.Web.Tests.csproj
│ └── StartupTest.cs
├── Tnf.Zero.Domain.Tests
│ ├── DomainTestBase.cs
│ └── Tnf.Zero.Domain.Tests.csproj
└── Tnf.Zero.Application.Tests
│ ├── ApplicationTestModule.cs
│ └── Tnf.Zero.Application.Tests.csproj
├── .gitignore
└── Tnf.Zero.sln
/.vs/ProjectSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "CurrentProjectSetting": null
3 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/hosting.json:
--------------------------------------------------------------------------------
1 | {
2 | "urls": "http://*:5051"
3 | }
--------------------------------------------------------------------------------
/.vs/TNF-ZERO/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/totvs/tnf-zero/HEAD/.vs/TNF-ZERO/v15/.suo
--------------------------------------------------------------------------------
/.vs/Tnf.Zero/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/totvs/tnf-zero/HEAD/.vs/Tnf.Zero/v15/.suo
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Localization/SourceFiles/TnfZero.json:
--------------------------------------------------------------------------------
1 | {
2 | "culture": "en",
3 | "texts": {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/.vs/Tnf.Zero/v15/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/totvs/tnf-zero/HEAD/.vs/Tnf.Zero/v15/sqlite3/storage.ide
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Localization/SourceFiles/TnfZero-pt-BR.json:
--------------------------------------------------------------------------------
1 | {
2 | "culture": "pt-BR",
3 | "texts": {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Mapper/DomainToDtoProfile.cs:
--------------------------------------------------------------------------------
1 | using AutoMapper;
2 |
3 | namespace Tnf.Zero.Mapper
4 | {
5 | public class DomainToDtoProfile : Profile
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Common/Tnf.Zero.Common.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.EntityFrameworkCore/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "TnfZero": "Server=(localdb)\\MSSQLLocalDB;Database=TnfZero;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Common/AppConsts.cs:
--------------------------------------------------------------------------------
1 | namespace Tnf.Zero.Common
2 | {
3 | public class AppConsts
4 | {
5 | public const string LocalizationSourceName = "TnfZero";
6 |
7 | public const string ConnectionStringName = "TnfZero";
8 | }
9 | }
--------------------------------------------------------------------------------
/.vs/VSWorkspaceState.json:
--------------------------------------------------------------------------------
1 | {
2 | "ExpandedNodes": [
3 | "",
4 | "\\src",
5 | "\\src\\Tnf.Zero.Domain",
6 | "\\src\\Tnf.Zero.Domain\\Localization"
7 | ],
8 | "SelectedNode": "\\Tnf.Zero.sln",
9 | "PreviewInSolutionExplorer": false
10 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Dto/Tnf.Zero.Dto.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/NuGet.Config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.EntityFrameworkCore/Program.cs:
--------------------------------------------------------------------------------
1 | namespace Tnf.Zero.EntityFrameworkCore
2 | {
3 | /* WORKAROUND
4 | * This is needed since .NET CLI does not support class library projects!
5 | * See https://docs.efproject.net/en/latest/cli/dotnet.html#preview-1-known-issues
6 | */
7 | public class Program
8 | {
9 | public static void Main()
10 | {
11 |
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Application/Tnf.Zero.Application.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Mapper/MapperServiceCollectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 |
3 | namespace Tnf.Zero.Mapper
4 | {
5 | public static class MapperServiceCollectionExtensions
6 | {
7 | public static IServiceCollection AddZeroMapper(this IServiceCollection services)
8 | {
9 | services.AddTnfAutoMapper(config =>
10 | {
11 | config.AddProfile(new DomainToDtoProfile());
12 | });
13 |
14 | return services;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Mapper/Tnf.Zero.Mapper.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.EntityFrameworkCore/ZeroContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using Tnf.EntityFrameworkCore;
3 | using Tnf.Runtime.Session;
4 |
5 | namespace Tnf.Zero.EntityFrameworkCore
6 | {
7 | public class ZeroContext : TnfDbContext
8 | {
9 | public ZeroContext(DbContextOptions options, ITnfSession session)
10 | : base(options, session)
11 | {
12 | }
13 |
14 | protected override void OnModelCreating(ModelBuilder modelBuilder)
15 | {
16 | base.OnModelCreating(modelBuilder);
17 |
18 |
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Kestrel Development": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development",
8 | "Serilog:MinimumLevel": "Debug"
9 | },
10 | "applicationUrl": "http://localhost:5000/"
11 | },
12 | "Kestrel Production": {
13 | "commandName": "Project",
14 | "launchBrowser": true,
15 | "environmentVariables": {
16 | "ASPNETCORE_ENVIRONMENT": "Production"
17 | },
18 | "applicationUrl": "http://localhost:5000/"
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Setting ComVisible to false makes the types in this assembly not visible
6 | // to COM components. If you need to access a type in this assembly from
7 | // COM, set the ComVisible attribute to true on that type.
8 | [assembly: ComVisible(false)]
9 |
10 | [assembly: InternalsVisibleTo("Tnf.Zero.Domain.Tests")]
11 | [assembly: InternalsVisibleTo("Tnf.Zero.Web.Tests")]
12 | [assembly: InternalsVisibleTo("Tnf.Zero.Application.Tests")]
13 |
14 | // The following GUID is for the ID of the typelib if this project is exposed to COM
15 | [assembly: Guid("3bc7b394-4016-45df-926d-c8e25303a477")]
16 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Web.Tests/Tnf.Zero.Web.Tests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Domain.Tests/DomainTestBase.cs:
--------------------------------------------------------------------------------
1 | using Tnf.EntityFrameworkCore.TestBase;
2 | using Microsoft.Extensions.DependencyInjection;
3 | using Tnf.Zero.Mapper;
4 | using System;
5 | using Tnf.Zero.EntityFrameworkCore;
6 |
7 | namespace Tnf.Zero.Domain.Tests.App
8 | {
9 | public class DomainTestBase : TnfEfCoreIntegratedTestBase
10 | {
11 | protected override void PreInitialize(IServiceCollection services)
12 | {
13 | services
14 | .AddZeroDomain()
15 | .AddZeroMapper();
16 |
17 | services
18 | .AddTnfEfCoreSqliteInMemory()
19 | .RegisterDbContextToSqliteInMemory();
20 | }
21 |
22 | protected override void PostInitialize(IServiceProvider provider)
23 | {
24 | provider.ConfigureTnf().UseZeroLocalization();
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Application.Tests/ApplicationTestModule.cs:
--------------------------------------------------------------------------------
1 | using Tnf.EntityFrameworkCore.TestBase;
2 | using Microsoft.Extensions.DependencyInjection;
3 | using Tnf.Zero.Domain;
4 | using Tnf.Zero.Mapper;
5 | using System;
6 | using Tnf.Zero.EntityFrameworkCore;
7 |
8 | namespace Tnf.Zero.Application.Tests.App
9 | {
10 | public class ApplicationTestBase : TnfEfCoreIntegratedTestBase
11 | {
12 | protected override void PreInitialize(IServiceCollection services)
13 | {
14 | services
15 | .AddZeroDomain()
16 | .AddZeroMapper();
17 |
18 | services
19 | .AddTnfEfCoreSqliteInMemory()
20 | .RegisterDbContextToSqliteInMemory();
21 | }
22 |
23 | protected override void PostInitialize(IServiceProvider provider)
24 | {
25 | provider.ConfigureTnf().UseZeroLocalization();
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.EntityFrameworkCore/EntityFrameworkCoreServiceCollectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 | using Microsoft.Extensions.DependencyInjection;
3 |
4 | namespace Tnf.Zero.EntityFrameworkCore
5 | {
6 | public static class EntityFrameworkCoreServiceCollectionExtensions
7 | {
8 | public static IServiceCollection AddZeroEntityFrameworkCore(this IServiceCollection services)
9 | {
10 | services
11 | .AddTnfEntityFrameworkCore()
12 | .AddTnfDbContext(config =>
13 | {
14 | if (config.ExistingConnection != null)
15 | config.DbContextOptions.UseSqlServer(config.ExistingConnection);
16 | else
17 | config.DbContextOptions.UseSqlServer(config.ConnectionString);
18 | });
19 |
20 | return services;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Tnf.Zero.Domain.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Application.Tests/Tnf.Zero.Application.Tests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.EntityFrameworkCore/Tnf.Zero.EntityFrameworkCore.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 | PreserveNewest
10 |
11 |
12 |
13 |
14 |
15 |
16 | all
17 | runtime; build; native; contentfiles; analyzers
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Domain.Tests/Tnf.Zero.Domain.Tests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/appsettings.Production.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "TnfZero": "Server=(localdb)\\mssqllocaldb;Database=BasicCrudDb;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Serilog": {
6 | "MinimumLevel": {
7 | "Default": "Information",
8 | "Override": {
9 | "Microsoft": "Information",
10 | "System": "Error"
11 | }
12 | },
13 | "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
14 | "Properties": {
15 | "Application": "Tnf Zero"
16 | },
17 | "WriteTo": [
18 | {
19 | "Name": "Async",
20 | "Args": {
21 | "configure": [
22 | {
23 | "Name": "File",
24 | "Args": {
25 | "path": "logs/log.txt",
26 | "rollingInterval": "Day",
27 | "buffered": true,
28 | "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u4}] {SourceContext} {Message}{NewLine}{Exception}"
29 | }
30 | }
31 | ]
32 | }
33 | }
34 | ]
35 | }
36 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Localization/TnfSourceFiles/Tnf-en.json:
--------------------------------------------------------------------------------
1 | {
2 | "culture": "en",
3 | "texts": {
4 | "ApplicationServiceOnInvalidIdError": "Invalid Id. Name of parameter: '{0}'",
5 | "ApplicationServiceOnInvalidDtoError": "Invalid Dto. Name of parameter: '{0}'",
6 |
7 | "AspNetCoreOnGetAllError": "Error fetching '{0}'",
8 | "AspNetCoreOnGetError": "Error fetching '{0}'",
9 | "AspNetCoreOnPostError": "Error saving '{0}'",
10 | "AspNetCoreOnPutError": "Error updating '{0}'",
11 | "AspNetCoreOnDeleteError": "Error deleting '{0}'",
12 | "AspNetCoreOnPatchError": "Error on patch of '{0}'",
13 | "AspNetCoreSecurityOnAllOfThesePermissionsMustBeGrantedError": "All of these permissions must be granted",
14 |
15 | "EfCoreOnSaveChanges": "Error completing operation",
16 |
17 | "RacIntegrationOnNotAuthorizeError": "This request is not authorized",
18 | "RacIntegrationOnError": "Error in integration with Rac",
19 | "AuthorityEndpointIsNotAvailable": "Rac Authority endpoint is not available",
20 | "RequestAccessTokenResultError": "Request for get access token result with error"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Localization/TnfSourceFiles/Tnf-pt-BR.json:
--------------------------------------------------------------------------------
1 | {
2 | "culture": "pt-BR",
3 | "texts": {
4 | "ApplicationServiceOnInvalidIdError": "Id Inválido. Nome do parâmetro: '{0}'",
5 | "ApplicationServiceOnInvalidDtoError": "Dto Inválido. Nome do parâmetro: '{0}'",
6 |
7 | "AspNetCoreOnGetAllError": "Erro ao buscar '{0}'",
8 | "AspNetCoreOnGetError": "Erro ao buscar '{0}'",
9 | "AspNetCoreOnPostError": "Erro ao salvar '{0}'",
10 | "AspNetCoreOnPutError": "Erro ao atualizar '{0}'",
11 | "AspNetCoreOnDeleteError": "Erro ao deletar '{0}'",
12 | "AspNetCoreOnPatchError": "Erro ao atualizar '{0}'",
13 | "AspNetCoreSecurityOnAllOfThesePermissionsMustBeGrantedError": "Todas as permissões devem ser concedidas",
14 |
15 | "EfCoreOnSaveChanges": "Erro ao completar operação",
16 |
17 | "RacIntegrationOnNotAuthorizeError": "Request não está autorizado",
18 | "RacIntegrationOnError": "Erro com a integração com o Rac",
19 | "AuthorityEndpointIsNotAvailable": "Url de autorização do Rac está indisponível",
20 | "RequestAccessTokenResultError": "Erro ao solicitar token de acesso ao Rac"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/Localization/TnfSourceFiles/Tnf-es.json:
--------------------------------------------------------------------------------
1 | {
2 | "culture": "es",
3 | "texts": {
4 | "ApplicationServiceOnInvalidIdError": "Identificación invalida. Nombre del parámetro: '{0}'",
5 | "ApplicationServiceOnInvalidDtoError": "Dto. Inválido Nombre del parámetro: '{0}'",
6 |
7 | "AspNetCoreOnGetAllError": "Error al buscar '{0}'",
8 | "AspNetCoreOnGetError": "Error al buscar '{0}'",
9 | "AspNetCoreOnPostError": "Error al guardar '{0}'",
10 | "AspNetCoreOnPutError": "Error al actualizar '{0}'",
11 | "AspNetCoreOnDeleteError": "Error al eliminar '{0}'",
12 | "AspNetCoreOnPatchError": "Error en el parche de '{0}'",
13 | "AspNetCoreSecurityOnAllOfThesePermissionsMustBeGrantedError": "Todos estos permisos deben ser otorgados",
14 |
15 | "EfCoreOnSaveChanges": "Error al completar la operación",
16 |
17 | "RacIntegrationOnNotAuthorizeError": "Esta solicitud no está autorizada",
18 | "RacIntegrationOnError": "Error en la integración con Rac",
19 | "AuthorityEndpointIsNotAvailable": "El punto final de la autoridad Rac no está disponible",
20 | "RequestAccessTokenResultError": "Solicitud para obtener el resultado del token de acceso con error"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/test/Tnf.Zero.Web.Tests/StartupTest.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Builder;
2 | using Microsoft.AspNetCore.Hosting;
3 | using Microsoft.Extensions.DependencyInjection;
4 | using Microsoft.Extensions.Logging;
5 | using System;
6 | using Tnf.Zero.Domain;
7 | using Tnf.Zero.EntityFrameworkCore;
8 | using Tnf.Zero.Mapper;
9 |
10 | namespace Tnf.Zero.Web.Tests.App
11 | {
12 | public class StartupTest
13 | {
14 | public IServiceProvider ConfigureServices(IServiceCollection services)
15 | {
16 | services.AddTnfAspNetCoreSetupTest();
17 |
18 | services
19 | .AddZeroMapper()
20 | .AddZeroDomain();
21 |
22 | services
23 | .AddTnfEfCoreSqliteInMemory()
24 | .RegisterDbContextToSqliteInMemory();
25 |
26 | return services.BuildServiceProvider();
27 | }
28 |
29 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
30 | {
31 | app.UseTnfAspNetCoreSetupTest(options =>
32 | {
33 | // Configure localization
34 | options.UseZeroLocalization();
35 | });
36 |
37 | app.UseMvcWithDefaultRoute();
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "TnfZero": "Server=(localdb)\\mssqllocaldb;Database=BasicCrudDb;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Serilog": {
6 | "MinimumLevel": {
7 | "Default": "Debug",
8 | "Override": {
9 | "Microsoft": "Debug",
10 | "System": "Error"
11 | }
12 | },
13 | "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
14 | "Properties": {
15 | "Application": "Tnf Zero"
16 | },
17 | "WriteTo": [
18 | {
19 | "Name": "Async",
20 | "Args": {
21 | "configure": [
22 | {
23 | "Name": "ColoredConsole",
24 | "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u4}] {SourceContext} {Message}{NewLine}{Exception}"
25 | },
26 | {
27 | "Name": "File",
28 | "Args": {
29 | "path": "logs/log.txt",
30 | "rollingInterval": "Day",
31 | "buffered": true,
32 | "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u4}] {SourceContext} {Message}{NewLine}{Exception}"
33 | }
34 | }
35 | ]
36 | }
37 | }
38 | ]
39 | }
40 | }
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Builder;
3 | using Microsoft.AspNetCore.Hosting;
4 | using Microsoft.Extensions.Configuration;
5 | using Serilog;
6 | using System;
7 | using System.IO;
8 |
9 | namespace Tnf.Zero.Web
10 | {
11 | public class Program
12 | {
13 | public static void Main(string[] args)
14 | {
15 | Console.Title = typeof(Program).Namespace;
16 |
17 | var hostConfig = new ConfigurationBuilder()
18 | .SetBasePath(Directory.GetCurrentDirectory())
19 | .AddJsonFile("hosting.json")
20 | .Build();
21 |
22 | var host = WebHost.CreateDefaultBuilder(args)
23 | .UseConfiguration(hostConfig)
24 | .ConfigureAppConfiguration((hostingContext, config) =>
25 | {
26 | var env = hostingContext.HostingEnvironment;
27 | config.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: false, reloadOnChange: true);
28 |
29 | config.AddEnvironmentVariables();
30 | config.AddCommandLine(args);
31 | })
32 | .ConfigureLogging((hostingContext, logging) =>
33 | {
34 | Log.Logger = new LoggerConfiguration()
35 | .Enrich.WithMachineName()
36 | .ReadFrom.Configuration(hostingContext.Configuration)
37 | .CreateLogger();
38 | })
39 | .UseStartup()
40 | .UseSerilog()
41 | .UseKestrel()
42 | .UseContentRoot(Directory.GetCurrentDirectory())
43 | .UseIISIntegration()
44 | .UseSetting("detailedErrors", "true")
45 | .Build();
46 |
47 | host.Run();
48 |
49 | Log.CloseAndFlush();
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Domain/DomainServiceCollectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using Tnf.Zero.Common;
2 | using Tnf.Localization;
3 | using Tnf.Localization.Dictionaries;
4 | using Tnf.Configuration;
5 | using Microsoft.Extensions.DependencyInjection;
6 |
7 | namespace Tnf.Zero.Domain
8 | {
9 | public static class DomainServiceCollectionExtensions
10 | {
11 | public static IServiceCollection AddZeroDomain(this IServiceCollection services)
12 | {
13 | // Adicona as convenções default de injeção de dependencia do Tnf
14 | services.AddTnfDefaultConventionalRegistrations();
15 |
16 | services.AddTnfDomain();
17 |
18 | return services;
19 | }
20 |
21 | public static ITnfConfiguration UseZeroLocalization(this ITnfConfiguration configuration)
22 | {
23 | configuration.Localization.Languages.Add(new LanguageInfo("en", "English"));
24 | configuration.Localization.Languages.Add(new LanguageInfo("pt-BR", "Português", isDefault: true));
25 |
26 | // Set the localization file for the solution errors
27 | configuration.Localization.Sources.Add(
28 | new DictionaryBasedLocalizationSource(AppConsts.LocalizationSourceName,
29 | new JsonEmbeddedFileLocalizationDictionaryProvider(
30 | typeof(DomainServiceCollectionExtensions).Assembly,
31 | "Tnf.Zero.Domain.Localization.SourceFiles"
32 | )
33 | )
34 | );
35 |
36 | // Set the localization file for the Tnf errors
37 | configuration.Localization.ReplaceTnfLocalizationSource(
38 | new JsonEmbeddedFileLocalizationDictionaryProvider(
39 | typeof(DomainServiceCollectionExtensions).Assembly,
40 | "Tnf.Zero.Domain.Localization.TnfSourceFiles"
41 | )
42 | );
43 |
44 | return configuration;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/Tnf.Zero.Web.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.1
5 |
6 |
7 |
8 | bin\Debug\netcoreapp2.0\Tnf.Zero.Web.xml
9 | false
10 | NU1605
11 | 1701;1702;1705;1591
12 |
13 |
14 |
15 | bin\Release\netcoreapp2.0\Tnf.Zero.Web.xml
16 | 1701;1702;1705;1591
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | Always
39 |
40 |
41 | Always
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/Tnf.Zero.Web/Startup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Builder;
2 | using Microsoft.AspNetCore.Hosting;
3 | using Microsoft.Extensions.Configuration;
4 | using Microsoft.Extensions.DependencyInjection;
5 | using Microsoft.Extensions.Logging;
6 | using Swashbuckle.AspNetCore.Swagger;
7 | using System;
8 | using System.IO;
9 | using System.Threading.Tasks;
10 | using Tnf.Configuration;
11 | using Tnf.Zero.Common;
12 | using Tnf.Zero.Domain;
13 | using Tnf.Zero.EntityFrameworkCore;
14 | using Tnf.Zero.Mapper;
15 |
16 | namespace Tnf.Zero.Web
17 | {
18 | public class Startup
19 | {
20 | public IServiceProvider ConfigureServices(IServiceCollection services)
21 | {
22 | services
23 | .AddCorsAll("AllowAll")
24 | .AddZeroDomain()
25 | .AddZeroMapper()
26 | .AddZeroEntityFrameworkCore()
27 | .AddTnfAspNetCore();
28 |
29 | services
30 | .AddResponseCompression()
31 | .AddSwaggerGen(c =>
32 | {
33 | c.SwaggerDoc("v1", new Info { Title = "Tnf Zero API", Version = "v1" });
34 | c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "Tnf.Zero.Web.xml"));
35 | });
36 |
37 | return services.BuildServiceProvider();
38 | }
39 |
40 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
41 | {
42 | app.UseCors("AllowAll");
43 |
44 | app.UseTnfAspNetCore(options =>
45 | {
46 | options.UseZeroLocalization();
47 |
48 | // Set connection string
49 | var configuration = options.Settings.FromJsonFiles(env.ContentRootPath, $"appsettings.json");
50 |
51 | options.DefaultPageSize(configuration);
52 |
53 | options.DefaultNameOrConnectionString = configuration.GetConnectionString(AppConsts.ConnectionStringName);
54 | });
55 |
56 | if (env.IsDevelopment())
57 | app.UseDeveloperExceptionPage();
58 |
59 | app.UseSwagger();
60 | app.UseSwaggerUI(c =>
61 | {
62 | c.SwaggerEndpoint("/swagger/v1/swagger.json", "Tnf Zero API v1");
63 | });
64 |
65 | app.UseMvcWithDefaultRoute();
66 | app.UseResponseCompression();
67 |
68 | app.Run(context =>
69 | {
70 | context.Response.Redirect("/swagger");
71 | return Task.CompletedTask;
72 | });
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]eleases/
17 | x64/
18 | x86/
19 | bld/
20 | [Bb]in/
21 | [Oo]bj/
22 | [Ll]og/
23 |
24 | # Visual Studio 2015 cache/options directory
25 | .vs/
26 | # Uncomment if you have tasks that create the project's static files in wwwroot
27 | #wwwroot/
28 |
29 | # MSTest test Results
30 | [Tt]est[Rr]esult*/
31 | [Bb]uild[Ll]og.*
32 |
33 | # NUNIT
34 | *.VisualState.xml
35 | TestResult.xml
36 |
37 | # Build Results of an ATL Project
38 | [Dd]ebugPS/
39 | [Rr]eleasePS/
40 | dlldata.c
41 |
42 | # DNX
43 | project.lock.json
44 | artifacts/
45 |
46 | *_i.c
47 | *_p.c
48 | *_i.h
49 | *.ilk
50 | *.meta
51 | *.obj
52 | *.pch
53 | *.pdb
54 | *.pgc
55 | *.pgd
56 | *.rsp
57 | *.sbr
58 | *.tlb
59 | *.tli
60 | *.tlh
61 | *.tmp
62 | *.tmp_proj
63 | *.log
64 | *.vspscc
65 | *.vssscc
66 | .builds
67 | *.pidb
68 | *.svclog
69 | *.scc
70 |
71 | # Chutzpah Test files
72 | _Chutzpah*
73 |
74 | # Visual C++ cache files
75 | ipch/
76 | *.aps
77 | *.ncb
78 | *.opendb
79 | *.opensdf
80 | *.sdf
81 | *.cachefile
82 | *.VC.db
83 | *.VC.VC.opendb
84 |
85 | # Visual Studio profiler
86 | *.psess
87 | *.vsp
88 | *.vspx
89 | *.sap
90 |
91 | # TFS 2012 Local Workspace
92 | $tf/
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 | *.DotSettings.user
101 |
102 | # JustCode is a .NET coding add-in
103 | .JustCode
104 |
105 | # TeamCity is a build add-in
106 | _TeamCity*
107 |
108 | # DotCover is a Code Coverage Tool
109 | *.dotCover
110 |
111 | # NCrunch
112 | _NCrunch_*
113 | .*crunch*.local.xml
114 | nCrunchTemp_*
115 |
116 | # MightyMoose
117 | *.mm.*
118 | AutoTest.Net/
119 |
120 | # Web workbench (sass)
121 | .sass-cache/
122 |
123 | # Installshield output folder
124 | [Ee]xpress/
125 |
126 | # DocProject is a documentation generator add-in
127 | DocProject/buildhelp/
128 | DocProject/Help/*.HxT
129 | DocProject/Help/*.HxC
130 | DocProject/Help/*.hhc
131 | DocProject/Help/*.hhk
132 | DocProject/Help/*.hhp
133 | DocProject/Help/Html2
134 | DocProject/Help/html
135 |
136 | # Click-Once directory
137 | publish/
138 |
139 | # Publish Web Output
140 | *.[Pp]ublish.xml
141 | *.azurePubxml
142 | # TODO: Comment the next line if you want to checkin your web deploy settings
143 | # but database connection strings (with potential passwords) will be unencrypted
144 | *.pubxml
145 | *.publishproj
146 |
147 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
148 | # checkin your Azure Web App publish settings, but sensitive information contained
149 | # in these scripts will be unencrypted
150 | PublishScripts/
151 |
152 | # NuGet Packages
153 | *.nupkg
154 | # The packages folder can be ignored because of Package Restore
155 | **/packages/*
156 | # except build/, which is used as an MSBuild target.
157 | !**/packages/build/
158 | # Uncomment if necessary however generally it will be regenerated when needed
159 | #!**/packages/repositories.config
160 | # NuGet v3's project.json files produces more ignoreable files
161 | *.nuget.props
162 | *.nuget.targets
163 |
164 | # Microsoft Azure Build Output
165 | csx/
166 | *.build.csdef
167 |
168 | # Microsoft Azure Emulator
169 | ecf/
170 | rcf/
171 |
172 | # Windows Store app package directories and files
173 | AppPackages/
174 | BundleArtifacts/
175 | Package.StoreAssociation.xml
176 | _pkginfo.txt
177 |
178 | # Visual Studio cache files
179 | # files ending in .cache can be ignored
180 | *.[Cc]ache
181 | # but keep track of directories ending in .cache
182 | !*.[Cc]ache/
183 |
184 | # Others
185 | ClientBin/
186 | ~$*
187 | *~
188 | *.dbmdl
189 | *.dbproj.schemaview
190 | *.pfx
191 | *.publishsettings
192 | node_modules/
193 | orleans.codegen.cs
194 |
195 | # Since there are multiple workflows, uncomment next line to ignore bower_components
196 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
197 | #bower_components/
198 |
199 | # RIA/Silverlight projects
200 | Generated_Code/
201 |
202 | # Backup & report files from converting an old project file
203 | # to a newer Visual Studio version. Backup files are not needed,
204 | # because we have git ;-)
205 | _UpgradeReport_Files/
206 | Backup*/
207 | UpgradeLog*.XML
208 | UpgradeLog*.htm
209 |
210 | # SQL Server files
211 | *.mdf
212 | *.ldf
213 |
214 | # Business Intelligence projects
215 | *.rdl.data
216 | *.bim.layout
217 | *.bim_*.settings
218 |
219 | # Microsoft Fakes
220 | FakesAssemblies/
221 |
222 | # GhostDoc plugin setting file
223 | *.GhostDoc.xml
224 |
225 | # Node.js Tools for Visual Studio
226 | .ntvs_analysis.dat
227 |
228 | # Visual Studio 6 build log
229 | *.plg
230 |
231 | # Visual Studio 6 workspace options file
232 | *.opt
233 |
234 | # Visual Studio LightSwitch build output
235 | **/*.HTMLClient/GeneratedArtifacts
236 | **/*.DesktopClient/GeneratedArtifacts
237 | **/*.DesktopClient/ModelManifest.xml
238 | **/*.Server/GeneratedArtifacts
239 | **/*.Server/ModelManifest.xml
240 | _Pvt_Extensions
241 |
242 | # Paket dependency manager
243 | .paket/paket.exe
244 | paket-files/
245 |
246 | # FAKE - F# Make
247 | .fake/
248 |
249 | # JetBrains Rider
250 | .idea/
251 | *.sln.iml
252 |
--------------------------------------------------------------------------------
/Tnf.Zero.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.26730.3
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{0529C88F-32BD-4094-97C4-834B074BE0E4}"
7 | EndProject
8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5F4DBC7A-0474-4B2B-965A-6CDDF2E7B201}"
9 | EndProject
10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Application", "src\Tnf.Zero.Application\Tnf.Zero.Application.csproj", "{15F7AB89-3263-4446-B69C-34E2EEFC04F3}"
11 | EndProject
12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Common", "src\Tnf.Zero.Common\Tnf.Zero.Common.csproj", "{13C4F063-D045-4484-A2D8-4CA211839760}"
13 | EndProject
14 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Dto", "src\Tnf.Zero.Dto\Tnf.Zero.Dto.csproj", "{18279E17-B251-425F-A086-6B9EF1D4DF4F}"
15 | EndProject
16 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.EntityFrameworkCore", "src\Tnf.Zero.EntityFrameworkCore\Tnf.Zero.EntityFrameworkCore.csproj", "{AC92DBCD-DE68-4FC3-9584-6BF52519D3D0}"
17 | EndProject
18 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Mapper", "src\Tnf.Zero.Mapper\Tnf.Zero.Mapper.csproj", "{DC79CD82-724A-4ACD-B9C0-91BA8F72DE38}"
19 | EndProject
20 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Web", "src\Tnf.Zero.Web\Tnf.Zero.Web.csproj", "{D32F3FC5-1DB9-4199-B3A2-A56764E9D708}"
21 | EndProject
22 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Domain", "src\Tnf.Zero.Domain\Tnf.Zero.Domain.csproj", "{F8310DAC-FF4F-4E87-B927-79F1DE31223F}"
23 | EndProject
24 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Domain.Tests", "test\Tnf.Zero.Domain.Tests\Tnf.Zero.Domain.Tests.csproj", "{373A3BE0-B38A-4982-AF8F-927597C0D7BE}"
25 | EndProject
26 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Application.Tests", "test\Tnf.Zero.Application.Tests\Tnf.Zero.Application.Tests.csproj", "{68C542BE-B5D4-46E6-86E9-60746D25A90D}"
27 | EndProject
28 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnf.Zero.Web.Tests", "test\Tnf.Zero.Web.Tests\Tnf.Zero.Web.Tests.csproj", "{F62EC48F-6CE7-4250-8DA0-3D7F4250EE48}"
29 | EndProject
30 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0 - API", "0 - API", "{255FCD12-F3B7-4CC7-B774-D7F694006881}"
31 | EndProject
32 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1 - Application", "1 - Application", "{4155E1B8-3A3E-4ECA-91B4-D5516B22AEC4}"
33 | EndProject
34 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2 - Domain", "2 - Domain", "{5C08AF44-39DF-4C3E-90F8-90ECFA83E490}"
35 | EndProject
36 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3 - Data", "3 - Data", "{0E968CFA-C519-4FA9-8460-0D4080444FDB}"
37 | EndProject
38 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "4 - CrossCutting", "4 - CrossCutting", "{F20F05BA-8B32-4BA4-B04F-C263D0D8B3D9}"
39 | EndProject
40 | Global
41 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
42 | Debug|Any CPU = Debug|Any CPU
43 | Release|Any CPU = Release|Any CPU
44 | EndGlobalSection
45 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
46 | {15F7AB89-3263-4446-B69C-34E2EEFC04F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 | {15F7AB89-3263-4446-B69C-34E2EEFC04F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 | {15F7AB89-3263-4446-B69C-34E2EEFC04F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
49 | {15F7AB89-3263-4446-B69C-34E2EEFC04F3}.Release|Any CPU.Build.0 = Release|Any CPU
50 | {13C4F063-D045-4484-A2D8-4CA211839760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
51 | {13C4F063-D045-4484-A2D8-4CA211839760}.Debug|Any CPU.Build.0 = Debug|Any CPU
52 | {13C4F063-D045-4484-A2D8-4CA211839760}.Release|Any CPU.ActiveCfg = Release|Any CPU
53 | {13C4F063-D045-4484-A2D8-4CA211839760}.Release|Any CPU.Build.0 = Release|Any CPU
54 | {18279E17-B251-425F-A086-6B9EF1D4DF4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
55 | {18279E17-B251-425F-A086-6B9EF1D4DF4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
56 | {18279E17-B251-425F-A086-6B9EF1D4DF4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
57 | {18279E17-B251-425F-A086-6B9EF1D4DF4F}.Release|Any CPU.Build.0 = Release|Any CPU
58 | {AC92DBCD-DE68-4FC3-9584-6BF52519D3D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
59 | {AC92DBCD-DE68-4FC3-9584-6BF52519D3D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
60 | {AC92DBCD-DE68-4FC3-9584-6BF52519D3D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
61 | {AC92DBCD-DE68-4FC3-9584-6BF52519D3D0}.Release|Any CPU.Build.0 = Release|Any CPU
62 | {DC79CD82-724A-4ACD-B9C0-91BA8F72DE38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63 | {DC79CD82-724A-4ACD-B9C0-91BA8F72DE38}.Debug|Any CPU.Build.0 = Debug|Any CPU
64 | {DC79CD82-724A-4ACD-B9C0-91BA8F72DE38}.Release|Any CPU.ActiveCfg = Release|Any CPU
65 | {DC79CD82-724A-4ACD-B9C0-91BA8F72DE38}.Release|Any CPU.Build.0 = Release|Any CPU
66 | {D32F3FC5-1DB9-4199-B3A2-A56764E9D708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
67 | {D32F3FC5-1DB9-4199-B3A2-A56764E9D708}.Debug|Any CPU.Build.0 = Debug|Any CPU
68 | {D32F3FC5-1DB9-4199-B3A2-A56764E9D708}.Release|Any CPU.ActiveCfg = Release|Any CPU
69 | {D32F3FC5-1DB9-4199-B3A2-A56764E9D708}.Release|Any CPU.Build.0 = Release|Any CPU
70 | {F8310DAC-FF4F-4E87-B927-79F1DE31223F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
71 | {F8310DAC-FF4F-4E87-B927-79F1DE31223F}.Debug|Any CPU.Build.0 = Debug|Any CPU
72 | {F8310DAC-FF4F-4E87-B927-79F1DE31223F}.Release|Any CPU.ActiveCfg = Release|Any CPU
73 | {F8310DAC-FF4F-4E87-B927-79F1DE31223F}.Release|Any CPU.Build.0 = Release|Any CPU
74 | {373A3BE0-B38A-4982-AF8F-927597C0D7BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75 | {373A3BE0-B38A-4982-AF8F-927597C0D7BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
76 | {373A3BE0-B38A-4982-AF8F-927597C0D7BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
77 | {373A3BE0-B38A-4982-AF8F-927597C0D7BE}.Release|Any CPU.Build.0 = Release|Any CPU
78 | {68C542BE-B5D4-46E6-86E9-60746D25A90D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79 | {68C542BE-B5D4-46E6-86E9-60746D25A90D}.Debug|Any CPU.Build.0 = Debug|Any CPU
80 | {68C542BE-B5D4-46E6-86E9-60746D25A90D}.Release|Any CPU.ActiveCfg = Release|Any CPU
81 | {68C542BE-B5D4-46E6-86E9-60746D25A90D}.Release|Any CPU.Build.0 = Release|Any CPU
82 | {F62EC48F-6CE7-4250-8DA0-3D7F4250EE48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
83 | {F62EC48F-6CE7-4250-8DA0-3D7F4250EE48}.Debug|Any CPU.Build.0 = Debug|Any CPU
84 | {F62EC48F-6CE7-4250-8DA0-3D7F4250EE48}.Release|Any CPU.ActiveCfg = Release|Any CPU
85 | {F62EC48F-6CE7-4250-8DA0-3D7F4250EE48}.Release|Any CPU.Build.0 = Release|Any CPU
86 | EndGlobalSection
87 | GlobalSection(SolutionProperties) = preSolution
88 | HideSolutionNode = FALSE
89 | EndGlobalSection
90 | GlobalSection(NestedProjects) = preSolution
91 | {15F7AB89-3263-4446-B69C-34E2EEFC04F3} = {4155E1B8-3A3E-4ECA-91B4-D5516B22AEC4}
92 | {13C4F063-D045-4484-A2D8-4CA211839760} = {F20F05BA-8B32-4BA4-B04F-C263D0D8B3D9}
93 | {18279E17-B251-425F-A086-6B9EF1D4DF4F} = {F20F05BA-8B32-4BA4-B04F-C263D0D8B3D9}
94 | {AC92DBCD-DE68-4FC3-9584-6BF52519D3D0} = {0E968CFA-C519-4FA9-8460-0D4080444FDB}
95 | {DC79CD82-724A-4ACD-B9C0-91BA8F72DE38} = {F20F05BA-8B32-4BA4-B04F-C263D0D8B3D9}
96 | {D32F3FC5-1DB9-4199-B3A2-A56764E9D708} = {255FCD12-F3B7-4CC7-B774-D7F694006881}
97 | {F8310DAC-FF4F-4E87-B927-79F1DE31223F} = {5C08AF44-39DF-4C3E-90F8-90ECFA83E490}
98 | {373A3BE0-B38A-4982-AF8F-927597C0D7BE} = {5F4DBC7A-0474-4B2B-965A-6CDDF2E7B201}
99 | {68C542BE-B5D4-46E6-86E9-60746D25A90D} = {5F4DBC7A-0474-4B2B-965A-6CDDF2E7B201}
100 | {F62EC48F-6CE7-4250-8DA0-3D7F4250EE48} = {5F4DBC7A-0474-4B2B-965A-6CDDF2E7B201}
101 | {255FCD12-F3B7-4CC7-B774-D7F694006881} = {0529C88F-32BD-4094-97C4-834B074BE0E4}
102 | {4155E1B8-3A3E-4ECA-91B4-D5516B22AEC4} = {0529C88F-32BD-4094-97C4-834B074BE0E4}
103 | {5C08AF44-39DF-4C3E-90F8-90ECFA83E490} = {0529C88F-32BD-4094-97C4-834B074BE0E4}
104 | {0E968CFA-C519-4FA9-8460-0D4080444FDB} = {0529C88F-32BD-4094-97C4-834B074BE0E4}
105 | {F20F05BA-8B32-4BA4-B04F-C263D0D8B3D9} = {0529C88F-32BD-4094-97C4-834B074BE0E4}
106 | EndGlobalSection
107 | GlobalSection(ExtensibilityGlobals) = postSolution
108 | SolutionGuid = {8D874B51-CBF9-4909-BEE6-3F03B39C4AC5}
109 | EndGlobalSection
110 | GlobalSection(Performance) = preSolution
111 | HasPerformanceSessions = true
112 | EndGlobalSection
113 | GlobalSection(Performance) = preSolution
114 | HasPerformanceSessions = true
115 | EndGlobalSection
116 | EndGlobal
117 |
--------------------------------------------------------------------------------
/.vs/config/applicationhost.config:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 |
968 |
969 |
970 |
971 |
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 |
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 |
1011 |
1012 |
1013 |
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
--------------------------------------------------------------------------------