Add Profile to ServiceProvider; ServiceProvider to Company in progress...

This commit is contained in:
jozsef.b@aycode.com 2024-05-26 09:12:54 +02:00
parent 44cec524e9
commit b3cda2dcce
21 changed files with 156 additions and 32 deletions

View File

@ -0,0 +1,17 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace Mango.Core.Loggers;
public class ConsoleLogWriter : AcConsoleLogWriter
{
public ConsoleLogWriter() : this(null)
{ }
public ConsoleLogWriter(string? categoryName = null) : base(categoryName)
{ }
public ConsoleLogWriter(AppType appType, LogLevel logLevel, string? callerClassName = null) : base(appType, logLevel, callerClassName)
{
}
}

View File

@ -0,0 +1,19 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace Mango.Core.Loggers;
public class Logger : AcLoggerBase
{
public Logger() : this(null)
{ }
public Logger(string? categoryName) : base(categoryName)
{ }
public Logger(string? categoryName, params IAcLogWriterBase[] logWriters) : base(categoryName, logWriters)
{ }
public Logger(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters)
{ }
}

View File

@ -24,10 +24,10 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.5" />
<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" />

View File

@ -1,6 +1,7 @@
{
"ConnectionStrings": {
"DeveloperDbConnection": "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"
"DeveloperDbConnection":
"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"
},
"Logging": {
"LogLevel": {
@ -17,6 +18,24 @@
"SendGrid": {
//"Key": "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"
"Key": "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"
}
},
"AyCode": {
"ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789",
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "Mango.Core.Loggers.ConsoleLogWriter, Mango.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"LogLevel": "Detail",
"LogWriterType": "Mango.Database.DbLogItemWriter, Mango.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}
]
}
}
}

View File

@ -0,0 +1,26 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using AyCode.Database;
using AyCode.Database.DbContexts.Loggers;
using AyCode.Entities.LogItems;
using AyCode.Entities.Server.LogItems;
namespace Mango.Database;
public class LoggerDbContextBase : AcLoggerDbContextBase<AcLogItem>
{
}
public class DbLogItemWriter : AcDbLogItemWriter<LoggerDbContextBase, AcLogItem>
{
public DbLogItemWriter() : this(null)
{ }
public DbLogItemWriter(string? categoryName = null) : base(categoryName)
{ }
public DbLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName)
{
}
}

View File

@ -53,9 +53,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.5" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>

View File

@ -1,12 +1,13 @@
using System.ComponentModel.DataAnnotations.Schema;
using AyCode.Entities.ServiceProviders;
using Mango.Entities.Profiles;
using Mango.Entities.Users;
using Mango.Interfaces.Companies;
namespace Mango.Entities.Companies;
[Table("ServiceProviders")]
public class Company : AcServiceProvider<User, UserToCompany>, ICompany<User, UserToCompany>, ICompanyBase
public class Company : AcCompany<User, UserToCompany, Profile>, ICompany<User, UserToCompany, Profile>, ICompanyBase
{
public Company()
{

View File

@ -6,7 +6,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Mango.Entities.Users;
[Table("UserToServiceProvider")]
public class UserToCompany : AcUserToServiceProvider<User, Company>, IUserToCompany<User, Company>
public class UserToCompany : AcUserToCompany<User, Company>, IUserToCompany<User, Company>
{
}

View File

@ -1,11 +1,14 @@
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users;
using System;
using AyCode.Interfaces.Profiles.Dtos;
using Mango.Interfaces.Users;
using Mango.Interfaces.Profiles;
namespace Mango.Interfaces.Companies;
public interface ICompany<TUser, TUserToCompany> : IAcServiceProvider<TUser, TUserToCompany>
public interface ICompany<TUser, TUserToCompany, TProfile> : IAcCompany<TUser, TUserToCompany, TProfile>
where TUser : class, IUserBase
where TUserToCompany : class, IUserToCompanyBase
where TProfile : class, IProfileDto
{}

View File

@ -2,6 +2,6 @@
namespace Mango.Interfaces.Companies;
public interface ICompanyBase : IAcServiceProviderBase
public interface ICompanyBase : IAcCompanyBase
{
}

View File

@ -7,5 +7,5 @@ public interface IUserToCompany<TUser, TCompany> : IUserToCompanyBase
where TCompany : class, ICompanyBase
{
public TUser User { get; set; }
public TCompany ServiceProvider { get; set; }
public TCompany Company { get; set; }
}

View File

@ -2,5 +2,5 @@
namespace Mango.Interfaces.Users;
public interface IUserToCompanyBase : IAcUserToServiceProviderBase
public interface IUserToCompanyBase : IAcUserToCompanyBase
{}

View File

@ -1,4 +1,8 @@
using AyCode.Core.Loggers;
using AyCode.Core.Server.Loggers;
using AyCode.Services.Server.Tests.LoginServices;
using Mango.Core.Loggers;
using Mango.Database;
using Mango.Database.DataLayers.Users;
using Mango.Database.DbContexts.Users;
using Mango.Entities.Addresses;
@ -14,6 +18,8 @@ namespace Mango.Services.Server.Tests.LoginServices
[TestClass]
public class LoginServiceServerTests : AcLoginServiceServerTestBase<UserDal, UserDbContext, LoginService, LoggedInModel, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
{
private readonly Logger _logger = new(nameof(LoginServiceServerTests));
private const string RegisterEmail = "qwerty@xxxxx.com";
private const string RegisterPassword = "elem'r";
private const string RegisterUserIdString = "1f7e0591-330b-463b-81ad-d01f2e65e23e";
@ -21,14 +27,30 @@ namespace Mango.Services.Server.Tests.LoginServices
private const string LoginEmail = "asdfsdf@ggggg.hu";
private const string LoginPassword = "alad'r";
[DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])]
public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings)
=> base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
[DataTestMethod]
[DataRow([LoginEmail, LoginPassword])]
public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings)
=> base.AcBase_LoginUser_ReturnsUser_WhenUserExist(emailPasswordStrings);
[DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])]
public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings)
{
GlobalLogger.Debug("Test started0...");
for (int i = 0; i < 1000; i++)
{
_logger.Debug(i + ". Test started...");
_logger.Debug(i + ". Test started2...");
GlobalLogger.Debug(i + ". Test started3...");
}
GlobalLogger.Debug("Test started4...");
GlobalLogger.Writer<ConsoleLogWriter>().Suggest("sdfdfa", nameof(LoginServiceServerTests));
//Assert.IsTrue(true);
//return Task.CompletedTask;
return base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
}
}
}

View File

@ -24,7 +24,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.5" />
<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" />

View File

@ -17,6 +17,23 @@
"SendGrid": {
//"Key": "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"
"Key": "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"
}
},
"AyCode": {
"ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789",
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "Mango.Core.Loggers.ConsoleLogWriter, Mango.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"LogLevel": "Detail",
"LogWriterType": "Mango.Database.DbLogItemWriter, Mango.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}
]
}
}
}

View File

@ -11,7 +11,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.5" />
</ItemGroup>
<ItemGroup>

View File

@ -58,9 +58,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="8.0.21" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="8.0.21" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.21" />
<PackageReference Include="Microsoft.Maui.Controls" Version="8.0.40" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="8.0.40" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.40" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
</ItemGroup>

View File

@ -7,8 +7,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.4" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.5" PrivateAssets="all" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.0" />
</ItemGroup>

View File

@ -7,7 +7,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.5" />
</ItemGroup>
<ItemGroup>

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

View File

@ -12,8 +12,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.4" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.5" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.5" />
</ItemGroup>
<ItemGroup>