/// <summary> /// Заполнить результат возврата. /// </summary> /// <param name="returnContol">Задача.</param> /// <param name="performer">Исполнитель.</param> /// <param name="documentIsReturned">Признак возврата документа.</param> public static void SetReturnResult(Sungero.Docflow.ICheckReturnTask returnContol, IUser performer, bool documentIsReturned) { var document = returnContol.DocumentGroup.OfficialDocuments.First(); var tracking = GetTrackingByTask(returnContol); if (tracking == null) { return; } if (documentIsReturned) { var resultReturned = Docflow.OfficialDocumentTracking.ReturnResult.Returned; if (tracking.ReturnResult != resultReturned) { var accessRights = document.AccessRights; tracking.ReturnResult = (accessRights.CanUpdate(performer) && accessRights.CanRegister(performer)) ? resultReturned : Docflow.OfficialDocumentTracking.ReturnResult.AtControl; } } else { tracking.ReturnResult = null; tracking.ReturnDate = null; } }
/// <summary> /// Получить строку выдачи. /// </summary> /// <param name="returnContol">Задача.</param> /// <returns>Коллекция выдачи.</returns> public static IOfficialDocumentTracking GetTrackingByTask(Sungero.Docflow.ICheckReturnTask returnContol) { var document = returnContol.DocumentGroup.OfficialDocuments.First(); return(document.Tracking.Where(r => Equals(r.ReturnTask, returnContol)).FirstOrDefault()); }