refactoring, improvements, fixes, etc...
This commit is contained in:
parent
5cc7ff9529
commit
93482b5ba6
|
|
@ -0,0 +1,39 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
|
||||||
|
<IsPackable>false</IsPackable>
|
||||||
|
<IsTestProject>true</IsTestProject>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||||
|
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
|
||||||
|
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Tests\AyCode.Core.Tests.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Addresses;
|
||||||
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Addresses.Dtos;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class Address : AcAddress, IAcAddress, IAcAddressDtoBase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.ServiceProviders;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class Company : AcServiceProvider<User, UserToCompany>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Messages;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class EmailMessage : AcEmailMessage<EmailRecipient>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using AyCode.Entities.Messages;
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class EmailRecipient : AcEmailRecipient<EmailMessage>
|
||||||
|
{
|
||||||
|
public EmailRecipient()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public EmailRecipient(Guid id, Guid recipientId, Guid emailMessageId, string emailAddress) : base(id, recipientId, emailMessageId, emailAddress)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Profiles;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class Profile : AcProfile<Address>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Users;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class User : AcUser<Profile, Company, UserToCompany, Address>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Users;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class UserToCompany: AcUserToServiceProvider<User, Company>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using AyCode.Entities.Users;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||||
|
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||||
|
|
||||||
|
namespace AyCode.Core.Tests.Internal.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public class UserToken : AcUserTokenBase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -21,4 +21,13 @@
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AyCode.Services.Server", "A
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AyCode.Services.Server.Tests", "AyCode.Services.Server.Tests\AyCode.Services.Server.Tests.csproj", "{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AyCode.Services.Server.Tests", "AyCode.Services.Server.Tests\AyCode.Services.Server.Tests.csproj", "{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Core.Tests.Internal", "AyCode.Core.Tests.Internal\AyCode.Core.Tests.Internal.csproj", "{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Database.Tests.Internal", "AyCode.Database.Tests.Internal\AyCode.Database.Tests.Internal.csproj", "{73261A8C-FB41-4C4C-90D4-ED5EEC991413}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -102,6 +106,14 @@ Global
|
||||||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
|
||||||
|
<IsPackable>false</IsPackable>
|
||||||
|
<IsTestProject>true</IsTestProject>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||||
|
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
|
||||||
|
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Tests.Internal\AyCode.Core.Tests.Internal.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core.Tests\AyCode.Core.Tests.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Database.Tests\AyCode.Database.Tests.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Database\AyCode.Database.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Models.Server\AyCode.Models.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Models\AyCode.Models.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
using AyCode.Database.DbContexts;
|
||||||
|
|
||||||
|
namespace AyCode.Database.Tests.Internal
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class DatabaseTestBase : AcDatabaseTestBase<AcDbContextBase>
|
||||||
|
{
|
||||||
|
[TestInitialize]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCleanup]
|
||||||
|
public void TearDown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public override void DatabaseExistsTest() => base.DatabaseExistsTest();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
using AyCode.Core.Tests.Internal.Entities;
|
||||||
|
using AyCode.Database.DataLayers.Users;
|
||||||
|
|
||||||
|
namespace AyCode.Database.Tests.Internal.Users;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public sealed class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
using AyCode.Core.Tests.Internal.Entities;
|
||||||
|
using AyCode.Database.Tests.Users;
|
||||||
|
|
||||||
|
namespace AyCode.Database.Tests.Internal.Users;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
[TestClass]
|
||||||
|
public sealed class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||||
|
{
|
||||||
|
[TestMethod]
|
||||||
|
[DataRow("test@tiam.hu")]
|
||||||
|
public override void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||||
|
=> base.AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(email);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
using AyCode.Core.Tests.Internal.Entities;
|
||||||
|
using AyCode.Database.DbContexts.Users;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace AyCode.Database.Tests.Internal.Users;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DON'T USE!!!
|
||||||
|
/// </summary>
|
||||||
|
public sealed class UserDbContext : AcUserDbContextBase<User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||||
|
{
|
||||||
|
public UserDbContext() //: this(string.Empty)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserDbContext(DbContextOptions<UserDbContext> options) //: this(string.Empty)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserDbContext(string name) : base(name)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserDbContext(DbContextOptions<DbContext> options, string name) : base(options, name)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
|
{
|
||||||
|
base.OnConfiguring(optionsBuilder);
|
||||||
|
|
||||||
|
optionsBuilder.UseLazyLoadingProxies(true);
|
||||||
|
optionsBuilder.EnableDetailedErrors(true);
|
||||||
|
|
||||||
|
//optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DeveloperDbConnection"));
|
||||||
|
var connString = "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true";
|
||||||
|
optionsBuilder.UseSqlServer(connString);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
base.OnModelCreating(modelBuilder);
|
||||||
|
|
||||||
|
//new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||||
|
//new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||||
|
|
||||||
|
//new EmailMessageEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity<EmailMessage>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@ namespace AyCode.Database.Tests
|
||||||
public abstract class AcDatabaseTestBase<TDbContext> : AcDatabaseTestModelBase<TDbContext> where TDbContext : AcDbContextBase
|
public abstract class AcDatabaseTestBase<TDbContext> : AcDatabaseTestModelBase<TDbContext> where TDbContext : AcDbContextBase
|
||||||
{
|
{
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void DatabaseExistsTest()
|
public virtual void DatabaseExistsTest()
|
||||||
{
|
{
|
||||||
var isConnected = Context.Database.CanConnect();
|
var isConnected = Context.Database.CanConnect();
|
||||||
Assert.IsTrue(isConnected);
|
Assert.IsTrue(isConnected);
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Remove="appsettings.json" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="appsettings.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.4" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||||
|
|
@ -30,6 +41,8 @@
|
||||||
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||||
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||||
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Models.Server\AyCode.Models.Server.csproj" />
|
||||||
|
<ProjectReference Include="..\AyCode.Models\AyCode.Models.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,28 @@
|
||||||
using AyCode.Database.DataLayers.Users;
|
using AyCode.Database.DataLayers.Users;
|
||||||
using AyCode.Database.DbContexts;
|
using AyCode.Database.DbContexts;
|
||||||
using AyCode.Database.DbContexts.Users;
|
using AyCode.Database.DbContexts.Users;
|
||||||
|
using AyCode.Database.Tests;
|
||||||
|
using AyCode.Entities.Addresses;
|
||||||
|
using AyCode.Entities.Profiles;
|
||||||
|
using AyCode.Entities.Users;
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.ServiceProviders;
|
using AyCode.Interfaces.ServiceProviders;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
|
|
||||||
namespace AyCode.Database.Tests.Users
|
namespace AyCode.Database.Tests.Users
|
||||||
{
|
{
|
||||||
public abstract class AcUserDalTestBase<TDal, TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDatabaseTestModelBase<TDal, TDbContext>
|
public abstract class AcUserDalTestBase<TDal, TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken,TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TProfile : class, IAcProfile<TProfileAddress>
|
where TProfile : class, IAcProfile<TProfileAddress>
|
||||||
where TProfileAddress : class, IAcAddress
|
where TProfileAddress : class, IAcAddress
|
||||||
where TUserToken : class, IAcUserTokenBase
|
where TUserToken : class, IAcUserTokenBase
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
protected TUser AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
protected TUser AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
||||||
{
|
{
|
||||||
|
|
@ -32,7 +38,12 @@ namespace AyCode.Database.Tests.Users
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected TUser AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
[TestMethod]
|
||||||
|
[DataRow("2test@tiam.hu")]
|
||||||
|
public virtual void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email) => AcBase_GetUserByEmail(email);
|
||||||
|
|
||||||
|
// ReSharper disable once MemberCanBePrivate.Global
|
||||||
|
protected TUser AcBase_GetUserByEmail(string email)
|
||||||
{
|
{
|
||||||
var user = Dal.GetUserByEmail(email, false);
|
var user = Dal.GetUserByEmail(email, false);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DeveloperDbConnection": "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=False;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true"
|
||||||
|
},
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"JWT": {
|
||||||
|
"Key": "Cee4400-rDMFkVvHPufyLDSzbfu2grgRhpepos299IhTLOXsljkcpt3yUR4RRjPQ",
|
||||||
|
"Issuer": "http://localhost:5000",
|
||||||
|
"Audience": "http://localhost:5000"
|
||||||
|
},
|
||||||
|
"SendGrid": {
|
||||||
|
//"Key": "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"
|
||||||
|
"Key": "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"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -13,19 +13,21 @@ using AyCode.Core.Consts;
|
||||||
using AyCode.Core.Helpers;
|
using AyCode.Core.Helpers;
|
||||||
using AyCode.Database.DbSets.Users;
|
using AyCode.Database.DbSets.Users;
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.ServiceProviders;
|
using AyCode.Interfaces.ServiceProviders;
|
||||||
|
|
||||||
namespace AyCode.Database.DataLayers.Users
|
namespace AyCode.Database.DataLayers.Users
|
||||||
{
|
{
|
||||||
public abstract class AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDalBase<TDbContext>
|
public abstract class AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDalBase<TDbContext>
|
||||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TProfile : class, IAcProfile<TProfileAddress>
|
where TProfile : class, IAcProfile<TProfileAddress>
|
||||||
where TUserToken : class, IAcUserTokenBase
|
where TUserToken : class, IAcUserTokenBase
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
where TProfileAddress : class, IAcAddress
|
where TProfileAddress : class, IAcAddress
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
public TUser? GetUserById(Guid userId, bool onlyConfirmed) => Session(x => x.GetUserById(userId, onlyConfirmed));
|
public TUser? GetUserById(Guid userId, bool onlyConfirmed) => Session(x => x.GetUserById(userId, onlyConfirmed));
|
||||||
public Task<TUser?> GetUserByIdAsync(Guid userId, bool onlyConfirmed) => SessionAsync(x => x.GetUserById(userId, onlyConfirmed));
|
public Task<TUser?> GetUserByIdAsync(Guid userId, bool onlyConfirmed) => SessionAsync(x => x.GetUserById(userId, onlyConfirmed));
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.ServiceProviders;
|
using AyCode.Interfaces.ServiceProviders;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
|
|
@ -6,18 +7,20 @@ using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace AyCode.Database.DbContexts.Users
|
namespace AyCode.Database.DbContexts.Users
|
||||||
{
|
{
|
||||||
public abstract class AcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
public abstract class AcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TProfile : class, IAcProfile<TProfileAddress>
|
where TProfile : class, IAcProfile<TProfileAddress>
|
||||||
where TUserToken : class, IAcUserTokenBase
|
where TUserToken : class, IAcUserTokenBase
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
where TProfileAddress : class, IAcAddress
|
where TProfileAddress : class, IAcAddress
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
public required DbSet<TUser> Users { get; set; }
|
public required DbSet<TUser> Users { get; set; }
|
||||||
public required DbSet<TUserToken> UserTokens { get; set; }
|
public required DbSet<TUserToken> UserTokens { get; set; }
|
||||||
public DbSet<TProfileAddress> Addresses { get; set; }
|
public DbSet<TProfileAddress> Addresses { get; set; }
|
||||||
public DbSet<TProfile> Profiles { get; set; }
|
public DbSet<TProfile> Profiles { get; set; }
|
||||||
|
public DbSet<TEmailMessage> EmailMessages { get; set; }
|
||||||
|
|
||||||
|
|
||||||
protected AcUserDbContextBase() : this(string.Empty)
|
protected AcUserDbContextBase() : this(string.Empty)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,19 @@
|
||||||
using AyCode.Database.DbSets.Addresses;
|
using AyCode.Database.DbSets.Addresses;
|
||||||
|
using AyCode.Database.DbSets.Messages;
|
||||||
using AyCode.Database.DbSets.Profiles;
|
using AyCode.Database.DbSets.Profiles;
|
||||||
using AyCode.Database.DbSets.Users;
|
using AyCode.Database.DbSets.Users;
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.ServiceProviders;
|
using AyCode.Interfaces.ServiceProviders;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
|
|
||||||
namespace AyCode.Database.DbContexts.Users;
|
namespace AyCode.Database.DbContexts.Users;
|
||||||
|
|
||||||
public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
: IAcUserDbSet<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcUserTokenDbSet<TUserToken>, IAcAddressDbSetBase<TProfileAddress>, IAcProfileDbSetBase<TProfile>
|
: IAcUserDbSet<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcUserTokenDbSet<TUserToken>,
|
||||||
|
IAcAddressDbSetBase<TProfileAddress>, IAcProfileDbSetBase<TProfile>,
|
||||||
|
IAcEmailMessageDbSet<TEmailMessage>
|
||||||
|
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TProfile : class, IAcProfile<TProfileAddress>
|
where TProfile : class, IAcProfile<TProfileAddress>
|
||||||
|
|
@ -17,5 +21,6 @@ public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvi
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
where TProfileAddress : class, IAcAddress
|
where TProfileAddress : class, IAcAddress
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ using AyCode.Database.DbContexts.Users;
|
||||||
using AyCode.Database.DbContexts;
|
using AyCode.Database.DbContexts;
|
||||||
using AyCode.Database.Tests;
|
using AyCode.Database.Tests;
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.Server.Logins;
|
using AyCode.Interfaces.Server.Logins;
|
||||||
using AyCode.Interfaces.ServiceProviders;
|
using AyCode.Interfaces.ServiceProviders;
|
||||||
|
|
@ -10,9 +11,9 @@ using AyCode.Interfaces.Users;
|
||||||
|
|
||||||
namespace AyCode.Services.Server.Tests.LoginServices
|
namespace AyCode.Services.Server.Tests.LoginServices
|
||||||
{
|
{
|
||||||
public abstract class AcLoginServiceServerTestBase<TDal, TDbContext, TLoginServiceServer, TResultLoggedInModel, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDatabaseTestModelBase<TDal, TDbContext>
|
public abstract class AcLoginServiceServerTestBase<TDal, TDbContext, TLoginServiceServer, TResultLoggedInModel, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken,TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TLoginServiceServer : class, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TLoginServiceServer : class, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TResultLoggedInModel: class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TResultLoggedInModel: class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
|
|
@ -21,6 +22,7 @@ namespace AyCode.Services.Server.Tests.LoginServices
|
||||||
where TUserToken : class, IAcUserTokenBase
|
where TUserToken : class, IAcUserTokenBase
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
public TUser RegisterUserTest()
|
public TUser RegisterUserTest()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -20,24 +20,26 @@ using AyCode.Core.Consts;
|
||||||
using AyCode.Core.Extensions;
|
using AyCode.Core.Extensions;
|
||||||
using AyCode.Database.DataLayers.Users;
|
using AyCode.Database.DataLayers.Users;
|
||||||
using AyCode.Database.DbContexts.Users;
|
using AyCode.Database.DbContexts.Users;
|
||||||
|
using AyCode.Interfaces.Messages;
|
||||||
using AyCode.Models.Server.Logins;
|
using AyCode.Models.Server.Logins;
|
||||||
using AyCode.Utils.Extensions;
|
using AyCode.Utils.Extensions;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
|
||||||
namespace AyCode.Services.Server.Logins;
|
namespace AyCode.Services.Server.Logins;
|
||||||
|
|
||||||
public class AcLoginServiceServer<TResultLoggedInModel, TDal, TDbContext, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>(TDal userDal, IConfiguration configuration)
|
public class AcLoginServiceServer<TResultLoggedInModel, TDal, TDbContext, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>(TDal userDal, IConfiguration configuration)
|
||||||
: AcLoginServiceBase<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
: AcLoginServiceBase<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
|
|
||||||
where TResultLoggedInModel : class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TResultLoggedInModel : class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||||
where TUserToken : class, IAcUserTokenBase
|
where TUserToken : class, IAcUserTokenBase
|
||||||
where TProfile : class, IAcProfile<TProfileAddress>
|
where TProfile : class, IAcProfile<TProfileAddress>
|
||||||
where TServiceProvider : class, IAcServiceProviderBase
|
where TServiceProvider : class, IAcServiceProviderBase
|
||||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||||
where TProfileAddress : class, IAcAddress
|
where TProfileAddress : class, IAcAddress
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase
|
||||||
{
|
{
|
||||||
public TResultLoggedInModel? LoggedInModel { get; private set; }
|
public TResultLoggedInModel? LoggedInModel { get; private set; }
|
||||||
public override TUser? LoggedInUser => LoggedInModel?.LoggedInUser;
|
public override TUser? LoggedInUser => LoggedInModel?.LoggedInUser;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue