namespace Brizco.Domain.CommandQueries.Commands;

public sealed record CreateTaskCommand(TaskType Type,
string Title,
string Description,
bool IsRelatedToShift,
bool IsRelatedToRole,
bool IsRelatedToPerson,
bool IsDisposable,
DateTime SetFor,
bool HasDisposed,
int Amount,
PurchaseAmountType AmountType,
List<Guid> Users,
List<Guid> Shifts,
List<Guid> Roles,
List<DayOfWeek> Days) : IRequest<TaskLDto>;

public sealed record UpdateTaskCommand(Guid Id,
    TaskType Type,
    string Title,
    string Description,
    bool IsRelatedToShift,
    bool IsRelatedToRole,
    bool IsRelatedToPerson,
    bool IsDisposable,
    DateTime SetFor,
    bool HasDisposed,
    int Amount,
    PurchaseAmountType AmountType,
    List<Guid> Users,
    List<Guid> Shifts,
    List<Guid> Roles,
    List<DayOfWeek> Days) : IRequest<bool>;


public sealed record DeleteTaskCommand(Guid Id)
    : IRequest<bool>;