Exemplo n.º 1
0
        /// <summary>
        /// Сохраняет chunked-данные всех объектов из датаграммы
        /// </summary>
        /// <param name="transactionID">Идентификатор транзакции</param>
        /// <param name="datagram">датаграмма</param>
        /// <param name="con">соединение</param>
        protected static void saveChunkedData(Guid transactionID, XDatagram datagram, XStorageConnection con)
        {
            bool bChunkedDataFound = false;

            foreach (XStorageObjectToSave xobj in datagram.ObjectsToInsert)
            {
                bChunkedDataFound = saveObjectChunkedData(xobj, con);
            }

            foreach (XStorageObjectToSave xobj in datagram.ObjectsToUpdate)
            {
                bChunkedDataFound = bChunkedDataFound || saveObjectChunkedData(xobj, con);
            }

            // Если в процессе какие-либо "кусочные" данные были перегружены
            // в положенные таблицы - удаляем такие "куски":
            if (bChunkedDataFound)
            {
                XChunkStorageGateway.RemoveTransactionData(transactionID, con);
            }
        }