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

123 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using PARR.BLL.Domain;
using PARR.DAL.Extensions;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json;
namespace PARR.DAL.Contracts
{
/// <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;
/// <summary>
/// Префикс имени шаблона в ЕСПП с динамичным префиксом %PREFIX%-
/// </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 ScheduleExcludeType { get; set; } = string.Empty;
/// <summary>
/// Расписание регламентной работы - Календарь
/// </summary>
public string ScheduleExcludeCalendar { 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);
/// <summary>
/// Префикс тега в поле ЭК "Дополнительная информация"
/// </summary>
public string EsppUnitTag { get; set; } = string.Empty;
}
}