using Brizco.Domain.Dtos.LargeDtos;

namespace Brizco.Domain.CommandQueries.Commands;

public sealed record CreateTaskCommand(TaskType Type,
string Title,
string Description,
bool IsDisposable,
long SetFor,
bool HasDisposed,
int Amount,
PurchaseAmountType AmountType,
TaskScheduleType ScheduleType,
List<Guid> Routines,
List<Guid> Shifts,
List<Guid> Positions,
List<DayOfWeek> Days) : IRequest<TaskLDto>;

public sealed record UpdateTaskCommand(Guid Id,
    TaskType Type,
    string Title,
    string Description,
    bool IsDisposable,
    long SetFor,
    bool HasDisposed,
    int Amount,
    PurchaseAmountType AmountType,
    TaskScheduleType ScheduleType,
    List<Guid> Routines,
    List<Guid> Shifts,
    List<Guid> Positions,
    List<DayOfWeek> Days) : IRequest<bool>;


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