Browse Source

Resolved #354: Add object[] GetKeys() to IEntity.

pull/395/head
Halil ibrahim Kalkan 8 years ago
parent
commit
a1af5081aa
  1. 10
      framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Entity.cs
  2. 2
      framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/IEntity.cs
  3. 4
      framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs
  4. 5
      framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/PhoneInSecondDbContext.cs
  5. 5
      framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/EventBus_MultipleHandle_Test.cs
  6. 10
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Phone.cs
  7. 5
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs
  8. 5
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs
  9. 5
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserToken.cs

10
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Entity.cs

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using Volo.Abp.MultiTenancy;
@ -11,8 +12,10 @@ namespace Volo.Abp.Domain.Entities
/// <inheritdoc/>
public override string ToString()
{
return $"[ENTITY: {GetType().Name}]";
return $"[ENTITY: {GetType().Name}] Keys = {GetKeys().JoinAsString(", ")}";
}
public abstract object[] GetKeys();
}
/// <inheritdoc cref="IEntity{TKey}" />
@ -97,6 +100,11 @@ namespace Volo.Abp.Domain.Entities
return !(left == right);
}
public override object[] GetKeys()
{
return new object[] {Id};
}
/// <inheritdoc/>
public override string ToString()
{

2
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/IEntity.cs

@ -6,7 +6,7 @@
/// </summary>
public interface IEntity
{
object[] GetKeys();
}
/// <summary>

4
framework/test/Volo.Abp.Ddd.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs

@ -230,6 +230,10 @@ namespace Volo.Abp.Domain.Repositories
public class MyTestAggregateRootWithoutPk : AggregateRoot
{
public string MyId { get; set; }
public override object[] GetKeys()
{
return new object[] {MyId};
}
}
public class MyTestDefaultRepository<TEntity> : RepositoryBase<TEntity>

5
framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/PhoneInSecondDbContext.cs

@ -10,5 +10,10 @@ namespace Volo.Abp.EntityFrameworkCore.TestApp.SecondContext
public virtual Guid PersonId { get; set; }
public virtual string Number { get; set; }
public override object[] GetKeys()
{
return new object[] {PersonId, Number};
}
}
}

5
framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/EventBus_MultipleHandle_Test.cs

@ -24,7 +24,10 @@ namespace Volo.Abp.EventBus
public class MyEntity : Entity
{
public override object[] GetKeys()
{
return new object[0];
}
}
public class MyEventHandler :

10
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Phone.cs

@ -26,6 +26,11 @@ namespace Volo.Abp.TestApp.Domain
Number = number;
Type = type;
}
public override object[] GetKeys()
{
return new object[] {PersonId, Number};
}
}
public class Order : AggregateRoot<Guid>
@ -96,5 +101,10 @@ namespace Volo.Abp.TestApp.Domain
{
Count = newCount;
}
public override object[] GetKeys()
{
return new object[] {OrderId, ProductId};
}
}
}

5
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs

@ -72,5 +72,10 @@ namespace Volo.Abp.Identity
{
return new UserLoginInfo(LoginProvider, ProviderKey, ProviderDisplayName);
}
public override object[] GetKeys()
{
return new object[] {UserId, LoginProvider};
}
}
}

5
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs

@ -32,5 +32,10 @@ namespace Volo.Abp.Identity
RoleId = roleId;
TenantId = tenantId;
}
public override object[] GetKeys()
{
return new object[] { UserId, RoleId };
}
}
}

5
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserToken.cs

@ -53,5 +53,10 @@ namespace Volo.Abp.Identity
Value = value;
TenantId = tenantId;
}
public override object[] GetKeys()
{
return new object[] { UserId, LoginProvider, Name };
}
}
}
Loading…
Cancel
Save