Files
parr_api/PARR.DAL/Contracts/SettingsFromDb.cs

113 lines
4.3 KiB
C#
Raw Normal View History

using PARR.BLL.Domain;
using PARR.DAL.Extensions;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json;
namespace PARR.DAL.Contracts
2023-09-19 14:34:55 +10:00
{
/// <summary>
/// Настройки из БД
/// </summary>
public class SettingsFromDb
{
// При добавлении свойств, добавлять в миграцию: PARR.DAL.Context.DataContext
/// <summary>
/// Инициатор регламентной работы, указывается при создании шаблона в ЕСПП.
/// </summary>
public string Initiator { get; set; } = string.Empty;
/// <summary>
/// Код закрытия регламентной работы, указывается при создании шаблона в ЕСПП.
/// </summary>
public string ClosingCode { get; set; } = string.Empty;
/// <summary>
/// Категория создаваемого объекта в ЕСПП
/// </summary>
public string Category { get; set; } = string.Empty;
2023-09-20 11:52:30 +10:00
/// <summary>
/// Префикс имени шаблона в ЕСПП с динамичным префиксом %PREFIX%-
2023-09-20 11:52:30 +10:00
/// </summary>
public string TemplatePrefixName { get; set; } = string.Empty;
/// <summary>
/// Префикс имени шаблона в ЕСПП без динамичного префикса (используется для подстановки в полное описание наряда/шаблона)
/// </summary>
public string TemplatePrefixWithoutVariable => TemplatePrefixName.Replace("%PREFIX%-", "");
public string TemplateNameConstantParts { get; set; } = string.Empty;
[NotMapped]
public List<TemplateNameConstantPart> TemplateNameConstantPartsList
{
get
{
if (!string.IsNullOrEmpty(TemplateNameConstantParts))
{
try
{
return JsonSerializer.Deserialize<List<TemplateNameConstantPart>>(TemplateNameConstantParts) ?? new List<TemplateNameConstantPart>();
}
catch
{
return new List<TemplateNameConstantPart>();
}
}
return new List<TemplateNameConstantPart>();
}
set
{
if (value != null)
TemplateNameConstantParts = value.ToJson() ?? string.Empty;
}
}
/// <summary>
/// Количество попыток выполнения задания роботом
/// </summary>
public int RobotAttemptsNumber { get; set; }
/// <summary>
/// Время ожидания выполнения роботом задания
/// </summary>
public TimeSpan RobotWaitTime { get; set; }
/// <summary>
/// Расписание регламентной работы - В каком часовом поясе
/// </summary>
public string ScheduleTimezone { get; set; } = string.Empty;
/// <summary>
/// Расписание регламентной работы - Тип исключения
/// </summary>
public string ScheduleExclude { get; set; } = string.Empty;
/// <summary>
/// Расписание регламентной работы - Диапазн повторов
/// </summary>
public string ScheduleRepeatRange { get; set; } = string.Empty;
/// <summary>
/// Промежуток времени для поиска нарядов в ЕСПП
/// </summary>
public TimeSpan OrderSearchDeltaDate { get; set; }
/// <summary>
/// Таймзона УЗ роботов в ЕСПП, в часах (может быть положительным и отрицательным)
/// </summary>
public int EsppRobotAccountTimeZoneHour { get; set; }
/// <summary>
/// Время хранения в кэше данных о выходных и рабочих днях
/// </summary>
public TimeSpan WeekendCacheTtl { get; set; } = new TimeSpan(0, 5, 0);
2023-09-19 14:34:55 +10:00
}
2023-09-19 14:34:55 +10:00
}