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

127 lines
2.7 KiB
C#

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;
}
}