import("system.db"); import("system.result"); import("system.vars"); import("IndexSearch_lib"); import("Sql_lib"); var infoContainer, onUpdFn, tableName, res; tableName = vars.get("$local.table"); idValue = vars.get("$local.idvalue"); infoContainer = IndexsearchUtils.createAffectedInfoContainer(idValue, null, vars.get("$local.action") ,function (){return vars.get("$local.columns")} ,function (){return vars.get("$local.oldvalues")} ,function (){return vars.get("$local.values")}); //switch (tableName) //{ // case "CONTACT": // res = [idValue]; // break; // case "PERSON": // res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID = '" + idValue + "'"); // break; // case "ORGANISATION": // res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID is not null and CONTACT.ORGANISATION_ID = '" + idValue + "'"); // break; // case "ADDRESS": // res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){ // return db.array(db.COLUMN, ["select ADDRESS.CONTACT_ID from ADDRESS where ADDRESS.ADDRESSID = ?", [ // [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")] // ]]); // }); // break; // case "COMMUNICATION": // res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){ // return db.array(db.COLUMN, ["select COMMUNICATION.CONTACT_ID from COMMUNICATION where COMMUNICATIONID = ?", [ // [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")] // ]]); // }); // break; //} switch (tableName) { case "PERSON": res = [idValue]; break; case "CONTACT": res = db.array(db.COLUMN, "select CONTACT.PERSON_ID from CONTACT where CONTACT.CONTACTID = '" + idValue + "'"); break; case "ORGANISATION": res = db.array(db.COLUMN, "select CONTACT.PERSON_ID from CONTACT where CONTACT.PERSON_ID is not null and CONTACT.ORGANISATION_ID = '" + idValue + "'"); break; case "ADDRESS": res = IndexsearchUtils.getAffectedIdValues("PERSON_ID", infoContainer, function (id){ return db.array(db.COLUMN, ["select CONTACT.PERSON_ID from ADDRESS left join CONTACT on CONTACT.CONTACTID = ADDRESS.CONTACT_ID where CONTACT.PERSON_ID is not null and ADDRESS.ADDRESSID = ?", [ [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")] ]]); }); break; case "COMMUNICATION": res = IndexsearchUtils.getAffectedIdValues("PERSON_ID", infoContainer, function (id){ return db.array(db.COLUMN, ["select CONTACT.PERSON_ID from COMMUNICATION left join CONTACT on CONTACT.CONTACTID = COMMUNICATION.CONTACT_ID where CONTACT.PERSON_ID is not null and where COMMUNICATIONID = ?", [ [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")] ]]); }); break; } if (res) { result.object(res); }