diff --git a/AyCode.Core.Tests.Internal/Entities/Address.cs b/AyCode.Core.Tests.Internal/Entities/Address.cs
index d964178..e2d114e 100644
--- a/AyCode.Core.Tests.Internal/Entities/Address.cs
+++ b/AyCode.Core.Tests.Internal/Entities/Address.cs
@@ -9,9 +9,7 @@ using AyCode.Interfaces.Addresses.Dtos;
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
+
public class Address : AcAddress, IAcAddress, IAcAddressDtoBase
{
diff --git a/AyCode.Core.Tests.Internal/Entities/Company.cs b/AyCode.Core.Tests.Internal/Entities/Company.cs
index c46919b..fb5a2cd 100644
--- a/AyCode.Core.Tests.Internal/Entities/Company.cs
+++ b/AyCode.Core.Tests.Internal/Entities/Company.cs
@@ -8,9 +8,6 @@ using AyCode.Entities.ServiceProviders;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class Company : AcServiceProvider
{
diff --git a/AyCode.Core.Tests.Internal/Entities/EmailMessage.cs b/AyCode.Core.Tests.Internal/Entities/EmailMessage.cs
index 751c377..f1f21bb 100644
--- a/AyCode.Core.Tests.Internal/Entities/EmailMessage.cs
+++ b/AyCode.Core.Tests.Internal/Entities/EmailMessage.cs
@@ -8,9 +8,6 @@ using AyCode.Entities.Messages;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class EmailMessage : AcEmailMessage
{
diff --git a/AyCode.Core.Tests.Internal/Entities/EmailRecipient.cs b/AyCode.Core.Tests.Internal/Entities/EmailRecipient.cs
index 3baff3b..eddf856 100644
--- a/AyCode.Core.Tests.Internal/Entities/EmailRecipient.cs
+++ b/AyCode.Core.Tests.Internal/Entities/EmailRecipient.cs
@@ -2,9 +2,6 @@
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class EmailRecipient : AcEmailRecipient
{
public EmailRecipient()
diff --git a/AyCode.Core.Tests.Internal/Entities/Profile.cs b/AyCode.Core.Tests.Internal/Entities/Profile.cs
index 45340c5..f48ef0d 100644
--- a/AyCode.Core.Tests.Internal/Entities/Profile.cs
+++ b/AyCode.Core.Tests.Internal/Entities/Profile.cs
@@ -8,9 +8,6 @@ using AyCode.Entities.Profiles;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class Profile : AcProfile
{
diff --git a/AyCode.Core.Tests.Internal/Entities/User.cs b/AyCode.Core.Tests.Internal/Entities/User.cs
index 00fa905..4b45675 100644
--- a/AyCode.Core.Tests.Internal/Entities/User.cs
+++ b/AyCode.Core.Tests.Internal/Entities/User.cs
@@ -8,10 +8,15 @@ using AyCode.Entities.Users;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
+
public class User : AcUser
{
-
+ public User() { }
+ public User(string email, string password) : this(Guid.NewGuid(), email, password) { }
+ public User(Guid id, string email, string password) : base(id, email, password)
+ { }
+ public User(Guid id, string email, string phoneNumber, string password) : base(id, email, phoneNumber, password)
+ { }
+ public User(Guid id, string email, string phoneNumber, string password, string refreshToken) : base(id, email, phoneNumber, password, refreshToken)
+ { }
}
\ No newline at end of file
diff --git a/AyCode.Core.Tests.Internal/Entities/UserToCompany.cs b/AyCode.Core.Tests.Internal/Entities/UserToCompany.cs
index b31ce54..1da054a 100644
--- a/AyCode.Core.Tests.Internal/Entities/UserToCompany.cs
+++ b/AyCode.Core.Tests.Internal/Entities/UserToCompany.cs
@@ -8,9 +8,6 @@ using AyCode.Entities.Users;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class UserToCompany: AcUserToServiceProvider
{
diff --git a/AyCode.Core.Tests.Internal/Entities/UserToken.cs b/AyCode.Core.Tests.Internal/Entities/UserToken.cs
index 8dee8ef..b4150c3 100644
--- a/AyCode.Core.Tests.Internal/Entities/UserToken.cs
+++ b/AyCode.Core.Tests.Internal/Entities/UserToken.cs
@@ -8,9 +8,6 @@ using AyCode.Entities.Users;
namespace AyCode.Core.Tests.Internal.Entities;
-///
-/// DON'T USE!!!
-///
public class UserToken : AcUserTokenBase
{
diff --git a/AyCode.Core.Tests/TestModelBase.cs b/AyCode.Core.Tests/TestModelBase.cs
index ba9f421..eb002f6 100644
--- a/AyCode.Core.Tests/TestModelBase.cs
+++ b/AyCode.Core.Tests/TestModelBase.cs
@@ -1,24 +1,12 @@
-using Microsoft.Extensions.Configuration;
+using AyCode.Core.Consts;
+using Microsoft.Extensions.Configuration;
namespace AyCode.Core.Tests;
public abstract class TestModelBase
{
- protected IConfiguration AppSettingsConfiguration;
-
protected TestModelBase()
{
//if (IsProductVersion) throw new Exception("IsProductVersion!!!!!");
-
- AppSettingsConfiguration = InitAppSettingsConfiguration();
- }
-
- protected IConfiguration InitAppSettingsConfiguration(string appSettingsFileName = "appsettings.json")
- {
- var config = new ConfigurationBuilder()
- .AddJsonFile(appSettingsFileName)
- .AddEnvironmentVariables()
- .Build();
- return config;
}
}
\ No newline at end of file
diff --git a/AyCode.Core/AyCode.Core.csproj b/AyCode.Core/AyCode.Core.csproj
index 1966c49..b703459 100644
--- a/AyCode.Core/AyCode.Core.csproj
+++ b/AyCode.Core/AyCode.Core.csproj
@@ -15,6 +15,8 @@
+
+
diff --git a/AyCode.Core/Consts/AcEnv.cs b/AyCode.Core/Consts/AcEnv.cs
index 23e40cf..47fe73a 100644
--- a/AyCode.Core/Consts/AcEnv.cs
+++ b/AyCode.Core/Consts/AcEnv.cs
@@ -1,5 +1,7 @@
//using Anata.Logger;
+using Microsoft.Extensions.Configuration;
+
namespace AyCode.Core.Consts
{
//TODO: Adatbázisból kéne a környezeti beállításokat - J.
@@ -18,5 +20,19 @@ namespace AyCode.Core.Consts
//public static LogLevel LogLevel = LogLevel.Detail;
public static ulong MaxLogItemsPerSession = 250;
+
+ private static IConfiguration? _appConfiguration = null;
+ public static IConfiguration AppConfiguration => _appConfiguration ??= GetAppSettingsConfiguration();
+
+ public static IConfiguration GetAppSettingsConfiguration(string appSettingsFileName = "appsettings.json")
+ {
+ var config = new ConfigurationBuilder()
+ .AddJsonFile(appSettingsFileName)
+ .AddEnvironmentVariables()
+ .Build();
+
+ return config;
+ }
+
}
}
\ No newline at end of file
diff --git a/AyCode.Database.Tests.Internal/AyCode.Database.Tests.Internal.csproj b/AyCode.Database.Tests.Internal/AyCode.Database.Tests.Internal.csproj
index 87fa9c9..8693fa6 100644
--- a/AyCode.Database.Tests.Internal/AyCode.Database.Tests.Internal.csproj
+++ b/AyCode.Database.Tests.Internal/AyCode.Database.Tests.Internal.csproj
@@ -9,6 +9,16 @@
true
+
+
+
+
+
+
+ PreserveNewest
+
+
+
all
diff --git a/AyCode.Database.Tests.Internal/DatabaseTestBase.cs b/AyCode.Database.Tests.Internal/DatabaseTestBase.cs
index 57f7ae6..0d33857 100644
--- a/AyCode.Database.Tests.Internal/DatabaseTestBase.cs
+++ b/AyCode.Database.Tests.Internal/DatabaseTestBase.cs
@@ -1,9 +1,10 @@
using AyCode.Database.DbContexts;
+using AyCode.Database.Tests.Internal.Users;
namespace AyCode.Database.Tests.Internal
{
[TestClass]
- public class DatabaseTestBase : AcDatabaseTestBase
+ public class DatabaseTestBase : AcDatabaseTestBase
{
[TestInitialize]
public void Setup()
diff --git a/AyCode.Database.Tests.Internal/Users/UserDal.cs b/AyCode.Database.Tests.Internal/Users/UserDal.cs
index b7dd553..fe5703e 100644
--- a/AyCode.Database.Tests.Internal/Users/UserDal.cs
+++ b/AyCode.Database.Tests.Internal/Users/UserDal.cs
@@ -3,9 +3,6 @@ using AyCode.Database.DataLayers.Users;
namespace AyCode.Database.Tests.Internal.Users;
-///
-/// DON'T USE!!!
-///
public sealed class UserDal : AcUserDalBase
{
diff --git a/AyCode.Database.Tests.Internal/Users/UserDalTests.cs b/AyCode.Database.Tests.Internal/Users/UserDalTests.cs
index 52cae2d..f13b690 100644
--- a/AyCode.Database.Tests.Internal/Users/UserDalTests.cs
+++ b/AyCode.Database.Tests.Internal/Users/UserDalTests.cs
@@ -3,14 +3,22 @@ using AyCode.Database.Tests.Users;
namespace AyCode.Database.Tests.Internal.Users;
-///
-/// DON'T USE!!!
-///
[TestClass]
public sealed class UserDalTests : AcUserDalTestBase
{
- [TestMethod]
+ [DataTestMethod]
[DataRow("test@tiam.hu")]
public override void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email)
=> base.AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(email);
+
+ [DataTestMethod]
+ [DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
+ public override void AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString)
+ => base.AcBase_GetUserById_ReturnsUser_WhenUserExists(userIdString);
+
+ [DataTestMethod]
+ [DataRow(["e31044d7-1771-4a32-8dd9-6f9853ed53c6", "0a831191-70a3-4504-9ec4-c5902affaba7", "8eed080c-d2ce-4cc3-bcfe-2268c220bba7", "addUser_test9432@tiam.hu"])]
+ public override async Task AcBase_AddUserTest(string[] userIdProfileIdAddressIdEmailStrings)
+ => await base.AcBase_AddUserTest(userIdProfileIdAddressIdEmailStrings);
+
}
\ No newline at end of file
diff --git a/AyCode.Database.Tests.Internal/Users/UserDbContext.cs b/AyCode.Database.Tests.Internal/Users/UserDbContext.cs
index 9d4a4fe..8b11c4d 100644
--- a/AyCode.Database.Tests.Internal/Users/UserDbContext.cs
+++ b/AyCode.Database.Tests.Internal/Users/UserDbContext.cs
@@ -4,9 +4,6 @@ using Microsoft.EntityFrameworkCore;
namespace AyCode.Database.Tests.Internal.Users;
-///
-/// DON'T USE!!!
-///
public sealed class UserDbContext : AcUserDbContextBase
{
public UserDbContext() //: this(string.Empty)
@@ -33,10 +30,6 @@ public sealed class UserDbContext : AcUserDbContextBasetrue
-
-
-
-
-
-
- PreserveNewest
-
-
-
diff --git a/AyCode.Database.Tests/Users/AcUserDalTestBase.cs b/AyCode.Database.Tests/Users/AcUserDalTestBase.cs
index 67a6a19..60c2449 100644
--- a/AyCode.Database.Tests/Users/AcUserDalTestBase.cs
+++ b/AyCode.Database.Tests/Users/AcUserDalTestBase.cs
@@ -24,7 +24,11 @@ namespace AyCode.Database.Tests.Users
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
where TEmailMessage : class, IAcEmailMessageBase
{
- protected TUser AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString)
+ [DataTestMethod]
+ public virtual void AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString) => AcBase_GetUserById(userIdString);
+
+ // ReSharper disable once MemberCanBePrivate.Global
+ protected TUser AcBase_GetUserById(string userIdString)
{
var userId = Guid.Parse(userIdString);
var user = Dal.GetUserById(userId, false);
@@ -38,8 +42,7 @@ namespace AyCode.Database.Tests.Users
return user;
}
- [TestMethod]
- [DataRow("2test@tiam.hu")]
+ [DataTestMethod]
public virtual void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email) => AcBase_GetUserByEmail(email);
// ReSharper disable once MemberCanBePrivate.Global
@@ -77,5 +80,51 @@ namespace AyCode.Database.Tests.Users
return user;
}
+
+ [DataTestMethod]
+ public virtual async Task AcBase_AddUserTest(string[] userIdProfileIdAddressIdEmailStrings)
+ {
+ var userId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[0]);
+ var profileId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[1]);
+ var addressId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[2]);
+ var email = userIdProfileIdAddressIdEmailStrings[3];
+
+ var fromAddress = "Budapest, Liszt Ferenc tér";
+ var toAddress = "1211 Budapest, Kossuth Lajos utca 145";
+ //var userProductToCarId = Guid.Parse("97179a87-d99f-4f12-b7b2-75e21aaec6ab");
+
+ await Dal.RemoveUserAsync(userId); //kitöröljük a szemetet, ha korábbról bentmaradt - J.
+
+ var user = Activator.CreateInstance(typeof(TUser), userId, email, "235664", "dsfglfjg45r34903t3kggvq") as TUser;
+ Assert.IsNotNull(user);
+
+ user.ProfileId = profileId;
+
+ var profile = Activator.CreateInstance();
+ profile.Id = profileId;;
+ profile.Name = "Add user test name";
+
+ var address = Activator.CreateInstance();
+ address.Id = addressId;
+ address.Latitude = 5362.2341652256;
+ address.Longitude = 5362.2341333317;
+ address.AddressText = "1214 Kossuth Lajos utca 124.";
+
+ user.Profile = profile;
+ user.Profile.AddressId = addressId;
+ user.Profile.Address = address;
+
+ Assert.IsTrue(await Dal.AddUserAsync(user));
+ user = Dal.GetUserById(userId, false);
+
+ Assert.IsNotNull(user);
+ Assert.IsNotNull(user.Profile);
+ Assert.IsNotNull(user.Profile.Address);
+
+ Assert.IsTrue(await Dal.RemoveUserAsync(userId)); //mielőbb kitöröljük, h ne maradjon szemét a db-ben - J.
+
+ user = Dal.GetUserById(userId, false);
+ Assert.IsNull(user); //a korábbi törlés miatt NULL kell legyen - J.
+ }
}
}
diff --git a/AyCode.Database/AyCode.Database.csproj b/AyCode.Database/AyCode.Database.csproj
index d6334d3..5830b25 100644
--- a/AyCode.Database/AyCode.Database.csproj
+++ b/AyCode.Database/AyCode.Database.csproj
@@ -9,6 +9,8 @@
+
+
diff --git a/AyCode.Database/DbContexts/AcDbContextBase.cs b/AyCode.Database/DbContexts/AcDbContextBase.cs
index 4b29bfd..6e15786 100644
--- a/AyCode.Database/DbContexts/AcDbContextBase.cs
+++ b/AyCode.Database/DbContexts/AcDbContextBase.cs
@@ -1,16 +1,21 @@
-using Microsoft.EntityFrameworkCore;
+using AyCode.Core.Consts;
+using Microsoft.EntityFrameworkCore;
using AyCode.Interfaces.TimeStampInfo;
+using Microsoft.Extensions.Configuration;
+
namespace AyCode.Database.DbContexts;
public abstract class AcDbContextBase : DbContext
{
+ private readonly string? _connString;
public string Name { get; set; }
public Guid SessionId { get; protected set; } = Guid.NewGuid();
protected AcDbContextBase()
{
+ _connString = AcEnv.AppConfiguration.GetConnectionString("DeveloperDbConnection");
//DbInterception.Add(new UtcDateTimeDbCommandInterceptor());
}
@@ -22,11 +27,15 @@ public abstract class AcDbContextBase : DbContext
protected AcDbContextBase(DbContextOptions options, string name) : base(options)
{
Name = name;
+
+ _connString = AcEnv.AppConfiguration.GetConnectionString("DeveloperDbConnection");
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseLazyLoadingProxies(true);
+
+ optionsBuilder.UseSqlServer(_connString);
}
public override int SaveChanges()
diff --git a/AyCode.Database/DbContexts/Users/AcUserDbContextBase.cs b/AyCode.Database/DbContexts/Users/AcUserDbContextBase.cs
index a2aab1d..500ef8d 100644
--- a/AyCode.Database/DbContexts/Users/AcUserDbContextBase.cs
+++ b/AyCode.Database/DbContexts/Users/AcUserDbContextBase.cs
@@ -1,4 +1,6 @@
-using AyCode.Interfaces.Addresses;
+using AyCode.Database.ModelBuilders.Profiles;
+using AyCode.Database.ModelBuilders.Users;
+using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Messages;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.ServiceProviders;
@@ -11,7 +13,7 @@ namespace AyCode.Database.DbContexts.Users
where TUser : class, IAcUser
where TProfile : class, IAcProfile
where TUserToken : class, IAcUserTokenBase
- where TServiceProvider : class, IAcServiceProviderBase
+ where TServiceProvider : class, IAcServiceProvider//IAcServiceProviderBase
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
where TProfileAddress : class, IAcAddress
where TEmailMessage : class, IAcEmailMessageBase
@@ -32,5 +34,22 @@ namespace AyCode.Database.DbContexts.Users
protected AcUserDbContextBase(DbContextOptions options, string name) : base(options, name)
{
}
+
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+ {
+ base.OnConfiguring(optionsBuilder);
+
+ optionsBuilder.UseLazyLoadingProxies(true);
+ }
+
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
+ {
+ base.OnModelCreating(modelBuilder);
+
+ new AcUserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity());
+ new AcProfileEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity());
+
+ //new EmailMessageEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity());
+ }
}
}
diff --git a/AyCode.Database/ModelBuilders/Profiles/AcProfileEntityTypeConfigurations.cs b/AyCode.Database/ModelBuilders/Profiles/AcProfileEntityTypeConfigurations.cs
index 8c164b5..d05cbe4 100644
--- a/AyCode.Database/ModelBuilders/Profiles/AcProfileEntityTypeConfigurations.cs
+++ b/AyCode.Database/ModelBuilders/Profiles/AcProfileEntityTypeConfigurations.cs
@@ -7,16 +7,12 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AyCode.Database.ModelBuilders.Profiles;
-public abstract class AcProfileEntityTypeConfigurations
+public class AcProfileEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration
+ where TProfile : class, IAcProfile
+ where TProfileAddress : class, IAcAddress
{
- public abstract class AcProfileEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration
- where TProfile : class, IAcProfile
- where TProfileAddress : class, IAcAddress
+ public virtual void Configure(EntityTypeBuilder modelBuilder)
{
- public virtual void Configure(EntityTypeBuilder modelBuilder)
- {
- modelBuilder.BuildEntityToAddressRelation();
- }
+ modelBuilder.BuildEntityToAddressRelation();
}
-
-}
\ No newline at end of file
+}
diff --git a/AyCode.Database/ModelBuilders/Users/AcUserEntityTypeConfigurations.cs b/AyCode.Database/ModelBuilders/Users/AcUserEntityTypeConfigurations.cs
index b640d76..3534638 100644
--- a/AyCode.Database/ModelBuilders/Users/AcUserEntityTypeConfigurations.cs
+++ b/AyCode.Database/ModelBuilders/Users/AcUserEntityTypeConfigurations.cs
@@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AyCode.Database.ModelBuilders.Users;
-public abstract class AcUserEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration
+public class AcUserEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration
where TUser : class, IAcUser
where TProfile : class, IAcProfile
where TServiceProvider : class, IAcServiceProvider
diff --git a/AyCode.Interfaces/Addresses/IAcAddressRelation.cs b/AyCode.Interfaces/Addresses/IAcAddressRelation.cs
index 3b8195d..9844e61 100644
--- a/AyCode.Interfaces/Addresses/IAcAddressRelation.cs
+++ b/AyCode.Interfaces/Addresses/IAcAddressRelation.cs
@@ -4,7 +4,7 @@ using System.Net;
namespace AyCode.Interfaces.Addresses;
-public interface IAcAddressRelation : IAcAddressForeignKey where TAddress : class, IAcAddress
+public interface IAcAddressRelation : IAcAddressForeignKey where TAddress : IAcAddress
{
public TAddress Address { get; set; }
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/Profiles/IAcProfile.cs b/AyCode.Interfaces/Profiles/IAcProfile.cs
index b712f87..08d4185 100644
--- a/AyCode.Interfaces/Profiles/IAcProfile.cs
+++ b/AyCode.Interfaces/Profiles/IAcProfile.cs
@@ -4,7 +4,7 @@ using AyCode.Interfaces.Profiles.Dtos;
namespace AyCode.Interfaces.Profiles;
-public interface IAcProfile : IAcProfileDtoBase, ITimeStampInfo, IAcAddressRelation where TAddress : class, IAcAddress
+public interface IAcProfile : IAcProfileDtoBase, ITimeStampInfo, IAcAddressRelation where TAddress : IAcAddress
{
public string? GetFullName(string lang = "ENG");
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/Profiles/IAcProfileRelation.cs b/AyCode.Interfaces/Profiles/IAcProfileRelation.cs
index 50712d1..1836772 100644
--- a/AyCode.Interfaces/Profiles/IAcProfileRelation.cs
+++ b/AyCode.Interfaces/Profiles/IAcProfileRelation.cs
@@ -2,7 +2,7 @@
namespace AyCode.Interfaces.Profiles;
-public interface IAcProfileRelation : IAcProfileForeignKey where TProfile : class, IAcProfileDtoBase
+public interface IAcProfileRelation : IAcProfileForeignKey where TProfile : IAcProfileDtoBase
{
public TProfile Profile { get; set; }
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/ServiceProviders/IAcServiceProvider.cs b/AyCode.Interfaces/ServiceProviders/IAcServiceProvider.cs
index f40f520..dac1563 100644
--- a/AyCode.Interfaces/ServiceProviders/IAcServiceProvider.cs
+++ b/AyCode.Interfaces/ServiceProviders/IAcServiceProvider.cs
@@ -3,6 +3,6 @@
namespace AyCode.Interfaces.ServiceProviders;
public interface IAcServiceProvider : IAcServiceProviderBase, IAcUsersRelation
- where TUser : class, IAcUserBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
+ where TUser : IAcUserBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
{}
\ No newline at end of file
diff --git a/AyCode.Interfaces/ServiceProviders/IAcServiceProviderRelation.cs b/AyCode.Interfaces/ServiceProviders/IAcServiceProviderRelation.cs
index 16ebc57..fae705c 100644
--- a/AyCode.Interfaces/ServiceProviders/IAcServiceProviderRelation.cs
+++ b/AyCode.Interfaces/ServiceProviders/IAcServiceProviderRelation.cs
@@ -3,8 +3,8 @@
namespace AyCode.Interfaces.ServiceProviders;
public interface IAcServiceProviderRelation
- where TServiceProvider : class, IAcServiceProviderBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
+ where TServiceProvider : IAcServiceProviderBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
{
public List ServiceProviders { get; set; }
public List UserToServiceProviders { get; set; }
diff --git a/AyCode.Interfaces/Users/Dtos/IAcUserDtoBase.cs b/AyCode.Interfaces/Users/Dtos/IAcUserDtoBase.cs
index 18f02ef..4a31e54 100644
--- a/AyCode.Interfaces/Users/Dtos/IAcUserDtoBase.cs
+++ b/AyCode.Interfaces/Users/Dtos/IAcUserDtoBase.cs
@@ -5,9 +5,9 @@ using AyCode.Interfaces.Addresses;
namespace AyCode.Interfaces.Users.Dtos;
public interface IAcUserDtoBase : IAcUserDtoMinBase, IAcServiceProviderRelation
- where TProfile : class, IAcProfile
- where TServiceProvider : class, IAcServiceProviderBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
- where TProfileAddress : class, IAcAddress
+ where TProfile : IAcProfile
+ where TServiceProvider : IAcServiceProviderBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
+ where TProfileAddress : IAcAddress
{
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/Users/Dtos/IAcUserDtoDetailBase.cs b/AyCode.Interfaces/Users/Dtos/IAcUserDtoDetailBase.cs
index d083d21..5004652 100644
--- a/AyCode.Interfaces/Users/Dtos/IAcUserDtoDetailBase.cs
+++ b/AyCode.Interfaces/Users/Dtos/IAcUserDtoDetailBase.cs
@@ -5,9 +5,9 @@ using AyCode.Interfaces.ServiceProviders;
namespace AyCode.Interfaces.Users.Dtos;
public interface IAcUserDtoDetailBase : IAcUserBase, IAcUserDtoBase
- where TProfile : class, IAcProfile
- where TServiceProvider : class, IAcServiceProviderBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
- where TProfileAddress : class, IAcAddress
+ where TProfile : IAcProfile
+ where TServiceProvider : IAcServiceProviderBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
+ where TProfileAddress : IAcAddress
{
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/Users/Dtos/IAcUserDtoMinBase.cs b/AyCode.Interfaces/Users/Dtos/IAcUserDtoMinBase.cs
index 06047bc..548dce6 100644
--- a/AyCode.Interfaces/Users/Dtos/IAcUserDtoMinBase.cs
+++ b/AyCode.Interfaces/Users/Dtos/IAcUserDtoMinBase.cs
@@ -5,7 +5,7 @@ using AyCode.Interfaces.Profiles.Dtos;
namespace AyCode.Interfaces.Users.Dtos;
-public interface IAcUserDtoMinBase : IEntityGuid, IAcProfileRelation where TProfile : class, IAcProfileDtoBase
+public interface IAcUserDtoMinBase : IEntityGuid, IAcProfileRelation where TProfile : IAcProfileDtoBase
{
public Guid AffiliateId { get; set; }
}
\ No newline at end of file
diff --git a/AyCode.Interfaces/Users/IAcUser.cs b/AyCode.Interfaces/Users/IAcUser.cs
index 04f01a4..eaaab49 100644
--- a/AyCode.Interfaces/Users/IAcUser.cs
+++ b/AyCode.Interfaces/Users/IAcUser.cs
@@ -6,9 +6,9 @@ using AyCode.Interfaces.Users.Dtos;
namespace AyCode.Interfaces.Users;
-public interface IAcUser : IAcUserDtoDetailBase
- where TProfile : class, IAcProfile
- where TServiceProvider : class, IAcServiceProviderBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
- where TProfileAddress : class, IAcAddress
+public interface IAcUser : IAcUserDtoDetailBase, IAcProfileForeignKey
+ where TProfile : IAcProfile
+ where TServiceProvider : IAcServiceProviderBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
+ where TProfileAddress : IAcAddress
{ }
\ No newline at end of file
diff --git a/AyCode.Interfaces/Users/IAcUsersRelation.cs b/AyCode.Interfaces/Users/IAcUsersRelation.cs
index 54272bd..3b1e6d9 100644
--- a/AyCode.Interfaces/Users/IAcUsersRelation.cs
+++ b/AyCode.Interfaces/Users/IAcUsersRelation.cs
@@ -1,8 +1,8 @@
namespace AyCode.Interfaces.Users;
public interface IAcUsersRelation
- where TUser : class, IAcUserBase
- where TUserToServiceProvider : class, IAcUserToServiceProviderBase
+ where TUser : IAcUserBase
+ where TUserToServiceProvider : IAcUserToServiceProviderBase
{
public List Users { get; set; }
public List UserToServiceProviders { get; set; }