insert completed

This commit is contained in:
Harish
2021-01-30 01:12:18 +05:30
parent 83c0f29b0d
commit 052dbbef91
15 changed files with 208 additions and 186 deletions
@@ -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());
@@ -1,73 +0,0 @@
<?php
namespace App\Classes\Modules\Addresses\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Addresses\Services\DeletesAddress;
use App\Classes\Modules\Addresses\Services\FetchesAddress;
use App\Classes\Modules\Addresses\Standards\Rules\CanDeleteAddress;
use ErrorException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DeleteAddressLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification():array {
return [
'title' => '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());
}
}
}
@@ -0,0 +1,85 @@
<?php
namespace App\Classes\Modules\Packages\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Packages\Services\DeletesPackage;
use App\Classes\Modules\Packages\Services\FetchesPackage;
use App\Classes\Modules\Packages\Services\FetchesPackageList;
use App\Classes\Modules\Packages\Standards\Rules\CanDeletePackage;
use ErrorException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DeletePackageLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification():array {
return [
'title' => '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());
}
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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
@@ -1,15 +0,0 @@
<?php
namespace App\Classes\Modules\Addresses\Services;
use App\Classes\General\Eloquent\AbstractDeleteRecord;
use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject;
use App\Models\Address;
class DeletesAddress extends AbstractDeleteRecord
{
public function execute(Address $model) {
return $this->handler($model);
}
}
@@ -0,0 +1,15 @@
<?php
namespace App\Classes\Modules\Packages\Services;
use App\Classes\General\Eloquent\AbstractDeleteRecord;
use App\Classes\Modules\Packages\DataTransferObjects\PackageObject;
use App\Models\PackageList;
class DeletesPackage extends AbstractDeleteRecord
{
public function execute(PackageList $model) {
return $this->handler($model);
}
}
@@ -1,23 +1,23 @@
<?php
namespace App\Classes\Modules\Addresses\Services;
namespace App\Classes\Modules\Packages\Services;
use App\Classes\General\Eloquent\AbstractFetchRecord;
use Illuminate\Database\Eloquent\Builder;
use App\Models\Address;
use App\Models\Package;
class FetchesAddress extends AbstractFetchRecord
class FetchesPackage extends AbstractFetchRecord
{
/** @var Address */
/** @var Package */
private $repository;
/**
* FetchesAddress constructor.
* @param Address $repository
* FetchesPackage constructor.
* @param Package $repository
*/
public function __construct(Address $repository)
public function __construct(Package $repository)
{
$this->repository = $repository;
}
@@ -0,0 +1,33 @@
<?php
namespace App\Classes\Modules\Packages\Services;
use App\Classes\General\Eloquent\AbstractFetchRecord;
use Illuminate\Database\Eloquent\Builder;
use App\Models\PackageList;
class FetchesPackageList extends AbstractFetchRecord
{
/** @var PackageList */
private $repository;
/**
* FetchesPackageList constructor.
* @param PackageList $repository
*/
public function __construct(PackageList $repository)
{
$this->repository = $repository;
}
/**
* @return Builder
*/
public function getRepository(): Builder
{
return $this->repository->newQuery();
}
}
@@ -1,12 +1,12 @@
<?php
namespace App\Classes\Modules\Addresses\Standards\Rules;
namespace App\Classes\Modules\Packages\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject;
use App\Classes\Modules\Packages\DataTransferObjects\PackageObject;
class CanDeleteAddress extends AbstractRule
class CanDeletePackage extends AbstractRule
{
@@ -21,7 +21,7 @@ class CanDeleteAddress extends AbstractRule
}
/**
* @param AddressObject $object
* @param PackageObject $object
* @return bool
*/
protected function validators($object): bool
@@ -32,7 +32,7 @@ class CanDeleteAddress extends AbstractRule
/**
* @param AddressObject $object
* @param PackageObject $object
* @return bool
*/
protected function criteria($object): bool
@@ -1,20 +0,0 @@
<?php
namespace App\Http\Controllers\Addresses;
use App\Classes\Modules\Addresses\ControllersLogic\DeleteAddressLogic;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DeleteAddressController
{
/**
* @param Request $request
* @param DeleteAddressLogic $logic
* @return JsonResponse
*/
public function destroy(Request $request, DeleteAddressLogic $logic): JsonResponse {
return $logic->execute($request);
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers\Packages;
use App\Classes\Modules\Packages\ControllersLogic\DeletePackageLogic;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DeletePackageController
{
/**
* @param Request $request
* @param DeletePackageLogic $logic
* @return JsonResponse
*/
public function destroy(Request $request, DeletePackageLogic $logic): JsonResponse {
return $logic->execute($request);
}
}
@@ -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);
+1 -1
View File
@@ -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');
});