Api/Brizco.Domain/Entities/Shift/Aggregate.Shift.cs

33 lines
820 B
C#

using System;
namespace Brizco.Domain.Entities.Shift;
public partial class Shift
{
public static Shift Create(string title, string description, TimeSpan startAt, TimeSpan endAt,Guid complexId)
{
return new Shift(title, description, startAt, endAt,complexId);
}
public ShiftDay SetDay(DayOfWeek dayOfWeek)
{
var shiftDay = new ShiftDay(dayOfWeek, this.Id);
this.Days.Add(shiftDay);
return shiftDay;
}
public ShiftPlan AddPlan(DateTime planDate)
{
var plan = new ShiftPlan(planDate , Id);
Plans.Add(plan);
return plan;
}
}
public partial class ShiftPlan
{
public ShiftPlanUser AddUser(Guid userId)
{
var planUser = new ShiftPlanUser(Id , userId);
Users.Add(planUser);
return planUser;
}
}