Esempio n. 1
0
        /// <summary>
        /// Deletes a data object from the data store.
        /// </summary>
        /// <typeparam name="TObject">The data object type.</typeparam>
        /// <param name="uri">The data object URI.</param>
        /// <param name="objectType">The object type.</param>
        protected virtual void DeleteEntity <TObject>(EtpUri uri, string objectType) where TObject : class
        {
            try
            {
                Logger.DebugFormat("Deleting {0} data object.", objectType);

                foreach (var message in MessageHandler.CreateMessages(objectType, uri))
                {
                    var topicName = MessageHandler.GetDeleteTopicName(message, WitsmlSettings.GlobalDeleteTopicName);

                    if (MessageHandler.IsMessageValid(message, topicName))
                    {
                        SendMessage(message, topicName).Wait();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Error deleting {0} data object:{1}{2}", objectType, Environment.NewLine, ex);

                if (ex is WitsmlException)
                {
                    throw;
                }
                throw new WitsmlException(ErrorCodes.ErrorDeletingFromDataStore, ex);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Replaces a data object in the data store.
        /// </summary>
        /// <typeparam name="TObject">The data object type.</typeparam>
        /// <param name="entity">The object to be replaced.</param>
        /// <param name="uri">The data object URI.</param>
        /// <param name="objectType">The object type.</param>
        private void ReplaceEntity <TObject>(TObject entity, EtpUri uri, string objectType) where TObject : class
        {
            try
            {
                Logger.DebugFormat("Replacing {0} data object.", objectType);

                foreach (var message in MessageHandler.CreateMessages(objectType, uri, entity))
                {
                    var topicName = MessageHandler.GetReplaceTopicName(message, WitsmlSettings.GlobalReplaceTopicName);

                    if (MessageHandler.IsMessageValid(message, topicName))
                    {
                        SendMessage(message, topicName).Wait();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Error replacing {0} data object:{1}{2}", objectType, Environment.NewLine, ex);

                if (ex is WitsmlException)
                {
                    throw;
                }
                throw new WitsmlException(ErrorCodes.ErrorReplacingInDataStore, ex);
            }
        }