Example #1
0
        public override ModificationResult ModifyData(params ModificationStatement[] dmlStatements)
        {
            var dataStoreModifyDataEventArgs = new DataStoreModifyDataEventArgs(dmlStatements);

            OnDataStoreModifyData(dataStoreModifyDataEventArgs);
            var name               = typeof(XPObjectType).Name;
            var insertStatement    = dataStoreModifyDataEventArgs.ModificationStatements.OfType <InsertStatement>().FirstOrDefault(statement => statement.TableName == name);
            var modificationResult = new ModificationResult();

            if (insertStatement != null)
            {
                modificationResult = ModifyXPObjectTable(dmlStatements, insertStatement, modificationResult);
            }
            else
            {
                var key = _dataStoreManager.GetKeyInfo(dmlStatements[0].TableName);
                modificationResult = _dataStoreManager.SimpleDataLayers[key].ModifyData(dmlStatements);
            }
            if (modificationResult != null)
            {
                return(modificationResult);
            }
            throw new NotImplementedException();
        }