This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class PlanningTool | |
{ | |
internal int Id { get; private set; } | |
// Rest of class | |
public ICollection<PlanningToolTab> Tabs { get; private set; } | |
} | |
public class PlanningToolTab | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Student : Entity | |
{ | |
public string FirstName { get; private set; } | |
public string LastName { get; private set; } | |
public int FavoriteCourseId { get; private set; } // Foreign key | |
} | |
public class Course : Entity | |
{ | |
public string Title { get; private set; } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class Entity | |
{ | |
public virtual long Id { get; protected set; } | |
protected virtual object Actual => this; | |
public override bool Equals(object obj) | |
{ | |
var other = obj as Entity; | |
if (other is null) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Student : Entity | |
{ | |
public virtual string Name { get; set; } | |
public virtual decimal TotalDebt { get; set; } | |
public virtual IList<Enrollment> Enrollments { get; set; } | |
public virtual IList<SportsActivity> SportsActivities { get; set; } | |
} | |
public class Enrollment : Entity |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Person : Entity | |
{ | |
public virtual string Name { get; set; } | |
public virtual Document Document { get; set; } | |
} | |
public class Document : Entity | |
{ | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Person : Entity | |
{ | |
public virtual string Name { get; set; } | |
private readonly DocumentContainer _document; | |
public virtual Document Document | |
{ | |
get => _document.Document; | |
set => _document.Document = value; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public IActionResult EditPersonalInfo([FromBody] EditPersonalInfoCommand command) | |
{ | |
var handler = new EditPersonalInfoCommandHandler(_unitOfWork); | |
Result result = handler.Handle(command); | |
return result.IsSuccess ? Ok() : Error(result.Error); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public sealed class EnrollCommand : ICommand | |
{ | |
public long StudentId { get; } | |
public string Course { get; } | |
public string Grade { get; } | |
public EnrollCommand(long studentId, string course, string grade) | |
{ | |
if (course == null || grade == null) // Precondition checks | |
throw ArgumentException(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class EditPersonalInfoCommandHandler : ICommandHandler<EditPersonalInfoCommand> | |
{ | |
public Result Handle(EditPersonalInfoCommand command) | |
{ | |
for (int i = 0; ; i++) | |
{ | |
try | |
{ | |
var unitOfWork = new UnitOfWork(_sessionFactory); | |
Student student = unitOfWork.GetStudentById(command.Id); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public sealed class Messages | |
{ | |
private readonly IServiceProvider _provider; | |
public Messages(IServiceProvider provider) | |
{ | |
_provider = provider; | |
} | |
public void Dispatch(IDomainEvent domainEvent) |