Copy – копировать сущность
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > Create, Copy, Delete – cоздание, удаление, изменение сущности Copy – копировать сущность |
Метод используется для создания сущности копированием существующей. После копирования сущности ее следует сохранить. Для этого используйте метод Save(), предварительно заполните обязательные поля.
Синтаксис
C# |
public static Copy(item); |
Параметры
item – копируемая сущность.
Возвращаемое значение
Сущность, созданная копированием.
Пример. Копирование дел
/// <summary>
/// Скопировать дело в заданный период.
/// </summary>
/// <param name="startDate">Дата начала.</param>
/// <param name="endDate">Дата конца.</param>
/// <returns>Дело.</returns>
public virtual ICaseFile CopyCaseFileOnNextPeriod(DateTime startDate, DateTime endDate)
{
var newCaseFile = CaseFiles.Copy(_obj);
newCaseFile.Note = Sungero.Docflow.CaseFiles.Resources.AutoCreatedCaseFileNote;
Logger.DebugFormat("CopyCaseFiles: Case File (Id {0}) copying.", _obj.Id);
var periodYear = startDate.Year;
var periodIsYear = startDate == Calendar.BeginningOfYear(startDate) &&
endDate == Calendar.EndOfYear(startDate);
if (periodIsYear)
{
newCaseFile.StartDate = newCaseFile.StartDate.Value.AddYears(periodYear - newCaseFile.StartDate.Value.Year);
newCaseFile.EndDate = newCaseFile.EndDate.Value.AddYears(periodYear - newCaseFile.EndDate.Value.Year);
Logger.DebugFormat("CopyCaseFiles: Case File Start Date changed {0} >> {1} ",
_obj.StartDate.Value.ToShortDateString(),
newCaseFile.StartDate.Value.ToShortDateString());
Logger.DebugFormat("CopyCaseFiles: Case File End Date changed {0} >> {1} ",
_obj.EndDate.Value.ToShortDateString(),
newCaseFile.EndDate.Value.ToShortDateString());
}
newCaseFile.Save();
return newCaseFile;
}
© Компания Directum, 2024 |