public bool UpdateTender(string sTenderID, string sNewFolderID) { // Проверяем параметры Guid uidTenderID = ObjectOperationHelper.ValidateRequiredArgumentAsID(sTenderID, "Идентификатор Тендера (sTenderID)"); Guid uidFolderID = ObjectOperationHelper.ValidateRequiredArgumentAsID(sNewFolderID, "Идентификатор Тендера в ITracker (sNewFolderID)"); // Загрузим объект типа "Тендер" ObjectOperationHelper helper = ObjectOperationHelper.GetInstance("Tender", uidTenderID); bool bExists = helper.SafeLoadObject(null, null); //Если данного тендера в системе СУТ нет,то выходим if (!bExists) { return(false); } ObjectOperationHelper folderHelper = helper.GetInstanceFromPropScalarRef("Folder", false); if (folderHelper == null || folderHelper.ObjectID != uidFolderID) { // Проставляем свойство "Тендер в Трекере" helper.SetPropScalarRef("Folder", "Folder", uidFolderID); helper.DropPropertiesXmlExcept("Folder"); helper.SaveObject(); return(true); } else { return(true); } }
/// <summary> /// Внутренний метод загрузки данных ds-объекта заданного типа, /// идентификатор которого определен в конфигурационном файле по /// заданному XPath-пути /// </summary> /// <param name="sElementPath">XPath-путь для элемента, задающего id объекта</param> /// <param name="sElementDescr">Описание объекта (исп. при генерации ошибки в тексте)</param> /// <param name="sTargetObjectType">Тип ds-объекта</param> /// <returns> /// Инициализированный и загруженные Helper-объект /// </returns> private ObjectOperationHelper loadObjectPresentation( string sElementPath, string sElementDescr, string sTargetObjectType) { XmlElement xmlElement = (XmlElement)SelectNode(sElementPath); if (null == xmlElement) { throw new ConfigurationErrorsException(String.Format( "{0}: Не задано {1} (элемент {2})", ERR_INCORRECT_CONFIG_DATA, sElementDescr, sElementPath )); } // ... пробуем зачитать идентификатор - сразу как Guid: Guid uidTargetObjectID = Guid.Empty; try { uidTargetObjectID = new Guid(xmlElement.GetAttribute("id")); if (Guid.Empty == uidTargetObjectID) { throw new ApplicationException("Ожидается не-нулевой идентификатор объекта (атрибут id)!"); } } catch (Exception err) { throw new ConfigurationErrorsException( String.Format( "{0}: Некорретное {1} - значение атрибута id элемента {2} ({3})", ERR_INCORRECT_CONFIG_DATA, sElementDescr, sElementPath, xmlElement.GetAttribute("id") ), err ); } // ... пробуем загрузить описание объекта: ObjectOperationHelper helper = ObjectOperationHelper.GetInstance(sTargetObjectType, uidTargetObjectID); helper.LoadObject(); return(helper); }