using TeleWave.Application.Common.Models;

namespace TeleWave.Application.Programming.Groups;

public static class GroupErrors
{
    public static readonly Error NotFound = Error.NotFound("Groups.NotFound", "Группа не найдена.");

    public static readonly Error ItemNotFound = Error.NotFound(
        "Groups.ItemNotFound",
        "Позиция в группе не найдена."
    );

    public static readonly Error ElementNotFound = Error.NotFound(
        "Groups.ElementNotFound",
        "Шоу или коллекция не найдены."
    );

    public static readonly Error InUse = Error.Conflict(
        "Groups.InUse",
        "Группа используется в сетке: на неё ссылается слот, врезка стыка или запасная группа шаблона."
    );

    public static readonly Error FilterNotSet = Error.Validation(
        "Groups.FilterNotSet",
        "У группы не задано правило набора."
    );

    public static readonly Error ExclusionsForDynamicOnly = Error.Validation(
        "Groups.ExclusionsForDynamicOnly",
        "Исключения есть только у динамической группы — в статической состав правится списком."
    );

    public static readonly Error SuggestionNotFound = Error.NotFound(
        "Groups.SuggestionNotFound",
        "Предложение устарело — библиотека изменилась. Обновите список предложений."
    );

    public static readonly Error SuggestionAlreadyCreated = Error.Conflict(
        "Groups.SuggestionAlreadyCreated",
        "Группа с таким названием уже есть."
    );
}
