From 052dbbef91b17c8f69eb855912a966ce48b44b3e Mon Sep 17 00:00:00 2001 From: Harish Date: Sat, 30 Jan 2021 01:12:18 +0530 Subject: [PATCH] insert completed --- .../ControllersLogic/CreatePackageLogic.php | 22 +++-- .../ControllersLogic/DeleteAddressLogic.php | 73 ---------------- .../ControllersLogic/DeletePackageLogic.php | 85 +++++++++++++++++++ .../Packages/Services/CreatesPackage.php | 48 +++-------- .../Packages/Services/CreatesPackageItem.php | 32 +++---- .../Packages/Services/CreatesPackageList.php | 1 - .../Packages/Services/DeletesAddress.php | 15 ---- .../Packages/Services/DeletesPackage.php | 15 ++++ ...{FetchesAddress.php => FetchesPackage.php} | 14 +-- .../Packages/Services/FetchesPackageList.php | 33 +++++++ ...DeleteAddress.php => CanDeletePackage.php} | 10 +-- .../Packages/DeleteAddressController.php | 20 ----- .../Packages/DeletePackageController.php | 20 +++++ ...2_12_140442_create_package_items_table.php | 4 +- routes/crud.php | 2 +- 15 files changed, 208 insertions(+), 186 deletions(-) delete mode 100644 app/Classes/Modules/Packages/ControllersLogic/DeleteAddressLogic.php create mode 100644 app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php delete mode 100644 app/Classes/Modules/Packages/Services/DeletesAddress.php create mode 100644 app/Classes/Modules/Packages/Services/DeletesPackage.php rename app/Classes/Modules/Packages/Services/{FetchesAddress.php => FetchesPackage.php} (56%) create mode 100644 app/Classes/Modules/Packages/Services/FetchesPackageList.php rename app/Classes/Modules/Packages/Standards/Rules/{CanDeleteAddress.php => CanDeletePackage.php} (65%) delete mode 100644 app/Http/Controllers/Packages/DeleteAddressController.php create mode 100644 app/Http/Controllers/Packages/DeletePackageController.php diff --git a/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php index 45d22210..9eaca73f 100644 --- a/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php +++ b/app/Classes/Modules/Packages/ControllersLogic/CreatePackageLogic.php @@ -51,6 +51,7 @@ class CreatePackageLogic extends AbstractControllerLogic $this->canCreatePackageList = $canCreatePackageList; $this->createsPackageList = $createsPackageList; $this->createsPackage = $createsPackage; + $this->createsPackageItem = $createsPackageItem; } @@ -66,13 +67,22 @@ class CreatePackageLogic extends AbstractControllerLogic $this->canCreatePackageList->passes($object); - $query = $this->createsPackageList->execute($object); + $package_list_query = $this->createsPackageList->execute($object); + $package_list_id=$package_list_query->id; + + $packages=$object->getPackages(); + + foreach($packages as $package){ + $query = $this->createsPackage->execute($package,$package_list_id,$request->input('order_id')); + $package_id=$package_list_query->id; + $package_items=$package->getItems(); + foreach($package_items as $item){ + $query = $this->createsPackageItem->execute($item,$package_id); + } + + } -// dd($query->id); - - $query = $this->createsPackage->execute($object); - - return $this->resourceResponse(new PackageResource($query)); + return $this->resourceResponse(new PackageResource($package_list_query)); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); diff --git a/app/Classes/Modules/Packages/ControllersLogic/DeleteAddressLogic.php b/app/Classes/Modules/Packages/ControllersLogic/DeleteAddressLogic.php deleted file mode 100644 index eed4f73d..00000000 --- a/app/Classes/Modules/Packages/ControllersLogic/DeleteAddressLogic.php +++ /dev/null @@ -1,73 +0,0 @@ - 'Deleted Address', - 'message' => 'You have successfully deleted a Address' - ]; - } - - - /** @var CanDeleteAddress */ - private $canDeleteAddress; - - /** @var DeletesAddress */ - private $deletesAddress; - - /** @var FetchesAddress */ - private $fetchesAddress; - - /** - * DeleteAddressControllerLogic constructor. - * @param CanDeleteAddress $canDeleteAddress - * @param DeletesAddress $deletesAddress - * @param FetchesAddress $fetchesAddress - */ - public function __construct(CanDeleteAddress $canDeleteAddress, DeletesAddress $deletesAddress, FetchesAddress $fetchesAddress) - { - $this->canDeleteAddress = $canDeleteAddress; - $this->deletesAddress = $deletesAddress; - $this->fetchesAddress = $fetchesAddress; - } - - - /** - * @param Request $request - * @return JsonResponse - * @throws ErrorException - */ - public function logic(Request $request) : JsonResponse - { - try { - - $this->canDeleteAddress->passes(); - - $query = $this->fetchesAddress->execute(['id' => $request->route('id')]); - - $this->deletesAddress->execute($query); - - return $this->response([]); - - } catch (\Exception $exception){ - throw new ErrorException($exception->getMessage(), $exception->getCode()); - } - - } - -} \ No newline at end of file diff --git a/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php b/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php new file mode 100644 index 00000000..a52fdccf --- /dev/null +++ b/app/Classes/Modules/Packages/ControllersLogic/DeletePackageLogic.php @@ -0,0 +1,85 @@ + 'Deleted Package', + 'message' => 'You have successfully deleted a Package' + ]; + } + + + /** @var CanDeletePackage */ + private $canDeletePackage; + + /** @var DeletesPackage */ + private $deletesPackage; + + /** @var FetchesPackage */ + private $fetchesPackage; + + /** @var FetchesPackageList */ + private $fetchesPackageList; + + + /** + * DeletePackageControllerLogic constructor. + * @param CanDeletePackage $canDeletePackage + * @param DeletesPackage $deletesPackage + * @param FetchesPackage $fetchesPackage + * @param FetchesPackageList $fetchesPackageList + */ + public function __construct(CanDeletePackage $canDeletePackage, DeletesPackage $deletesPackage, FetchesPackage $fetchesPackage, FetchesPackageList $fetchesPackageList) + { + $this->canDeletePackage = $canDeletePackage; + $this->deletesPackage = $deletesPackage; + $this->fetchesPackage = $fetchesPackage; + $this->fetchesPackageList = $fetchesPackageList; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + try { + + $this->canDeletePackage->passes(); + + $query = $this->fetchesPackageList->execute(['id' => $request->route('id')]); + + // $this->deletesPackage->execute($query); + $queryList = $this->fetchesPackage->execute(['package_list_id' => 3]); + print_r($queryList); + dd($queryList); + $this->deletesPackage->execute($query); + + + return $this->response([]); + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); + } + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Services/CreatesPackage.php b/app/Classes/Modules/Packages/Services/CreatesPackage.php index c73185ab..ddedb097 100644 --- a/app/Classes/Modules/Packages/Services/CreatesPackage.php +++ b/app/Classes/Modules/Packages/Services/CreatesPackage.php @@ -5,48 +5,26 @@ namespace App\Classes\Modules\Packages\Services; use App\Classes\General\Eloquent\AbstractUpdateRecord; use App\Classes\Modules\Packages\DataTransferObjects\PackagesListObject; use App\Models\Package; -use App\Models\PackageList; class CreatesPackage extends AbstractUpdateRecord { /** - * @param PackagesListObject $object + * @param object $package + * @param int $package_list_id + * @param int $order_id * @return \Illuminate\Database\Eloquent\Model * @throws \App\Classes\Exceptions\MalformedRequestException */ - public function execute(PackagesListObject $object) { - - $packages=$object->getPackages(); - - // $packages_list = []; - // foreach($packages as $package){ - // $packages_list['package_list_id'] = $package->getType(); - // // $packages_list->package_type = $package->getType(); - // // $packages_list->width = $package->getWidth(); - // // $packages_list->height = $package->getHeight(); - // // $packages_list->length = $package->getLength(); - // // $packages_list->weight = $package->getType(); - // // $packages_list->order_id = $package->getType(); - // } - // dd($packages_list); - - $packages_list = []; - foreach($packages as $package){ - $model = new Package(); - $model->package_list_id = $package->getType(); - $model->package_type = $package->getType(); - $model->width = $package->getWidth(); - $model->height = $package->getHeight(); - $model->length = $package->getLength(); - $model->weight = $package->getType(); - $model->order_id = $package->getType(); - // return $this->handler($model); - $packages_list[] = $model->attributesToArray(); - } -// var_dump($packages_list); - $rr= Package::insert($packages_list); - dd(33); - + public function execute($package,$package_list_id,$order_id) { + $model = new Package(); + $model->package_list_id = $package_list_id; + $model->package_type = $package->getType(); + $model->width = $package->getWidth(); + $model->height = $package->getHeight(); + $model->length = $package->getLength(); + $model->weight = $package->getType(); + $model->order_id = $order_id; + return $this->handler($model); } } \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Services/CreatesPackageItem.php b/app/Classes/Modules/Packages/Services/CreatesPackageItem.php index b02c68a7..a024de4c 100644 --- a/app/Classes/Modules/Packages/Services/CreatesPackageItem.php +++ b/app/Classes/Modules/Packages/Services/CreatesPackageItem.php @@ -3,35 +3,25 @@ namespace App\Classes\Modules\Packages\Services; use App\Classes\General\Eloquent\AbstractUpdateRecord; -use App\Classes\Modules\Packages\DataTransferObjects\PackagesListObject; -use App\Models\Package; -use App\Models\PackageList; +use App\Models\PackageItem; class CreatesPackageItem extends AbstractUpdateRecord { /** - * @param PackagesListObject $object + * @param object $item + * @param int $package_id * @return \Illuminate\Database\Eloquent\Model * @throws \App\Classes\Exceptions\MalformedRequestException */ - public function execute(PackagesListObject $object) { - var_dump($object->getPackages()); -exit; - $model = new PackageList(); - $model->order_id = $object->getOrderId(); - // $rr=$object->getPackages(); - // // foreach($rr as $r){ - // dd($rr); - // // } - // echo 333; exit;d - $model2 = new Package(); - - $model->type = $object->getOrderId(); - - - + public function execute($item,$package_id) { + $model = new PackageItem(); + $model->package_id = $package_id; + $model->description = $item->getDescription(); + $model->unit_of_measurement = $item->getUnitOfMeasurment(); + $model->quantity = $item->getQuantity(); + $model->price = $item->getPrice(); + $model->currency = $item->getCurrency(); return $this->handler($model); - } } \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Services/CreatesPackageList.php b/app/Classes/Modules/Packages/Services/CreatesPackageList.php index 3d9ba9c5..b745af92 100644 --- a/app/Classes/Modules/Packages/Services/CreatesPackageList.php +++ b/app/Classes/Modules/Packages/Services/CreatesPackageList.php @@ -4,7 +4,6 @@ namespace App\Classes\Modules\Packages\Services; use App\Classes\General\Eloquent\AbstractUpdateRecord; use App\Classes\Modules\Packages\DataTransferObjects\PackagesListObject; -use App\Models\Package; use App\Models\PackageList; class CreatesPackageList extends AbstractUpdateRecord diff --git a/app/Classes/Modules/Packages/Services/DeletesAddress.php b/app/Classes/Modules/Packages/Services/DeletesAddress.php deleted file mode 100644 index 75cbbca8..00000000 --- a/app/Classes/Modules/Packages/Services/DeletesAddress.php +++ /dev/null @@ -1,15 +0,0 @@ -handler($model); - } -} \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Services/DeletesPackage.php b/app/Classes/Modules/Packages/Services/DeletesPackage.php new file mode 100644 index 00000000..4575b6dd --- /dev/null +++ b/app/Classes/Modules/Packages/Services/DeletesPackage.php @@ -0,0 +1,15 @@ +handler($model); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Services/FetchesAddress.php b/app/Classes/Modules/Packages/Services/FetchesPackage.php similarity index 56% rename from app/Classes/Modules/Packages/Services/FetchesAddress.php rename to app/Classes/Modules/Packages/Services/FetchesPackage.php index a91900b7..97642cac 100644 --- a/app/Classes/Modules/Packages/Services/FetchesAddress.php +++ b/app/Classes/Modules/Packages/Services/FetchesPackage.php @@ -1,23 +1,23 @@ repository = $repository; } diff --git a/app/Classes/Modules/Packages/Services/FetchesPackageList.php b/app/Classes/Modules/Packages/Services/FetchesPackageList.php new file mode 100644 index 00000000..23ee68c7 --- /dev/null +++ b/app/Classes/Modules/Packages/Services/FetchesPackageList.php @@ -0,0 +1,33 @@ +repository = $repository; + } + + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/Packages/Standards/Rules/CanDeleteAddress.php b/app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php similarity index 65% rename from app/Classes/Modules/Packages/Standards/Rules/CanDeleteAddress.php rename to app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php index c13a890c..06b55274 100644 --- a/app/Classes/Modules/Packages/Standards/Rules/CanDeleteAddress.php +++ b/app/Classes/Modules/Packages/Standards/Rules/CanDeletePackage.php @@ -1,12 +1,12 @@ execute($request); - } - -} \ No newline at end of file diff --git a/app/Http/Controllers/Packages/DeletePackageController.php b/app/Http/Controllers/Packages/DeletePackageController.php new file mode 100644 index 00000000..0a77e337 --- /dev/null +++ b/app/Http/Controllers/Packages/DeletePackageController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/database/migrations/2020_12_12_140442_create_package_items_table.php b/database/migrations/2020_12_12_140442_create_package_items_table.php index 07a2866a..75f4c001 100644 --- a/database/migrations/2020_12_12_140442_create_package_items_table.php +++ b/database/migrations/2020_12_12_140442_create_package_items_table.php @@ -17,8 +17,8 @@ class CreatePackageItemsTable extends Migration $table->id(); $table->foreignId('package_id'); $table->text('description'); - $table->decimal('measurment',10,5); - $table->integer('unit_of_measurement'); + $table->decimal('measurment',10,5)->nullable(); + $table->string('unit_of_measurement',15); $table->decimal('quantity',10,5); $table->decimal('price',12,5); $table->string('currency',6); diff --git a/routes/crud.php b/routes/crud.php index ee8c15f7..698f36be 100644 --- a/routes/crud.php +++ b/routes/crud.php @@ -53,6 +53,6 @@ Route::group(['prefix' => 'package', 'as' => 'package.', 'namespace' => 'Package // Route::put('/update/{id}', 'UpdateAddressController@update')->name('update'); - // Route::delete('/delete/{id}', 'DeleteAddressController@destroy')->name('delete'); + Route::delete('/delete/{id}', 'DeletePackageController@destroy')->name('delete'); }); \ No newline at end of file