namespace Brizco.Domain.CommandQueries.Commands;

public sealed record CreateActivityCommand(
    ActivityStatus Status,
    DateTime DoneAt,
    string PerformanceDescription,
    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) : IRequest<ActivityLDto>;

public sealed record UpdateActivityCommand(Guid Id,
    ActivityStatus Status,
    DateTime DoneAt,
    string PerformanceDescription,
    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) : IRequest<bool>;


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