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)); }
/** * @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)); }