示例#1
0
        /// <summary>
        /// Поставляет данные задачи из базы Oracle в <see cref="taskOracleData"/>
        /// </summary>
        protected override void ProvideTaskOracleData()
        {
            Contract.Requires(Regex.IsMatch(TaskDataPack.ServiceId, @"^\d+$"));
            Contract.Requires(Regex.IsMatch(TaskDataPack.MethodId, @"^\d+$"));
            Contract.Requires(Regex.IsMatch(TaskDataPack.TaskId, @"^\d+$"));
            Contract.Requires(Regex.IsMatch(TaskDataPack.LastStartDate, @"^(\d+\.){2}\d+\s(\d+\:){2}\d+.+$"));
            Contract.Requires(!string.IsNullOrEmpty(TaskDataPack.MethodVersion));

            /// Заполняются параметры модели из <see cref="OriginTask.TaskDataPack"/>.
            Oracle.ExportDataProviderNsiItemParameters exportDataProviderNsiItemParameters = new Oracle.ExportDataProviderNsiItemParameters
            {
                task_id = TaskDataPack.TaskId,

                connectSettings = ""
            };

            // Создаётся экземпляр класса ExportNsiItemModel и в него передаются параметры.
            Oracle.ExportDataProviderNsiItemModel exportDataProviderNsiItemmodel = new Oracle.ExportDataProviderNsiItemModel(exportDataProviderNsiItemParameters);

            exportDataProviderNsiItemmodel.Select();

            // Поле класса заполняется данными из Oracle.
            taskOracleData = exportDataProviderNsiItemmodel.ResultData;
#if DEBUG
            Notificator.Write("ExportDataProviderNsiItemTask, параметры задачи: " + exportDataProviderNsiItemmodel.ResultData.Rows[0].Field <string>("REQUESTER_MESSAGE_GUID") + " " +
                              exportDataProviderNsiItemmodel.ResultData.Rows[0].Field <string>("REGISTRY_NUMBER") + " " +
                              exportDataProviderNsiItemmodel.ResultData.Rows[0].Field <string>("MODIFIED_AFTER")
                              );
#endif
        }
        /// <summary>
        /// Записывает результаты работы сервиса в Oracle.
        /// </summary>
        public override void WriteGisResultsToOracle()
        {
            // Создаём объект параметров.
            Oracle.ExportDataProviderNsiItemParameters expDPNsiItemParameters = new Oracle.ExportDataProviderNsiItemParameters
            {
                task_id = gisResultDataPack.TaskId,
                requesterMessageGuid = GisDataPack.RequesterMessageGuid,

                insertData = gisResultDataPack.GisResponseData,

                connectSettings = "",
            };

            // Создаём объект модель.
            Oracle.ExportDataProviderNsiItemModel expDPNsiItemModel = new Oracle.ExportDataProviderNsiItemModel(expDPNsiItemParameters);

            // Передаём данные подзадачи в новый объект модели.
            expDPNsiItemModel.ResultData = OracleData;

            // Заполняем БД данными ГИС ЖКХ.
            expDPNsiItemModel.Insert();
        }