docs: function f_kurum_ekle(_kurum, _tahta_id, _kul_id) {
  
          /**
           *
           * @param {KurumDB|KurumDB[]} _kurum
           * @param _tahta_id
           * @param _kul_id
           * @returns {*}
           */
          function f_kurum_ekle(_kurum, _tahta_id, _kul_id) {
  
              return result.dbQ.incr(result.kp.kurum.idx)
                  .then(
                      /**
                       * Kurumun db'deki ID degeri
                       * @param {Integer} _yeniKurumId
                       * @returns {*}
                       */
                      function (_yeniKurumId) {
                          _kurum.Id = _yeniKurumId;
  
                          return result.dbQ.Q.all([
                              result.dbQ.hset(result.kp.kurum.tablo, _yeniKurumId, JSON.stringify(_kurum)),
                              result.dbQ.sadd(result.kp.kurum.ssetAdlari, _kurum.Adi)
                          ]).then(function () {
                                  //bölgeyi ekle
                                  //genel kurum ekleniyorsa bölgeyi kaydet
                                  if (!_tahta_id || _tahta_id == 0) {
                                      if (_kurum.BolgeAdi) {
                                          var db_bolge = require("./db_bolge");
                                          return db_bolge.f_db_bolge_ekle(/** @type {Bolge} */{Id: 0, Adi: _kurum.BolgeAdi});
                                      } else {
                                          return _yeniKurumId;
                                      }
                                  } else {
                                      return _yeniKurumId;
                                  }
                              })
                              .then(function () {
                                  return _tahta_id && _tahta_id > 0
                                      ? result.dbQ.sadd(result.kp.tahta.ssetOzelKurumlari(_tahta_id, true), _yeniKurumId)
                                      : result.dbQ.sadd(result.kp.kurum.ssetGenel, _yeniKurumId);
                              })
                              .then(function () {
                                  return f_kurum_id(_yeniKurumId)
                                      .then(function (_resKurum) {
                                          console.log("tahta_id:" + _tahta_id);
                                          console.log("kurum_id:" + _yeniKurumId);
  
                                          emitter.emit(schema.SABIT.OLAY.KURUM_EKLENDI, _resKurum, _yeniKurumId, _tahta_id, _kul_id);
                                          return _resKurum;
                                      });
                              })
                              .fail(function (_err) {
                                  extensions.ssr = [{"Kurum ekleme hatalı > _err": _err}];
                                  throw new exception("Kurum eklenemedi", "Kurum eklenirken HATA ALINDI: " + _err)
                              });
                      });
          }
  
          if (Array.isArray(_kurum)) {
              return _kurum.mapX(null, f_kurum_ekle, _tahta_id, _kul_id).allX();
  
          } else {
              return f_kurum_ekle(_kurum, _tahta_id, _kul_id);
          }
      }