public function createDonasi(Request $request)
 {
     $client = new Client(HelperController::getHost(), HelperController::getPort());
     $client->getTransport()->setAuth(HelperController::getUserNeo4j(), HelperController::getPassNeo4j());
     $donaturId = $request->input('donaturId');
     $mustahiqId = $request->input('mustahiqId');
     $jenisDonasi = $request->input('jenisDonasi');
     $nama = $request->input('nama');
     $nominal = $request->input('nominal');
     $bank = $request->input('bank');
     $norek = $request->input('norek');
     $namaPengirim = $request->input('namaPengirim');
     $lazis = $request->input('lazis');
     $namaBarang = $request->input('namaBarang');
     $alamat = $request->input('alamat');
     $tglJemput = $request->input('tglJemput');
     $waktu = $request->input('waktu');
     $status = 'failed';
     $datenow = date('Y-m-d H:i:s');
     if (count($donaturId) > 0 && count($mustahiqId) > 0) {
         $donatur = $client->getNode($donaturId);
         $mustahiq = $client->getNode($mustahiqId);
         if (count($donatur) > 0 && count($mustahiq) > 0) {
             $imagePath = '';
             //image upload handler
             if ($jenisDonasi == 1) {
                 $image = $request->input('imagePath');
                 $imagePath = HelperController::saveImageWithReturn($image, 'donasi');
             }
             //proses edit persentasi dan jumlah penolong
             $node = $client->getNode($mustahiqId);
             $jumlahPenolong = $node->getProperty('jumlahPenolong');
             $persentaseBantuan = $node->getProperty('persentaseBantuan');
             $nominalBantuan = $node->getProperty('nominal');
             $jumlahPenolong++;
             $persentase = $nominal / $nominalBantuan * 100;
             $persentaseBantuan = $persentaseBantuan + $persentase;
             $node->setProperty('jumlahPenolong', $jumlahPenolong)->setProperty('persentaseBantuan', $persentaseBantuan)->save();
             // proses untuk menambahkan relasi donatur ke mustahiq
             $donatur->relateTo($mustahiq, 'DONASI')->setProperty('tanggal', $datenow)->setProperty('nama', $nama)->setProperty('donaturId', $donaturId)->setProperty('mustahiqId', $mustahiqId)->setProperty('nominal', $nominal)->setProperty('bank', $bank)->setProperty('norek', $norek)->setProperty('namaPengirim', $namaPengirim)->setProperty('lazis', $lazis)->setProperty('namaBarang', $namaBarang)->setProperty('alamat', $alamat)->setProperty('tglJemput', $tglJemput)->setProperty('waktu', $waktu)->setProperty('imagePath', $imagePath)->setProperty('isValidate', 0)->save();
             $status = 'success';
             $datenow = date('Y-m-d H:i:s');
             $imagePathMustahiq = $mustahiq->getProperty('imagePath');
             $namaMustahiq = $mustahiq->getProperty('nama');
             NotifikasiController::createNotifikasiNode($donaturId, $mustahiqId, $namaMustahiq, $datenow, $imagePathMustahiq, $nominal, 'donasi');
             //push notification
             $gcmId = $donatur->getProperty('gcmId');
             GCMController::gcmPushNotifikasi('donasi', $gcmId);
         } else {
             $status = 'failed, return value is empty check your donatur or mustahiq id';
         }
     } else {
         $status = 'failed, donatur or mustahiq id is empty';
     }
     return response()->json(array('status' => $status));
 }
 public function logoutDonatur(Request $request)
 {
     $client = new Client(HelperController::getHost(), HelperController::getPort());
     $client->getTransport()->setAuth(HelperController::getUserNeo4j(), HelperController::getPassNeo4j());
     $donaturId = $request->input('donaturId');
     $status = 'failed';
     if (count($donaturId) > 0) {
         $node = $client->getNode($donaturId);
         if (count($node) > 0) {
             $labels = $node->getLabels();
             $labelName = $labels[0]->getName();
             if ($labelName == HelperController::getLabelDonatur()) {
                 $node->setProperty('gcmId', '')->setProperty('isLogin', 0)->save();
                 $status = 'success';
             } else {
                 $status = 'failed, label not match check your id';
             }
         } else {
             $status = 'failed, nothing to return check your id';
         }
     } else {
         $status = 'failed, id is empty check your id';
     }
     return response()->json(array('status' => $status));
 }
 public function getDonatur($id)
 {
     $client = new Client('localhost', 7474);
     $client->getTransport()->setAuth('neo4j', 'soulmate');
     $nodes = $client->getNode($id);
     $status = 'failed';
     $properties = array();
     if (count($nodes) > 0) {
         $status = 'success';
         $properties['id'] = $nodes->getId();
         $properties['properties'] = $nodes->getProperties();
     }
     return response()->json(array('status' => $status, 'data' => $properties));
 }
Example #4
0
 /**
  * @param $entity
  * @return Node|\Everyman\Neo4j\PropertyContainer
  */
 private function createNode($entity)
 {
     $meta = $this->getMeta($entity);
     $pk = $meta->getPrimaryKey();
     $id = $pk->getValue($entity);
     if ($id !== null) {
         $node = $this->client->getNode($id);
     } else {
         $node = $this->client->makeNode()->setProperty('class', $meta->getName());
     }
     foreach ($meta->getProperties() as $property) {
         $result = $property->getValue($entity);
         $node->setProperty($property->getName(), $result);
     }
     $currentDate = $this->getCurrentDate();
     if ($id === null) {
         $node->setProperty('creationDate', $currentDate);
     }
     $node->setProperty('updateDate', $currentDate);
     return $node;
 }
 public function unvalidasiDonasi($id)
 {
     $client = new Client(HelperController::getHost(), HelperController::getPort());
     $client->getTransport()->setAuth(HelperController::getUserNeo4j(), HelperController::getPassNeo4j());
     $status = 'failed';
     if (count($id) > 0) {
         $nodes = $client->getRelationship($id);
         $properties = array();
         if (count($nodes) > 0) {
             $donaturId = $nodes->getProperty('donaturId');
             $nodeDonatur = $client->getNode($donaturId);
             $gcmId = $nodeDonatur->getProperty('gcmId');
             $status = 'success';
             $nodes->setProperty('isValidate', 2)->save();
         } else {
             $status = 'failed, return value is empty check your donasi id';
         }
     } else {
         $status = 'failed, donasi id is empty';
     }
     return response()->json(array('status' => $status));
 }
 public function updateDonatur(Request $request, $id)
 {
     $client = new Client(HelperController::getHost(), HelperController::getPort());
     $client->getTransport()->setAuth(HelperController::getUserNeo4j(), HelperController::getPassNeo4j());
     $username = $request->input('username');
     $email = $request->input('email');
     $nama = $request->input('nama');
     $notelp = $request->input('notelp');
     $imagePath = $request->input('imagePath');
     $gcmId = $request->input('gcmId');
     $status = 'failed';
     if (count($username) > 0 && count($id) > 0) {
         $cypherCek = 'MATCH (n:' . HelperController::getLabelDonatur() . ') where n.username="******" RETURN n';
         $queryCek = new Query($client, $cypherCek);
         $resultCek = $queryCek->getResultSet();
         if (count($resultCek) > 0) {
             $status = 'failed, data already exist';
         } else {
             $node = $client->getNode($id);
             $node->setProperty('username', $username)->setProperty('email', $email)->setProperty('nama', $nama)->setProperty('notelp', $notelp)->setProperty('imagePath', $imagePath)->setProperty('gcmId', $gcmId)->save();
             $status = 'success';
         }
     } else {
         $status = 'failed, username or id is empty please check your parameter';
     }
     return response()->json(array('status' => $status));
 }
 public function updateMustahiq(Request $request, $id)
 {
     $client = new Client(HelperController::getHost(), HelperController::getPort());
     $client->getTransport()->setAuth(HelperController::getUserNeo4j(), HelperController::getPassNeo4j());
     $nama = $request->input('nama');
     $desc = $request->input('desc');
     $tempatLahir = $request->input('tempatLahir');
     $tanggalLahir = $request->input('tanggalLahir');
     $nominal = $request->input('nominal');
     $alamat = $request->input('alamat');
     $latlong = $request->input('latlong');
     $status = $request->input('status');
     $jenjangPendidikan = $request->input('jenjangPendidikan');
     $asalSekolah = $request->input('asalSekolah');
     $alamatSekolah = $request->input('alamatSekolah');
     $namaOrangTua = $request->input('namaOrangTua');
     $alamatOrangTua = $request->input('alamatOrangTua');
     $pekerjaanOrangTua = $request->input('pekerjaanOrangTua');
     $kategori = $request->input('kategori');
     $persentaseBantuan = $request->input('persentaseBantuan');
     $prioritas = $request->input('prioritas');
     $imagePath = $request->input('imagePath');
     $isApproved = $request->input('isApproved');
     $tahunLahir = $request->input('tahunLahir');
     $statusRequest = 'failed';
     if (count($id) > 0) {
         $node = $client->getNode($id);
         $node->setProperty('nama', $nama)->setProperty('desc', $desc)->setProperty('tempatLahir', $tempatLahir)->setProperty('tanggalLahir', $tanggalLahir)->setProperty('alamat', $alamat)->setProperty('latlong', $latlong)->setProperty('status', $status)->setProperty('jenjangPendidikan', $jenjangPendidikan)->setProperty('asalSekolah', $asalSekolah)->setProperty('alamatSekolah', $alamatSekolah)->setProperty('namaOrangTua', $namaOrangTua)->setProperty('alamatOrangTua', $alamatOrangTua)->setProperty('pekerjaanOrangTua', $pekerjaanOrangTua)->setProperty('kategori', $kategori)->setProperty('persentaseBantuan', $persentaseBantuan)->setProperty('prioritas', $prioritas)->setProperty('imagePath', $imagePath)->setProperty('nominal', $nominal)->setProperty('isApproved', $isApproved)->setProperty('tahunLahir', $tahunLahir)->save();
         $statusRequest = 'success';
     }
     return response()->json(array('status' => $statusRequest));
 }