Перейти к содержанию

Обработка поля: различия между версиями

Материал из Химсофт Вики
Новая страница: «==Входные параметры== ==Выходные параметры== ==Алгоритм== ==Использование в выражениях== ==Использование во вкладке кода== ==Подключение== ==Код функции==»
 
 
(не показано 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}"; 
}