Предельные значения зимних надбавок

Доменная сущность Версия: 0.2 draft

Зимняя надбавка к норме расхода топлива по субъекту Российской Федерации: количество месяцев и срок действия, предельная величина надбавки.

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class WinterAllowance {
        +Guid id
        +Subject subject_id
        +Decimal months
        +String period
        +Decimal limit_percent
    }
    class Subject
    WinterAllowance "1" --> "1" Subject : subject_id

Структура

НаименованиеАтрибутТипОбязательно для созданияЕИДиапазон / форматНеизменяемостьОписание
Идентификатор записиidGuidДаUUIDДа
Субъект Российской Федерацииsubject_idSubjectДаСубъект РФ, к которому относится зимняя надбавка
Количество месяцев действия надбавкиmonthsDecimalНетмес.вещественное, ≥ 0
Срок действия надбавкиperiodStringНетНапример, «01.XI..31.III»
Предельная величина зимних надбавок, не болееlimit_percentDecimalНет%вещественное, ≥ 0

Исходник

    public class WinterAllowance
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
        public Guid Id { get; set; }

        /// <summary>Субъект Российской Федерации</summary>
        [Relation]
        [DomainField(Alias = "subject_id", RequiredOnCreate = true,
            Description = "Субъект РФ, к которому относится зимняя надбавка")]
        public Subject? Subject { get; set; }

        /// <summary>Количество месяцев действия надбавки</summary>
        [DomainField(Alias = "months", Unit = "мес.", Range = "вещественное, ≥ 0")]
        public decimal? Months { get; set; }

        /// <summary>Срок действия надбавки</summary>
        [DomainField(Alias = "period", Description = "Например, «01.XI..31.III»")]
        public string? Period { get; set; }

        /// <summary>Предельная величина зимних надбавок, не более</summary>
        [DomainField(Alias = "limit_percent", Unit = "%", Range = "вещественное, ≥ 0")]
        public decimal? LimitPercent { get; set; }
    }