Compare commits
No commits in common. "1c883c3666060efc722bbed36d615a0f2daf31e7" and "c7186d17bb4b93b6ad5d7035c29736f6c881eae5" have entirely different histories.
1c883c3666
...
c7186d17bb
|
|
@ -10,10 +10,10 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
|
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
|
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
|
||||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
<PackageReference Include="coverlet.collector" Version="6.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
|
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
|
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
|
||||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
<PackageReference Include="coverlet.collector" Version="6.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.3" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.3" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -32,38 +32,6 @@ namespace AyCode.Database.DataLayers.Users
|
||||||
public TUser? GetUserByEmail(string email) => Session(x => x.GetUserByEmail(email));
|
public TUser? GetUserByEmail(string email) => Session(x => x.GetUserByEmail(email));
|
||||||
public Task<TUser?> GetUserByEmailAsync(string email) => SessionAsync(x => x.GetUserByEmail(email));
|
public Task<TUser?> GetUserByEmailAsync(string email) => SessionAsync(x => x.GetUserByEmail(email));
|
||||||
|
|
||||||
public Task<bool> AddUser(TUser user, string profileName, TProfileAddress address)
|
|
||||||
{
|
|
||||||
return TransactionAsync(ctx =>
|
|
||||||
{
|
|
||||||
var profile = Activator.CreateInstance<TProfile>();
|
|
||||||
|
|
||||||
profile.Id = Guid.NewGuid();
|
|
||||||
profile.Name = profileName;
|
|
||||||
profile.Address = address;
|
|
||||||
|
|
||||||
user.Profile= profile;
|
|
||||||
|
|
||||||
if (ctx.AddUser(user)) return false;
|
|
||||||
|
|
||||||
ctx.SaveChanges();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task<bool> AddUser(TUser user)
|
|
||||||
{
|
|
||||||
return TransactionAsync(ctx =>
|
|
||||||
{
|
|
||||||
if (ctx.AddUser(user)) return false;
|
|
||||||
|
|
||||||
ctx.SaveChanges();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//public UserToken CreateUserToken(Guid userId, string verificationToken)
|
//public UserToken CreateUserToken(Guid userId, string verificationToken)
|
||||||
//{
|
//{
|
||||||
// UserToken userToken = null;
|
// UserToken userToken = null;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
using AyCode.Core.Logger;
|
using AyCode.Core.Logger;
|
||||||
using AyCode.Entities.Users;
|
using AyCode.Entities.Users;
|
||||||
using AyCode.Interfaces.Entities;
|
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
|
|
||||||
|
|
@ -24,25 +23,4 @@ public static class AcUserDbSetExtensions
|
||||||
var emailLower = email.ToLower();
|
var emailLower = email.ToLower();
|
||||||
return ctx.Users.Where(u => u.EmailAddress == emailLower);
|
return ctx.Users.Where(u => u.EmailAddress == emailLower);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool AddUser<TUser>(this IAcUserDbSetBase<TUser> ctx, TUser user) where TUser : class, IAcUserBase
|
|
||||||
{
|
|
||||||
var emailLower = user.EmailAddress.ToLower();
|
|
||||||
|
|
||||||
Logger.Info($"GetUserByEmail: {emailLower}");
|
|
||||||
|
|
||||||
return ctx.Users.Add(user).State == Microsoft.EntityFrameworkCore.EntityState.Added;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool RemoveUserAsync<TUser>(this IAcUserDbSetBase<TUser> ctx, TUser user) where TUser : class, IAcUserBase
|
|
||||||
=> ctx.Users.Remove(user).State == Microsoft.EntityFrameworkCore.EntityState.Deleted;
|
|
||||||
|
|
||||||
public static bool RemoveUserAsync<TUser>(this IAcUserDbSetBase<TUser> ctx, Guid userId) where TUser : class, IAcUserBase
|
|
||||||
{
|
|
||||||
var user = ctx.GetUserById(userId);
|
|
||||||
|
|
||||||
if (user == null) return false;
|
|
||||||
|
|
||||||
return ctx.RemoveUserAsync(user);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
using AyCode.Interfaces.Addresses;
|
using AyCode.Interfaces.Addresses;
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
|
||||||
namespace AyCode.Database.ModelBuilders.Profiles;
|
namespace AyCode.Database.ModelBuilders.Profiles;
|
||||||
|
|
@ -11,8 +10,6 @@ public static class AcProfileEntityTypeBuilderExtensions
|
||||||
where TAddress : class, IAcAddress
|
where TAddress : class, IAcAddress
|
||||||
{
|
{
|
||||||
//modelBuilder.HasOne(e => e.Address).WithOne().HasForeignKey<TAddressRelation>(e => e.AddressId);
|
//modelBuilder.HasOne(e => e.Address).WithOne().HasForeignKey<TAddressRelation>(e => e.AddressId);
|
||||||
|
modelBuilder.Navigation(e => e.Address).AutoInclude(autoInclude);
|
||||||
modelBuilder.HasOne(x => x.Address).WithOne().OnDelete(DeleteBehavior.Cascade);
|
|
||||||
modelBuilder.Navigation(e => e.Address).AutoInclude(autoInclude).IsRequired();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -15,8 +15,7 @@ public static class AcUserEntityTypeBuilderExtensions
|
||||||
where TProfileRelation : class, IAcProfileRelation<TProfile>
|
where TProfileRelation : class, IAcProfileRelation<TProfile>
|
||||||
where TProfile : class, IAcProfileDtoBase
|
where TProfile : class, IAcProfileDtoBase
|
||||||
{
|
{
|
||||||
modelBuilder.HasOne(x => x.Profile).WithOne().OnDelete(DeleteBehavior.Cascade);
|
modelBuilder.Navigation(e => e.Profile).AutoInclude(autoInclude);
|
||||||
modelBuilder.Navigation(e => e.Profile).AutoInclude(autoInclude).IsRequired();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void BuildEntityToServiceProviderRelation<TServiceProviderRelation, TServiceProvider, TUserToServiceProvider>(this EntityTypeBuilder<TServiceProviderRelation> modelBuilder, bool autoInclude = true)
|
public static void BuildEntityToServiceProviderRelation<TServiceProviderRelation, TServiceProvider, TUserToServiceProvider>(this EntityTypeBuilder<TServiceProviderRelation> modelBuilder, bool autoInclude = true)
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
|
||||||
<PackageReference Include="SendGrid" Version="9.29.2" />
|
<PackageReference Include="SendGrid" Version="9.29.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" />
|
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.3" />
|
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue