You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Domain/Person.cs

47 lines
1.2 KiB

using System;
using System.Collections.ObjectModel;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.TestApp.Domain
{
public class Person : AggregateRoot<Guid>, IMultiTenant, ISoftDelete
{
public virtual Guid? TenantId { get; set; }
public virtual Guid? CityId { get; set; }
public virtual string Name { get; private set; }
public virtual int Age { get; set; }
public virtual Collection<Phone> Phones { get; set; }
public virtual bool IsDeleted { get; set; }
private Person()
{
}
public Person(Guid id, string name, int age, Guid? tenantId = null, Guid? cityId = null)
{
Id = id;
Name = name;
Age = age;
TenantId = tenantId;
CityId = cityId;
Phones = new Collection<Phone>();
}
public virtual void ChangeName(string name)
{
Check.NotNullOrWhiteSpace(name, nameof(name));
var oldName = Name;
Name = name;
DomainEvents.Add(new PersonNameChangedEvent{Person = this, OldName = oldName});
}
}
}