improvements, fixes, etc...

This commit is contained in:
jozsef.b@aycode.com 2024-01-18 19:53:33 +01:00
parent 226b50129c
commit e7456a42bc
9 changed files with 33 additions and 11 deletions

View File

@ -23,7 +23,10 @@ namespace AyCode.Entities.Profiles
public Guid Id { get; set; }
public Guid? UserMediaId { get; set; }
public string? Name { get; set; }
[Required]
public string Name { get; set; }
public string? Description { get; set; }
public string? ThumbnailUrl { get ; set; }
public DateTime Created { get; set; }

View File

@ -14,10 +14,15 @@ namespace AyCode.Entities.ServiceProviders
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
[Required]
public Guid OwnerId { get; set; }
[Required]
public string Name { get; set; }
public double? CommissionPercent { get; set; }
[Required]
public Guid AffiliateId { get; set; }
public Guid? ReferralId { get; set; }
@ -40,13 +45,14 @@ namespace AyCode.Entities.ServiceProviders
{
}
protected AcServiceProvider(Guid id, string name, Guid ownerId, Guid affiliateId) : this()
protected AcServiceProvider(Guid id, string name, Guid ownerId, Guid affiliateId, double? commissionPercent = null) : this()
{
Id = id;
Name = name;
OwnerId = ownerId;
AffiliateId = affiliateId;
CommissionPercent = commissionPercent;
}
}
}

View File

@ -16,22 +16,28 @@ using AyCode.Interfaces.ServiceProviders;
namespace AyCode.Entities.Users
{
[Table("Users")]
public abstract class AcUser<TProfile, TServiceProvider, TUserToServiceProvider> : IAcUser<TProfile, TServiceProvider, TUserToServiceProvider>
where TProfile : class, IAcProfile
public abstract class AcUser<TProfile, TServiceProvider, TUserToServiceProvider>() : IAcUser<TProfile, TServiceProvider, TUserToServiceProvider>
where TProfile : class, IAcProfile
where TServiceProvider : class, IAcServiceProviderBase
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
[Column("Email")]
[Required, Column("Email")]
public string EmailAddress { get; set; }
//public string NormalizedEmail { get; set; }
public string PhoneNumber { get; set; }
public string Password { get; set; }
public string? RefreshToken { get; set; }
public bool EmailConfirmed { get; set; }
[Required]
public Guid AffiliateId { get; set; } = Guid.NewGuid();
public Guid? RefferalId { get; set; }
[Required]
public Guid ProfileId { get; set; }
[ForeignKey(nameof(ProfileId))]
public virtual TProfile Profile { get; set; }
@ -44,8 +50,6 @@ namespace AyCode.Entities.Users
public DateTime Modified { get; set; }
protected AcUser() { }
protected AcUser(string email, string password) : this(Guid.NewGuid(), email, password) { }
protected AcUser(Guid id, string email, string password) : this()

View File

@ -5,5 +5,6 @@ namespace AyCode.Interfaces.Profiles.Dtos;
public interface IAcProfileDtoBase : IEntityGuid, IMediaInfo
{
string? Name { get; set; }
string Name { get; set; }
string? Description { get; set; }
}

View File

@ -3,6 +3,7 @@ using AyCode.Interfaces.Entities;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.TimeStampInfo;
using System;
using System.Dynamic;
namespace AyCode.Interfaces.ServiceProviders;
@ -10,6 +11,8 @@ public interface IAcServiceProviderBase : IEntityGuid, ITimeStampInfo, IOwnerId
{
string Name { get; set; }
double? CommissionPercent { get; set; }
Guid AffiliateId { get; set; }
Guid? ReferralId { get; set; }
}

View File

@ -6,5 +6,5 @@ namespace AyCode.Interfaces.Users.Dtos;
public interface IAcUserDtoMinBase<TProfile> : IEntityGuid, IAcProfileRelation<TProfile> where TProfile : class, IAcProfile
{
public Guid AffiliateId { get; set; }
}

View File

@ -9,4 +9,6 @@ public interface IAcUserBase : IEntityGuid, IAcProfileForeignKey, IEmailAddress,
{
public string PhoneNumber { get; set; }
public string? RefreshToken { get; set; }
public Guid? RefferalId { get; set; }
}

View File

@ -22,10 +22,12 @@ public abstract class AcUserModelDtoBase<TUserDto, TProfile, TProfileDto, TServi
{
if (user.ServiceProviders.Count == 0) return;
UserDto.AffiliateId = user.AffiliateId;
//így proxy error lesz... - J.
//ServiceProviders = new List<TServiceProvider>(user.ServiceProviders);
//UserToServiceProviders = new List<TUserToServiceProvider>(user.UserToServiceProviders);
ServiceProviders = new List<TServiceProvider>(user.ServiceProviders.Count);
UserToServiceProviders = new List<TUserToServiceProvider>(user.UserToServiceProviders.Count);

View File

@ -20,6 +20,7 @@ public abstract class AcUserModelDtoMinBase<TUserDtoMin, TProfile, TProfileDto>
UserDto = Activator.CreateInstance<TUserDtoMin>();
UserDto.Id = user.Id;
UserDto.AffiliateId = user.AffiliateId;
Profile = Activator.CreateInstance<TProfileDto>();
Profile.Id = user.Profile.Id;