diff --git a/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php b/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php index 7f23db3..8a249ad 100644 --- a/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php +++ b/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php @@ -410,7 +410,7 @@ class ManageFreeUInvestmentController extends Controller 3 => ['id' => Category::GlobalPrivateEquityFundId, 'file' => 'InternationalPrivateEquityFundTemplate'], 4 => ['id' => Category::GlobalVentureDebtId, 'file' => 'RealEstateInvestmentTrustsTemplate'], 5 => ['id' => Category::GlobalHedgeFundId, 'file' => 'InternationalHedgeFundTemplate'], - 6 => ['id' => Category::GlobalPrivateCreditFundId, 'file' => 'PrivateCreditTemplate'], + 6 => ['id' => Category::GlobalPrivateCreditFundId, 'file' => 'InternationalPrivateCreditFundTemplate'], ]; if (!array_key_exists($id, $exchangeData)) { diff --git a/app/Http/Controllers/Frontend/AlternativeInvestmentFundController.php b/app/Http/Controllers/Frontend/AlternativeInvestmentFundController.php index 71623a5..607086a 100644 --- a/app/Http/Controllers/Frontend/AlternativeInvestmentFundController.php +++ b/app/Http/Controllers/Frontend/AlternativeInvestmentFundController.php @@ -471,6 +471,17 @@ class AlternativeInvestmentFundController extends Controller } } + public function longOnlyEquityFundAllData($type = 'Open') + { + try { + return (new test(Product::has('alternativeInvestmentFund')->with('alternativeInvestmentFund.companies')->longOnlyEquityFund()->active()->get())) + ->response() + ->setStatusCode(200); + } catch (\Exception $e) { + return response()->json(['message' => $e->getMessage()], 400); + } + } + public function longOnlyEquityFundData($slug) { try { @@ -482,6 +493,28 @@ class AlternativeInvestmentFundController extends Controller } } + public function privateCreditFundAllData($type = 'Open') + { + try { + return (new test(Product::has('alternativeInvestmentFund')->with('alternativeInvestmentFund.companies')->privateCreditFund()->active()->get())) + ->response() + ->setStatusCode(200); + } catch (\Exception $e) { + return response()->json(['message' => $e->getMessage()], 400); + } + } + + public function privateCreditFundData($slug) + { + try { + return (new LongOnlyEquityResource(AlternativeInvestmentFund::where('slug', $slug)->first())) + ->response() + ->setStatusCode(200); + } catch (\Exception $e) { + return response()->json(['message' => $e->getMessage()], 400); + } + } + public function pipeAllData($type = 'Open') { try { diff --git a/app/Http/Controllers/GlobalPrivateCreditController.php b/app/Http/Controllers/GlobalPrivateCreditController.php index eb06846..e39db23 100644 --- a/app/Http/Controllers/GlobalPrivateCreditController.php +++ b/app/Http/Controllers/GlobalPrivateCreditController.php @@ -5,16 +5,40 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Controllers\Admin\ManageFreeUInvestments\FractionalRealEstateController as FractionalRealEstateFrontendController; use App\Models\Product; +use App\Models\Fund; +use App\Http\Resources\FractionalRealEstate as test; class GlobalPrivateCreditController extends Controller { public function getGlobalPrivateCreditFundPage() { + // dd(Product::has('funds')->with('funds')->funds()->globalPrivateCreditFund()->open()->active()->latest()->get()); $learnMore = (new FractionalRealEstateFrontendController)->globalPCFQuestionAndAnswer()->getData(); - return view('Frontend.Pages.dummy.global-private-credit',[ - 'learnMore'=>$learnMore, - 'openGPCF'=> Product::has('alternativeInvestmentFund')->with('alternativeInvestmentFund.companies','categorys')->globalPrivateCreditFund()->open()->active()->latest()->get(), - 'resaleGPCF'=> Product::has('alternativeInvestmentFund')->with('alternativeInvestmentFund.companies','categorys')->globalPrivateCreditFund()->resale()->active()->latest()->get(), + return view('Frontend.Pages.dummy.global-private-credit', [ + 'learnMore' => $learnMore, + 'openGPCF' => Product::has('funds')->with('funds')->funds()->globalPrivateCreditFund()->open()->active()->latest()->get(), + // 'resaleGPCF' => Product::has('alternativeInvestmentFund')->with('alternativeInvestmentFund.companies', 'categorys')->globalPrivateCreditFund()->resale()->active()->latest()->get(), + 'resaleGPCF' => Product::has('funds')->with('funds')->funds()->globalPrivateCreditFund()->resale()->active()->latest()->get(), ]); } + + public function getGlobalPrivateCreditFundProduct($slug) + { + $ventureCapitalFund = Fund::where('slug', $slug)->first(); + $productData = Fund::where('slug', '=', $slug)->first(); + $productData = Product::where('id', '=', $productData->products_id)->first(); + // dd($ventureCapitalFund); + return view('Frontend.Pages.venture-capital-funds.product', compact('ventureCapitalFund', 'productData')); + } + + public function privateCreditAllData($type) + { + try { + return (new test(Product::has('funds')->with('funds')->where('type', $type)->funds()->globalPrivateCreditFunds()->get())) + ->response() + ->setStatusCode(200); + } catch (\Exception $e) { + return response()->json(['message' => $e->getMessage()], 400); + } + } } diff --git a/app/Imports/FundImport.php b/app/Imports/FundImport.php index 4b71e36..a31ebac 100644 --- a/app/Imports/FundImport.php +++ b/app/Imports/FundImport.php @@ -74,6 +74,8 @@ class FundImport implements ToCollection, WithHeadingRow $init = 18; } else if($this->category_id == Category::GlobalVentureDebtId){ $init = 18; + } else if($this->category_id == Category::GlobalPrivateCreditFundId){ + $init = 18; } $returns = array(); @@ -106,7 +108,7 @@ class FundImport implements ToCollection, WithHeadingRow 'ytd' => $row['ytd'], 'year1_return' => $row['1_year_return'], 'year3_return' => $row['3_year_return'], - 'data_as_on' => $row['data_as_on'] + 'data_as_on' => $row['data_as_on'] ?? null, ]); if ($returns) { foreach ($returns as $key => $value) { diff --git a/app/Models/Category.php b/app/Models/Category.php index ce5a9c5..31bb079 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -92,7 +92,7 @@ class Category extends Model const PrivateCreditFundId = 41; - const GlobalPrivateCreditFundId= 43; + const GlobalPrivateCreditFundId= 42; public function scopeActive($query) { diff --git a/app/Models/Product.php b/app/Models/Product.php index 6251085..899ae8d 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -187,7 +187,7 @@ class Product extends Model public function scopeGlobalPrivateCreditFund($query) { - return $query->where('categories_id', 43); + return $query->where('categories_id', 42); } public function scopeInfrastructureFund($query) @@ -265,6 +265,11 @@ class Product extends Model return $query->where(['categories_id' => Category::GlobalVentureCapitalFundId, 'tables_id' => 3, 'status' => true]); } + public function scopeGlobalPrivateCreditFunds($query) + { + return $query->where(['categories_id' => Category::GlobalPrivateCreditFundId, 'tables_id' => 3, 'status' => true]); + } + public function scopeGlobalPrivateEquityFund($query) { return $query->where(['categories_id' => Category::GlobalPrivateEquityFundId, 'tables_id' => 3, 'status' => true]); diff --git a/app/helper.php b/app/helper.php index d2d8b83..2197995 100644 --- a/app/helper.php +++ b/app/helper.php @@ -108,7 +108,7 @@ function routeForHandpickedInvestment($categoryId) Category::PrivateEquityFundId => 'alternative-investment-fund.private-equity-fund-product', Category::GlobalPrivateEquityFundId => 'alternative-investment-fund.private-equity-fund-product', Category::PrivateCreditFundId => 'alternative-investment-fund.private-credit-fund-product', - Category::GlobalPrivateCreditFundId => 'alternative-investment-fund.private-credit-fund-product', + Category::GlobalPrivateCreditFundId => 'global-private-credit-fund-product', Category::PrivateRealEstateFundId => 'alternative-investment-fund.private-real-estate-fund-product', Category::HedgeFundId => 'alternative-investment-fund.hedge-fund-product', // Category::LongOnlyFundId => 'alternative-investment-fund.hedge-fund-product', diff --git a/public/assets/css/FrontendCss/style.css b/public/assets/css/FrontendCss/style.css index 6f249a2..45cdba0 100644 --- a/public/assets/css/FrontendCss/style.css +++ b/public/assets/css/FrontendCss/style.css @@ -4486,6 +4486,61 @@ span.start { height: 400px; overflow-y: scroll; } + +/* */ + /*======responsive=====*/ @media (max-width: 2560px) { diff --git a/public/assets/uploads/fund_images/202404111316_1711435445_factsheet.jpg b/public/assets/uploads/fund_images/202404111316_1711435445_factsheet.jpg new file mode 100644 index 0000000..e22ed82 Binary files /dev/null and b/public/assets/uploads/fund_images/202404111316_1711435445_factsheet.jpg differ diff --git a/public/assets/uploads/fund_images/202404111316_image.png b/public/assets/uploads/fund_images/202404111316_image.png new file mode 100644 index 0000000..0513644 Binary files /dev/null and b/public/assets/uploads/fund_images/202404111316_image.png differ diff --git a/public/excel-template/InternationalPrivateCreditFundTemplate.xlsx b/public/excel-template/InternationalPrivateCreditFundTemplate.xlsx new file mode 100644 index 0000000..942cb79 Binary files /dev/null and b/public/excel-template/InternationalPrivateCreditFundTemplate.xlsx differ diff --git a/resources/views/Frontend/Pages/venture-capital-funds/product.blade.php b/resources/views/Frontend/Pages/venture-capital-funds/product.blade.php index 6d4fb84..bd5aa01 100644 --- a/resources/views/Frontend/Pages/venture-capital-funds/product.blade.php +++ b/resources/views/Frontend/Pages/venture-capital-funds/product.blade.php @@ -40,6 +40,36 @@
+ @if ($productData && $productData->product_images != null) + + @endif +
diff --git a/routes/api.php b/routes/api.php index c811229..4518eee 100644 --- a/routes/api.php +++ b/routes/api.php @@ -61,6 +61,7 @@ use App\Http\Resources\FractionalRealEstate as test; use App\Models\SecuritizedDebtInstrument; use App\Http\Controllers\Admin\ManageChatController; +use App\Http\Controllers\GlobalPrivateCreditController; /* |-------------------------------------------------------------------------- @@ -261,6 +262,7 @@ Route::get('bonds-single-data/{slug}', [GlobalBondController::class, 'bondData'] Route::get('mutual-fund-all-data', [GlobalMutualFundController::class, 'mutualFundAllData']); Route::get('venture-capital-fund-all-data/{type}', [GlobalVentureCapitalFund::class, 'ventureCapitalAllData']); +Route::get('private-credit-fund-all-data/{type}', [GlobalPrivateCreditController::class, 'privateCreditAllData']); Route::get('private-equity-fund-all-data/{type}', [GlobalPrivateEquityFundController::class, 'privateEquityFundAllData']); Route::get('hedge-fund-all-data/{type}', [GlobalHedgeFundController::class, 'hedgeFundAllData']); Route::get('funds-single-data/{slug}', [GlobalMutualFundController::class, 'fundData']); @@ -300,6 +302,14 @@ Route::get('private-equity-fund-single-data/{slug}', [AlternativeInvestmentFundC Route::get('debt-fund-data/{type}', [AlternativeInvestmentFundController::class, 'debtFundAllData']); Route::get('debt-fund-single-data/{slug}', [AlternativeInvestmentFundController::class, 'debtFundData']); +//Private Credit Fund +Route::get('private-credit-fund-data/{type}', [AlternativeInvestmentFundController::class, 'privateCreditFundAllData']); +Route::get('private-credit-fund-single-data/{slug}', [AlternativeInvestmentFundController::class, 'privateCreditFundData']); + +//Long Only Equity Fund +Route::get('long-only-equity-fund-data/{type}', [AlternativeInvestmentFundController::class, 'longOnlyEquityFundAllData']); +Route::get('long-only-equity-fund-single-data/{slug}', [AlternativeInvestmentFundController::class, 'longOnlyEquityFundData']); + //Fund For Distressed Asset Route::get('fund-for-distressed-asset-data/{type}', [AlternativeInvestmentFundController::class, 'fundForDistressedAssetAllData']); Route::get('fund-for-distressed-asset-single-data/{slug}', [AlternativeInvestmentFundController::class, 'fundForDistressedAssetData']); diff --git a/routes/web.php b/routes/web.php index e035874..9989e3b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1176,6 +1176,7 @@ Route::view('global-angel-investing', 'Frontend.Pages.dummy.global-angel-investi Route::view('global-growth-capital', 'Frontend.Pages.dummy.global-growth-capital')->name('global-growth-capital'); Route::view('global-mezzanine-financing', 'Frontend.Pages.dummy.global-mezzanine-financing')->name('global-mezzanine-financing'); Route::get('global-private-credit', [GlobalPrivateCreditController::class, 'getGlobalPrivateCreditFundPage'])->name('global-private-credit'); +Route::get('global-private-credit-fund-product/{slug}', [GlobalPrivateCreditController::class, 'getGlobalPrivateCreditFundProduct'])->name('global-private-credit-fund-product'); Route::view('global-private-equity', 'Frontend.Pages.dummy.global-private-equity')->name('global-private-equity'); // indian links Route::view('indian-angel-investing', 'Frontend.Pages.dummy.indian-angel-investing')->name('indian-angel-investing');