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.GetKey(dmlStatements[0].TableName); modificationResult = _dataStoreManager.GetDataLayer(key, DataStore).ModifyData(dmlStatements); } if (modificationResult != null) { return(modificationResult); } throw new NotImplementedException(); }