コード例 #1
0
ファイル: TASSyncService.asmx.cs プロジェクト: SanSay157/IT8
        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);
            }
        }
コード例 #2
0
        /// <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);
        }