Обработка поля: различия между версиями
Внешний вид
Sidminik (обсуждение | вклад) Новая страница: «==Входные параметры== ==Выходные параметры== ==Алгоритм== ==Использование в выражениях== ==Использование во вкладке кода== ==Подключение== ==Код функции==» |
Sidminik (обсуждение | вклад) |
||
| (не показано 11 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
Функция <code>FieldOr</code> - предназначена для универсальной обработки входящих полей из базы данных. | |||
==Входные параметры== | ==Входные параметры== | ||
*<code>field</code> - входное значение для проверки и форматирования; | |||
*<code>defaultValue</code> - строка, возвращаемая если значение пустое (по умолчанию <code>-</code>); | |||
*<code>prefix</code> - префикс, добавляемый к непустому значению; | |||
*<code>suffix</code> - суффикс, добавляемый к непустому значению. | |||
==Выходные параметры== | ==Выходные параметры== | ||
*или строка <code>defaultValue</code>, если значение пустое; | |||
*или входящая строка с добавлением префикса (при наличии) и суффикса (при наличии). | |||
==Алгоритм== | ==Алгоритм== | ||
*Анализирует входной строковый параметр на наличие/отсутствие (<code>NULL</code>, пустые строки, пробелы, отсутствующие даты или числа) значений. | |||
*При отсутствии значения - заменяет пустоту по умолчанию на дефис ("-"), но позволяет задать любое другое строковое значение по умолчанию. | |||
*При наличии значения - заменяет входящую строку с добавлением префикса (при наличии) и/или суффикса (при наличии). | |||
==Использование в выражениях== | ==Использование в выражениях== | ||
<syntaxhighlight lang="java"> | |||
// A_1 | |||
[FieldOr([Main.laboratory])] | |||
// W_1 | |||
[FieldOr([OrgInfo.lab_tel], prefix: "т. ")] | |||
</syntaxhighlight> | |||
==Использование во вкладке кода== | ==Использование во вкладке кода== | ||
==Код функции== | ==Код функции== | ||
<syntaxhighlight lang="C#"> | |||
/// <summary> | |||
/// Универсальная обработка пустых значений (NULL, пустые строки, пробелы, отсутствующие даты или числа).<br/> | |||
/// По умолчанию заменяет пустоту на дефис ("-"), но позволяет задать любое строковое значение по умолчанию.<br/> | |||
/// При необходимости можно добавить перегрузку для типов данных. | |||
/// </summary> | |||
/// <param name="field">Входное значение для проверки и форматирования.</param> | |||
/// <param name="defaultValue">Строка, возвращаемая если значение пустое (по умолчанию "-").</param> | |||
/// <param name="prefix">Префикс, добавляемый к непустому значению.</param> | |||
/// <param name="suffix">Суффикс, добавляемый к непустому значению.</param> | |||
/// <returns> | |||
/// - или строку <paramref name="defaultValue"/>, если значение пустое;<br/> | |||
/// - или строковое представление объекта с добавлением префикса (при наличии) и суффикса (при наличии). | |||
/// </returns> | |||
public static string FieldOr(object? field, string defaultValue = "-", string prefix = "", string suffix = "") | |||
{ | |||
if (field == null || field == DBNull.Value) | |||
{ | |||
return defaultValue; | |||
} | |||
var fieldString = field.ToString(); | |||
return string.IsNullOrWhiteSpace(fieldString) | |||
? defaultValue | |||
: $"{prefix}{fieldString}{suffix}"; | |||
} | |||
</syntaxhighlight> | |||
Текущая версия от 03:44, 21 октября 2026
Функция FieldOr - предназначена для универсальной обработки входящих полей из базы данных.
Входные параметры
field- входное значение для проверки и форматирования;defaultValue- строка, возвращаемая если значение пустое (по умолчанию-);prefix- префикс, добавляемый к непустому значению;suffix- суффикс, добавляемый к непустому значению.
Выходные параметры
- или строка
defaultValue, если значение пустое; - или входящая строка с добавлением префикса (при наличии) и суффикса (при наличии).
Алгоритм
- Анализирует входной строковый параметр на наличие/отсутствие (
NULL, пустые строки, пробелы, отсутствующие даты или числа) значений. - При отсутствии значения - заменяет пустоту по умолчанию на дефис ("-"), но позволяет задать любое другое строковое значение по умолчанию.
- При наличии значения - заменяет входящую строку с добавлением префикса (при наличии) и/или суффикса (при наличии).
Использование в выражениях
// A_1
[FieldOr([Main.laboratory])]
// W_1
[FieldOr([OrgInfo.lab_tel], prefix: "т. ")]
Использование во вкладке кода
Код функции
/// <summary>
/// Универсальная обработка пустых значений (NULL, пустые строки, пробелы, отсутствующие даты или числа).<br/>
/// По умолчанию заменяет пустоту на дефис ("-"), но позволяет задать любое строковое значение по умолчанию.<br/>
/// При необходимости можно добавить перегрузку для типов данных.
/// </summary>
/// <param name="field">Входное значение для проверки и форматирования.</param>
/// <param name="defaultValue">Строка, возвращаемая если значение пустое (по умолчанию "-").</param>
/// <param name="prefix">Префикс, добавляемый к непустому значению.</param>
/// <param name="suffix">Суффикс, добавляемый к непустому значению.</param>
/// <returns>
/// - или строку <paramref name="defaultValue"/>, если значение пустое;<br/>
/// - или строковое представление объекта с добавлением префикса (при наличии) и суффикса (при наличии).
/// </returns>
public static string FieldOr(object? field, string defaultValue = "-", string prefix = "", string suffix = "")
{
if (field == null || field == DBNull.Value)
{
return defaultValue;
}
var fieldString = field.ToString();
return string.IsNullOrWhiteSpace(fieldString)
? defaultValue
: $"{prefix}{fieldString}{suffix}";
}