forked from ddrilling/AsbCloudServer
acb4e25f12
Основная логика вынесена в ChangeLogRepositoryAbstract. Добавлены методы работы с пакетным редактированием.
90 lines
2.6 KiB
C#
90 lines
2.6 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace AsbCloudDb.Model;
|
|
|
|
/// <summary>
|
|
/// Часть записи описывающая изменение
|
|
/// </summary>
|
|
public abstract class ChangeLogAbstract
|
|
{
|
|
/// <summary>
|
|
/// Актуальная
|
|
/// </summary>
|
|
public const int IdStateActual = 0;
|
|
|
|
/// <summary>
|
|
/// Замененная
|
|
/// </summary>
|
|
public const int IdStateReplaced = 1;
|
|
|
|
/// <summary>
|
|
/// Удаленная
|
|
/// </summary>
|
|
public const int IdStateDeleted = 2;
|
|
|
|
/// <summary>
|
|
/// Очищено при импорте
|
|
/// </summary>
|
|
public const int IdCleared = 3;
|
|
|
|
/// <summary>
|
|
/// Ид записи
|
|
/// </summary>
|
|
[Key]
|
|
[Column("id"), Comment("Идентификатор")]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Автор изменения
|
|
/// </summary>
|
|
[Column("id_author"), Comment("Автор")]
|
|
public int IdAuthor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Редактор
|
|
/// </summary>
|
|
[Column("id_editor"), Comment("Редактор")]
|
|
public int? IdEditor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Дата создания записи
|
|
/// </summary>
|
|
[Column("creation"), Comment("дата создания")]
|
|
public DateTimeOffset Creation { get; set; }
|
|
|
|
/// <summary>
|
|
/// Дата устаревания (например при удалении)
|
|
/// </summary>
|
|
[Column("obsolete"), Comment("дата устаревания")]
|
|
public DateTimeOffset? Obsolete { get; set; }
|
|
|
|
/// <summary>
|
|
/// ИД состояния записи:
|
|
/// <list type="table">
|
|
/// <item>
|
|
/// <term>0</term>
|
|
/// <description>актуальная запись</description>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>1</term>
|
|
/// <description>замененная запись</description>
|
|
/// </item>
|
|
/// <item>
|
|
/// <term>2</term>
|
|
/// <description>удаленная запись</description>
|
|
/// </item>
|
|
/// </list>
|
|
/// </summary>
|
|
[Column("id_state"), Comment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная")]
|
|
public int IdState { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id заменяемой записи
|
|
/// </summary>
|
|
[Column("id_previous"), Comment("ИД состояния записи: \n0 - актуальная\n1 - замененная\n2 - удаленная")]
|
|
public int? IdPrevious { get; set; }
|
|
}
|