Affiliates: fixed mapping
This commit is contained in:
parent
f9ff3fc378
commit
58d328431a
@ -192,6 +192,7 @@ public class DbTenantService : ITenantService
|
||||
{
|
||||
using var tenantDbContext = _dbContextFactory.CreateDbContext();
|
||||
using var tx = await tenantDbContext.Database.BeginTransactionAsync();
|
||||
DbTenant dbTenant = null;
|
||||
|
||||
if (!string.IsNullOrEmpty(tenant.MappedDomain))
|
||||
{
|
||||
@ -210,6 +211,7 @@ public class DbTenantService : ITenantService
|
||||
if (tenant.Id == Tenant.DefaultTenant)
|
||||
{
|
||||
tenant.Version = await tenantDbContext.TenantVersion
|
||||
.AsNoTracking()
|
||||
.Where(r => r.DefaultVersion == 1 || r.Id == 0)
|
||||
.OrderByDescending(r => r.Id)
|
||||
.Select(r => r.Id)
|
||||
@ -217,17 +219,21 @@ public class DbTenantService : ITenantService
|
||||
|
||||
tenant.LastModified = DateTime.UtcNow;
|
||||
|
||||
var dbTenant = _mapper.Map<Tenant, DbTenant>(tenant);
|
||||
dbTenant = _mapper.Map<Tenant, DbTenant>(tenant);
|
||||
dbTenant.Id = 0;
|
||||
dbTenant = tenantDbContext.Tenants.Add(dbTenant).Entity;
|
||||
|
||||
var entity = tenantDbContext.Tenants.Add(dbTenant);
|
||||
dbTenant = entity.Entity;
|
||||
|
||||
await tenantDbContext.SaveChangesAsync();
|
||||
|
||||
tenant.Id = dbTenant.Id;
|
||||
entity.State = EntityState.Detached;
|
||||
}
|
||||
else
|
||||
{
|
||||
var dbTenant = await tenantDbContext.Tenants
|
||||
dbTenant = await tenantDbContext.Tenants
|
||||
.AsNoTracking()
|
||||
.Where(r => r.Id == tenant.Id)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
@ -259,6 +265,7 @@ public class DbTenantService : ITenantService
|
||||
if (string.IsNullOrEmpty(tenant.PartnerId) && string.IsNullOrEmpty(tenant.AffiliateId) && string.IsNullOrEmpty(tenant.Campaign))
|
||||
{
|
||||
var p = tenantDbContext.TenantPartner
|
||||
.AsNoTracking()
|
||||
.Where(r => r.TenantId == tenant.Id)
|
||||
.FirstOrDefault();
|
||||
|
||||
@ -274,7 +281,8 @@ public class DbTenantService : ITenantService
|
||||
TenantId = tenant.Id,
|
||||
PartnerId = tenant.PartnerId,
|
||||
AffiliateId = tenant.AffiliateId,
|
||||
Campaign = tenant.Campaign
|
||||
Campaign = tenant.Campaign,
|
||||
Tenant = dbTenant
|
||||
};
|
||||
|
||||
tenantDbContext.TenantPartner.Add(tenantPartner);
|
||||
|
@ -86,6 +86,7 @@ public static class DbTenantExtension
|
||||
{
|
||||
public static ModelBuilderWrapper AddDbTenant(this ModelBuilderWrapper modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<DbTenant>().Navigation(e => e.Partner).AutoInclude();
|
||||
|
||||
modelBuilder
|
||||
.AddDbTenantPartner()
|
||||
|
@ -49,6 +49,8 @@ public static class DbTenantPartnerExtension
|
||||
|
||||
public static void MySqlAddDbTenantPartner(this ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<DbTenantPartner>().Navigation(e => e.Tenant).AutoInclude(false);
|
||||
|
||||
modelBuilder.Entity<DbTenantPartner>(entity =>
|
||||
{
|
||||
entity.HasKey(e => new { e.TenantId })
|
||||
|
@ -60,6 +60,17 @@ public class Tenant : IMapFrom<DbTenant>
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
public void Mapping(Profile profile)
|
||||
{
|
||||
profile.CreateMap<DbTenant, Tenant>()
|
||||
.ForMember(r => r.TrustedDomainsType, opt => opt.MapFrom(src => src.TrustedDomainsEnabled))
|
||||
.ForMember(r => r.AffiliateId, opt => opt.MapFrom(src => src.Partner.AffiliateId))
|
||||
.ForMember(r => r.PartnerId, opt => opt.MapFrom(src => src.Partner.PartnerId))
|
||||
.ForMember(r => r.Campaign, opt => opt.MapFrom(src => src.Partner.Campaign));
|
||||
|
||||
profile.CreateMap<TenantUserSecurity, Tenant>()
|
||||
.IncludeMembers(src => src.DbTenant);
|
||||
}
|
||||
|
||||
public string AffiliateId { get; set; }
|
||||
public string Alias { get; set; }
|
||||
@ -147,15 +158,6 @@ public class Tenant : IMapFrom<DbTenant>
|
||||
return result;
|
||||
}
|
||||
|
||||
public void Mapping(Profile profile)
|
||||
{
|
||||
profile.CreateMap<DbTenant, Tenant>()
|
||||
.ForMember(r => r.TrustedDomainsType, opt => opt.MapFrom(src => src.TrustedDomainsEnabled));
|
||||
|
||||
profile.CreateMap<TenantUserSecurity, Tenant>()
|
||||
.IncludeMembers(src => src.DbTenant);
|
||||
}
|
||||
|
||||
public void SetStatus(TenantStatus status)
|
||||
{
|
||||
Status = status;
|
||||
|
@ -221,6 +221,11 @@ public class PortalController : ControllerBase
|
||||
info.AffiliateId = model.AffiliateId;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(model.PartnerId))
|
||||
{
|
||||
info.PartnerId = model.PartnerId;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(model.Campaign))
|
||||
{
|
||||
info.Campaign = model.Campaign;
|
||||
|
@ -35,6 +35,9 @@ public class TenantModel : IModel
|
||||
[StringLength(255)]
|
||||
public string AffiliateId { get; set; }
|
||||
|
||||
[StringLength(255)]
|
||||
public string PartnerId { get; set; }
|
||||
|
||||
public string Campaign { get; set; }
|
||||
|
||||
[StringLength(255)]
|
||||
|
Loading…
Reference in New Issue
Block a user