using Brizco.Domain.Entities.Routine; namespace Brizco.Domain.Entities.Task; public partial class Task { public static Task Create( string title, string description, TaskType type, bool isDisposable, DateTime setFor, bool hasDisposed, int amount, PurchaseAmountType amountType, Guid complexId) { return new Task( type, isDisposable, setFor, hasDisposed, amount, amountType, title, description, complexId); } public TaskDay SetDay(DayOfWeek dayOfWeek) { var taskDay = new TaskDay(dayOfWeek, Id); Days.Add(taskDay); return taskDay; } public void AddShift(params Guid[] shiftIds) { foreach (var shiftId in shiftIds) { var plan = new TaskShift(Id, shiftId); Shifts.Add(plan); } } public TaskShift AddShift(Guid shiftId) { var plan = new TaskShift(Id, shiftId); Shifts.Add(plan); return plan; } public void AddPosition(params Guid[] positionIds) { foreach (var positionId in positionIds) { var position = new TaskPosition(Id, positionId); Positions.Add(position); } } public TaskPosition AddPosition(Guid positionId) { var position = new TaskPosition(Id, positionId); Positions.Add(position); return position; } public void AddRoutine(params Guid[] routineIds) { foreach (var routineId in routineIds) { var routine = new TaskRoutine(Id, routineId); Routines.Add(routine); } } public TaskRoutine AddRoutine(Guid routineId) { var routine = new TaskRoutine(Id, routineId); Routines.Add(routine); return routine; } } public partial class Activity { public static Activity Create( ActivityStatus status, DateTime doneAt, string performanceDescription, string title, string description, TaskType type, bool isDisposable, DateTime setFor, bool hasDisposed, int amount, PurchaseAmountType amountType, Guid complexId) { return new Activity( status, doneAt, performanceDescription, type, isDisposable, setFor, hasDisposed, amount, amountType, title, description, complexId); } public void DoneActivity() { DoneAt = DateTime.UtcNow; IsDone = true; } }