diff --git a/app/Http/Controllers/MoonsController.php b/app/Http/Controllers/MoonsController.php index cec89ca1d..0412a236a 100644 --- a/app/Http/Controllers/MoonsController.php +++ b/app/Http/Controllers/MoonsController.php @@ -31,6 +31,8 @@ class MoonsController extends Controller $rentalEnd = date('d.m.Y', $moon->RentalEnd); $price = $moonCalc->SpatialMoons($moon->FirstOre, $moon->FirstQuantity, $moon->SecondOre, $moon->SecondQuantity, $moon->ThirdOre, $moon->ThirdQuantity, $moon->FourthOre, $moon->FourthQuantity); + $allyPrice = $moonCalc->SpatialMoonsOutOfAlliance($moon->FirstOre, $moon->FirstQuantity, $moon->SecondOre, $moon->SecondQuantity, + $moon->ThirdOre, $moon->ThirdQuantity, $moon->FourthOre, $moon->FourthQuantity); //Add the data to the html string to be passed to the view $html .= ''; $html .= '' . $spm . ''; @@ -44,6 +46,7 @@ class MoonsController extends Controller $html .= '' . $moon->FourthOre . ''; $html .= '' . $moon->FourthQuantity . ''; $html .= '' . $price . ''; + $html .= '' . $allyPrice . ''; $html .= '' . $moon->RentalCorp . ''; $html .= '' . $rentalEnd . ''; $html .= ''; diff --git a/app/Library/MoonCalc.php b/app/Library/MoonCalc.php index fe1eb3271..ece0111af 100644 --- a/app/Library/MoonCalc.php +++ b/app/Library/MoonCalc.php @@ -76,6 +76,63 @@ class MoonCalc { return $rentalPrice; } + public function SpatialMoonsOutOfAlliance($firstOre, $firstQuan, $secondOre, $secondQuan, $thirdOre, $thirdQuan, $fourthOre, $fourthQuan) { + //Always assume a 1 month pull which equates to 5.55m3 per second or 2,592,000 seconds + //Total pull size is 14,385,600 m3 + $totalPull = 5.55 * (3600.00 * 24.00 * 30.00); + //Get the configuration for pricing calculations + $config = DB::table('Config')->get(); + if($firstQuan >= 1.00) { + $firstPerc = $this->ConvertToPercentage($firstQuan); + } else { + $firstPerc = $firstQuan; + } + if($secondQuan >= 1.00) { + $secondPerc = $this->ConvertToPercentage($secondQuan); + } else { + $secondPerc = $secondQuan; + } + if($thirdQuan >= 1.00) { + $thirdPerc = $this->ConvertToPercentage($thirdQuan); + } else { + $thirdPerc = $thirdQuan; + } + if($fourthQuan >= 1.00) { + $fourthPerc = $this->ConvertToPercentage($fourthQuan); + } else { + $fourthPerc = $fourthQuan; + } + if($firstOre != "None") { + $firstTotal = $this->CalcPrice($firstOre, $firstPerc); + } else { + $firstTotal = 0.00; + } + if($secondOre != "None") { + $secondTotal = $this->CalcPrice($secondOre, $secondPerc); + } else { + $secondTotal = 0.00; + } + if($thirdOre != "None") { + $thirdTotal = $this->CalcPrice($thirdOre, $thirdPerc); + } else { + $thirdTotal = 0.00; + } + if($fourthOre != "None") { + $fourthTotal = $this->CalcPrice($fourthOre, $fourthPerc); + } else { + $fourthTotal = 0.00; + } + //Calculate the total to price to be mined in one month + $totalPriceMined = $firstTotal + $secondTotal + $thirdTotal + $fourthTotal; + //Calculate the rental price. Refined rate is already included in the price from rental composition + $rentalPrice = $totalPriceMined * ($config[0]->AllyRentalTax / 100.00); + //Format the rental price to the appropriate number + $rentalPrice = number_format($rentalPrice, "2", ".", ","); + + //Return the rental price to the caller + return $rentalPrice; + } + public function FetchNewPrices() { $ItemIDs = array( "Tritanium" => 34, diff --git a/resources/views/moons/moon.blade.php b/resources/views/moons/moon.blade.php index 751c71ea8..bab569f41 100644 --- a/resources/views/moons/moon.blade.php +++ b/resources/views/moons/moon.blade.php @@ -14,6 +14,7 @@ Fourth Ore Quantity Rental Price + Ally Rental Price Renter Rental End