public function __construct($adGroupId = null, $keywordEstimates = null, $EstimateType = null) { parent::__construct(); $this->adGroupId = $adGroupId; $this->keywordEstimates = $keywordEstimates; $this->EstimateType = $EstimateType; }
public function __construct($campaignId = null, $adGroupEstimates = null, $EstimateType = null) { parent::__construct(); $this->campaignId = $campaignId; $this->adGroupEstimates = $adGroupEstimates; $this->EstimateType = $EstimateType; }
public function __construct($criterionId = null, $min = null, $max = null, $EstimateType = null) { parent::__construct(); $this->criterionId = $criterionId; $this->min = $min; $this->max = $max; $this->EstimateType = $EstimateType; }
/** * @see CommonForm */ public function configure() { unset($this['number'], $this['due_date'], $this['closed'], $this['created_at'], $this['updated_at']); $this->widgetSchema['issue_date'] = new sfWidgetFormI18nJQueryDate($this->JQueryDateOptions); $this->widgetSchema['draft'] = new sfWidgetFormInputHidden(); $this->widgetSchema['status'] = new sfWidgetFormChoice(array('choices' => Estimate::getStatusArray())); $this->widgetSchema->setNameFormat('invoice[%s]'); $this->setDefaults(array('draft' => 0)); parent::configure(); }
function testDestroyAssociatedRecords() { $c = new Company(); $c->set(array('name' => 'destroy_test')); $c->save(); $p = new Project(); $p->set(array('company_id' => $c->id, 'name' => 'destroy_project_test')); $p->save(); $e = new Estimate(); $e->set(array('project_id' => $p->id, 'name' => 'destroy_estimate_test')); $e->save(); $h = new Hour(); $h->set(array('estimate_id' => $e->id, 'name' => 'destroy_hour_test')); $h->save(); $ch = new Charge(); $ch->set(array('company_id' => $c->id, 'name' => 'destroy_charge_test')); $ch->save(); $con = new SupportContract(); $con->set(array('company_id' => $c->id, 'name' => 'destroy_contract_test')); $con->save(); $sup_hr = new Hour(); $sup_hr->set(array('support_contract_id' => $con->id, 'description' => 'destroy_support_hour_test')); $sup_hr->save(); $pay = new Payment(); $pay->set(array('company_id' => $c->id, 'name' => 'destroy_payment_test')); $pay->save(); $deleted_items = array('company' => $c->id, 'project' => $p->id, 'estimate' => $e->id, 'hour' => $h->id, 'support_hour' => $sup_hr->id, 'charge' => $ch->id, 'support_contract' => $con->id, 'payment' => $pay->id); $c->destroyAssociatedRecords(); $c->delete(); $dbcon = AMP::getDb(); foreach ($deleted_items as $table => $id) { if ($table == 'support_hour') { $table = 'hour'; } $sql = 'SELECT * FROM ' . $table . ' WHERE id = ' . $id; if ($records = $dbcon->Execute($sql)) { $this->assertEqual($records->RecordCount(), 0, "{$table} not deleted correctly: %s"); } else { trigger_error($dbcon->ErrorMsg()); } } }
public function cancelBatchEstimate() { if (Auth::check()) { $inputs = Input::all(); $sendBatchId = Estimate::cancelBatchEstimate($inputs); if ($sendBatchId) { return Response::json(array('status' => "success", $sendBatchId)); } else { return Response::json(array('status' => "failure")); } } }
/** * Process the callback data from the payment provider */ public function callback($request) { if (Director::isDev()) { $secret_key = StripePayment::config()->test_secret_key; $publish_key = StripePayment::config()->test_publish_key; } else { $secret_key = StripePayment::config()->live_secret_key; $publish_key = StripePayment::config()->live_publish_key; } Stripe::setApiKey($secret_key); $site = SiteConfig::current_site_config(); $order = $this->getOrderData(); $cart = ShoppingCart::get(); $this->extend('onBeforeCallback'); $error_url = Controller::join_links(Director::absoluteBaseURL(), Payment_Controller::config()->url_segment, 'complete', 'error'); $data = $this->request->postVars(); $status = "error"; // Get the credit card details submitted by the form $token = $data['stripeToken']; $order_no = Session::get("StripePayment.OrderNumber"); $order = Estimate::get()->filter("OrderNumber", $order_no)->first(); if ($order_no && $order) { // Create the charge on Stripe's servers - this will charge // the user's card try { $success_url = Controller::join_links(Director::absoluteBaseURL(), Payment_Controller::config()->url_segment, 'complete', $order_no); $charge = StripeCharge::create(array("amount" => round($order->Total->Value * 100), "currency" => strtolower(Checkout::config()->currency_code), "source" => $token, "metadata" => array("Order" => $order_no))); $order->convertToOrder(); $order->write(); $order = Order::get()->byID($order->ID); $order->Status = "paid"; $order->PaymentProvider = "Stripe"; $order->PaymentNo = $charge->id; $order->write(); return $this->redirect($success_url); } catch (Exception $e) { $order->Status = "failed"; $order->write(); return $this->redirect($error_url); } } else { return $this->redirect($error_url); } }
public function __construct($campaignId = NULL, $adGroupEstimates = NULL, $EstimateType = NULL) { if (get_parent_class('CampaignEstimate')) { parent::__construct(); } $this->campaignId = $campaignId; $this->adGroupEstimates = $adGroupEstimates; $this->EstimateType = $EstimateType; }
/** * Prende le stime dei figli, le somma e ne genera una singola */ function getEstimateFromChilds() { // Prendo tutti i figli della milestone corrente $tasks = Tasks::findByMilestone($this->object, STATE_VISIBLE); // Scorro tutti i figli e ne salvo le stime $estimates = array(); $estimates_sum = 0; if (is_foreachable($tasks)) { foreach ($tasks as $task) { $estimate = Estimates::findLatestByParent($task); // Se non è stata impostata la stima ritorna nullo, quindi bisogna controllare che effettivamente l'oggetto esista if ($estimate && $estimate instanceof Estimate) { $estimates[] = $estimate; $estimates_sum += $estimate->getValue(); } } } // FIXME: seconda parte dell'if inutile if ($this->object instanceof Milestone || $this->object instanceof RemediaMilestone) { $estimate = new Estimate(); $estimate->setParent($this->object); $estimate->setValue($estimates_sum); $estimate->setJobType(JobTypes::findById(1)); // TODO: ho preso un job a caso, chissene $estimate->setComment('Stima generata automaticamente'); $estimate->setCreatedBy($this->object->assignees()->getAssignee()); // Assegno come creatore un tizio tra gli assegnatari $estimate->setCreatedOn(DateTimeValue::now()); } return $estimate; }
function testCalculateBalanceWithDateRange() { #Company $cp = new Company(); $cp->set(array('name' => 'Test Company', 'status' => 'active')); $cp->save(); $pb = new CompanyPreviousBalance(); $pb->set(array('company_id' => $cp->id, 'amount' => 600.25, 'date' => '2010-01-30')); $pb->save(); $this->assertWithinMargin($pb->getAmount(), '600.25', '.01'); ######### Support $sc = new SupportContract(); $sc->set(array('company_id' => $cp->id, 'domain_name' => 'Test', 'start_date' => '2010-01-01', 'end_date' => '2010-04-30', 'hourly_rate' => '120', 'support_hours' => '.5', 'monthly_rate' => '50')); $sc->save(); # add support hours # before previous balance $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-01-20', 'hours' => '2.5')); $h->save(); # in range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-02-20', 'hours' => '2.5')); $h->save(); # in range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-03-20', 'hours' => '2.5')); $h->save(); # out of range $h = new Hour(); $h->set(array('description' => 'Test', 'support_contract_id' => $sc->id, 'date' => '2010-05-20', 'hours' => '2')); $h->save(); ### Support Totals = in range is 2 months x 50 = 100, 4 @ 120 = 480 = 580 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateSupportTotal($date_range); $this->assertEqual($total, 580); ###### Project $pj = new Project(); $pj->set(array('name' => 'Test Project', 'company_id' => $cp->id, 'hourly_rate' => '120')); $pj->save(); # Add an Estimate item #1 $es1 = new Estimate(); $es1->set(array('project_id' => $pj->id, 'name' => 'Test Estimate 1', 'high_hours' => '10', 'low_hours' => '5')); $es1->save(); # Add an Estimate item #2 $es2 = new Estimate(); $es2->set(array('project_id' => $pj->id, 'name' => 'Test Estimate 2', 'high_hours' => '10', 'low_hours' => '5')); $es2->save(); # Add some before previous balance hours for #1 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es1->id, 'description' => 'Test Hours for Estimate 1', 'date' => '2010-01-15', 'hours' => '5')); $hr->save(); # Add some in range hours for #1 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es1->id, 'description' => 'Test Hours for Estimate 1', 'date' => '2010-02-15', 'hours' => '5')); $hr->save(); # Add some in range hours for #2 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es2->id, 'description' => 'Test Hours for Estimate 2', 'date' => '2010-02-15', 'hours' => '5')); $hr->save(); # Add some out of range hours for #2 - 5 hours at 120 = 600 $hr = new Hour(); $hr->set(array('estimate_id' => $es2->id, 'description' => 'Test Hours for Estimate 2', 'date' => '2010-05-15', 'hours' => '5')); $hr->save(); ## Project Totals = In range 1200, out of range 1800 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateProjectsTotal($date_range); $this->assertEqual($total, 1200); #Charge # before previous balance $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-01-10', 'amount' => '20.50')); $cr->save(); # in date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-03-14', 'amount' => '50.25')); $cr->save(); # in date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-03-20', 'amount' => '50')); $cr->save(); # out of date range $cr = new Charge(); $cr->set(array('name' => 'Test', 'company_id' => $cp->id, 'date' => '2010-05-15', 'amount' => '50')); $cr->save(); # Total Charges = in range 100.25, out of range 150.25 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $charge_total = $cp->calculateChargesTotal($date_range); $this->assertEqual($charge_total, 100.25); ## Test Total Costs # Charges 100.25 + project 1200 + support 580 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $total = $cp->calculateCosts($date_range); $this->assertEqual($total, 1880.25); ## Payments # add payment before previous balance date $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-01-22', 'amount' => '20.50')); $py->save(); # add payment in range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-02-10', 'amount' => '20.00')); $py->save(); # add payment in range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-03-01', 'amount' => '120.00')); $py->save(); # add payment out of range $py = new Payment(); $py->set(array('company_id' => $cp->id, 'date' => '2010-04-01', 'amount' => '20.25')); $py->save(); # Total Payments are 20 + 120 = 140 in range and after previous balance $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $payment_total = $cp->calculatePaymentsTotal($date_range); $this->assertEqual($payment_total, 140); #### fails because the previous balance isn't getting included FIX ME!! # Total Balance Costs 1880.25 - Payments 140 + Previous balance 600.25 = 2340.5 $date_range = array('start_date' => '2010-01-01', 'end_date' => '2010-03-31'); $balance = $cp->calculateBalance($date_range); $this->assertWithinMargin($balance, 2340.5, 0.001); ## clean up $cp->destroyAssociatedRecords(); $cp->delete(); }
function getEstimates() { if (empty($this->estimates)) { $finder = new Estimate(); $this->estimates = $finder->find(array('project_id' => $this->id, 'sort' => 'id ASC')); } return $this->estimates; }
} catch (Exception $ex) { trigger_error($ex->getMessage(), E_USER_WARNING); // can't working without database die("Fatal error: cannot connect to database!" . PHP_EOL); } /* **************************************** Good place for config value analysis ****************************************/ // Include required files (including sequence is important) require_once LIB_DIR . DIRECTORY_SEPARATOR . 'common.php'; require_once LIB_DIR . DIRECTORY_SEPARATOR . 'language.php'; include_once LIB_DIR . DIRECTORY_SEPARATOR . 'definitions.php'; setlocale(LC_NUMERIC, 'en_US'); $options['action'] = isset($options['action']) ? $options['action'] : ''; define('VOIP_CACHE_DIR', isset($options['cache-dir']) ? $options['cache-dir'] : SYS_DIR . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'voip' . DIRECTORY_SEPARATOR . 'cache'); $estimate = new Estimate(SqlProvider::getInstance()); $db_buffor = new VoipDbBuffor(SqlProvider::getInstance()); switch (strtolower($options['action'])) { case 'estimate': if (!isset($options['caller'])) { die("Caller phone number isn't set."); } if (!isset($options['callee'])) { die("Callee phone number isn't set."); } try { $call_time = $estimate->getMaxCallTime($options['caller'], $options['callee']); // if debug mode is set print value else change to miliseconds before print echo array_key_exists('debug', $options) ? $call_time . PHP_EOL : $call_time * 1000; } catch (Exception $e) { echo $e->getMessage();
function makeCriteriaProject($values) { $estimates = array(); foreach ($values as $value) { $project_estimates = Estimate::getMany(array('project' => $value)); if (!empty($project_estimates)) { $estimates = array_merge($estimates, $project_estimates); } } return $this->makeCriteriaEstimate(array_map(function ($item) { return $item->id; }, $estimates)); }
static function cancelBatchEstimate($id) { return Estimate::where('id', '=', $id)->update('is_cancelled', '1'); }
protected function sendEmail(Estimate $estimate) { $i18n = $this->getContext()->getI18N(); $result = false; try { $message = new InvoiceMessage($estimate); if ($message->getReadyState()) { $result = $this->getMailer()->send($message); if ($result) { $estimate->setSentByEmail(true); $estimate->save(); } } } catch (Exception $e) { $message = sprintf($i18n->__('There is a problem with estimate %s'), $estimate) . ': ' . $e->getMessage(); $this->getUser()->error($message); } return $result; }
/** * @covers Moneybird\Estimate::delete */ public function testDelete() { $this->object->delete($this->service); $this->setExpectedException('Moneybird\\NotFoundException'); $this->service->getById(self::$estimateId); }
public function enrollKid2() { $inputs = Input::all(); //return Response::json(array('status'=>'success','inputs'=>$inputs)); $getEstimateDetails = Estimate::where('estimate_master_no', '=', $inputs['estimate_master_no'])->where('is_cancelled', '!=', '1')->where('franchise_id', '=', Session::get('franchiseId'))->get(); //** checking if it is a one batch **// //return Response::json(array('status'=>'success','inputs'=>count($getEstimateDetails))); //return Response::json(array('status'=>'success','inputs'=>$inputs)); if (count($getEstimateDetails) == 1) { if ($inputs['paymentOptionsRadio'] == 'singlepay') { $studentClasses['classId'] = $getEstimateDetails[0]['class_id']; $studentClasses['batchId'] = $getEstimateDetails[0]['batch_id']; $studentClasses['studentId'] = $getEstimateDetails[0]['student_id']; $studentClasses['selected_sessions'] = $getEstimateDetails[0]['no_of_opted_classes']; $studentClasses['seasonId'] = $getEstimateDetails[0]['season_id']; $singleBatchstartDate = Carbon::createFromFormat('Y-m-d', $getEstimateDetails[0]['enroll_start_date']); $studentClasses['enrollment_start_date'] = $getEstimateDetails[0]['enroll_start_date']; $studentClasses['enrollment_end_date'] = $getEstimateDetails[0]['enroll_end_date']; $singleBatchendDate = Carbon::createFromFormat('Y-m-d', $getEstimateDetails[0]['enroll_end_date']); $insertDataToStudentClassTable = StudentClasses::addStudentClass($studentClasses); } elseif ($inputs['paymentOptionsRadio'] == "bipay") { //return Response::json(array('status'=>'success','inputs'=>$inputs)); $studentClasses['classId'] = $getEstimateDetails[0]['class_id']; $studentClasses['batchId'] = $getEstimateDetails[0]['batch_id']; $studentClasses['studentId'] = $getEstimateDetails[0]['student_id']; $studentClasses['seasonId'] = $getEstimateDetails[0]['season_id']; //return Response:: json(array('status'=>'success')); $first_selected_session = 0; $second_selected_session = 0; if ($getEstimateDetails[0]['no_of_opted_classes'] % 2 == 0) { //return Response::json(array('status'=>'success','inputs'=>$inputs)); $first_selected_session = $getEstimateDetails[0]['no_of_opted_classes'] / 2; $second_selected_session = $getEstimateDetails[0]['no_of_opted_classes'] / 2; } else { // return Response::json(array('status'=>'success','inputs'=>$getEstimateDetails[0]['no_of_opted_classes']/2)); $first_selected_session = (int) ($getEstimateDetails[0]['no_of_opted_classes'] / 2); $second_selected_session = (int) ($getEstimateDetails[0]['no_of_opted_classes'] / 2) + 1; } $batch_data = BatchSchedule::where('batch_id', '=', $getEstimateDetails[0]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[0]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[0]['no_of_opted_classes'])->get(); for ($i = 1; $i <= 2; $i++) { if ($i == 1) { $studentClasses['selected_sessions'] = $first_selected_session; $singleBatchstartDate = Carbon::createFromFormat('Y-m-d', $batch_data[0]['schedule_date']); $studentClasses['enrollment_start_date'] = $batch_data[0]['schedule_date']; $studentClasses['enrollment_end_date'] = $batch_data[$first_selected_session - 1]['schedule_date']; $singleBatchendDate = Carbon::createFromFormat('Y-m-d', $getEstimateDetails[$first_selected_session - 1]['enroll_end_date']); $insertDataToStudentClassTable = StudentClasses::addStudentClass($studentClasses); } else { if ($i == 2) { $studentClasses['selected_sessions'] = $second_selected_session; $studentClasses['enrollment_start_date'] = $batch_data[$first_selected_session]['schedule_date']; $studentClasses['enrollment_end_date'] = $batch_data[count($batch_data) - 1]['schedule_date']; $studentClasses['status'] = 'pending'; $insertDataToStudentClassTable = StudentClasses::addStudentClass($studentClasses); } } } } elseif ($inputs['paymentOptionsRadio'] == "multipay") { } } elseif (count($getEstimateDetails) == 2) { if ($inputs['paymentOptionsRadio'] == "Singlepay") { } elseif ($inputs['paymentOptionsRadio'] == "bipay") { // return Response::json(array('status'=>'success','inputs'=>$inputs)); $batch_data[0] = BatchSchedule::where('batch_id', '=', $getEstimateDetails[0]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[0]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[0]['no_of_opted_classes'])->get(); $batch_data[1] = BatchSchedule::where('batch_id', '=', $getEstimateDetails[1]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[1]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[1]['no_of_opted_classes'])->get(); if (((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession']) % 2 == 0) { $firstpayment_no = ((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession']) / 2; $secondpayment_no = ((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession']) / 2; } else { $firstpayment_no = (int) (((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession']) / 2); $secondpayment_no = (int) (((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession']) / 2) + 1; } if ((int) $getEstimateDetails[0]['no_of_opted_classes'] == $firstpayment_no) { for ($i = 0; $i < 2; $i++) { $studentClasses[$i]['classId'] = $getEstimateDetails[$i]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[$i]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[$i]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[$i]['season_id']; $studentClasses[$i]['selected_sessions'] = $getEstimateDetails[$i]['no_of_opted_classes']; if ($i == 0) { $firstBatchStartDate = Carbon::createFromFormat('Y-m-d', $getEstimateDetails[$i]['enroll_start_date']); $firstBatchEndDate = Carbon::createFromFormat('Y-m-d', $getEstimateDetails[$i]['enroll_end_date']); } $studentClasses[$i]['enrollment_start_date'] = $getEstimateDetails[$i]['enroll_start_date']; $studentClasses[$i]['enrollment_end_date'] = $getEstimateDetails[$i]['enroll_end_date']; if ($i == 0) { $student_class1 = StudentClasses::addStudentClass($studentClasses[$i]); } else { $studentClasses[$i]['status'] = 'pending'; $student_class2 = StudentClasses::addStudentClass($studentClasses[$i]); } } } else { if ((int) $getEstimateDetails[0]['no_of_opted_classes'] < $firstpayment_no) { //return Response::json(array('status'=>'success','inputs'=>$inputs)); for ($i = 0; $i < 3; $i++) { if ($i == 0) { $studentClasses[$i]['classId'] = $getEstimateDetails[$i]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[$i]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[$i]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[$i]['season_id']; $studentClasses[$i]['selected_sessions'] = $getEstimateDetails[$i]['no_of_opted_classes']; $studentClasses[$i]['enrollment_start_date'] = $getEstimateDetails[$i]['enroll_start_date']; $studentClasses[$i]['enrollment_end_date'] = $getEstimateDetails[$i]['enroll_end_date']; $student_class1 = StudentClasses::addStudentClass($studentClasses[$i]); } else { $studentClasses[$i]['classId'] = $getEstimateDetails[1]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[1]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[1]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[1]['season_id']; if ($i == 1) { $second_session = $firstpayment_no - $studentClasses[0]['selected_sessions']; $studentClasses[$i]['selected_sessions'] = $second_session; $studentClasses[$i]['enrollment_start_date'] = $batch_data[1][0]['schedule_date']; $studentClasses[$i]['enrollment_end_date'] = $batch_data[1][$second_session - 1]['schedule_date']; $student_class2 = StudentClasses::addStudentClass($studentClasses[$i]); // return Response::json(array('status'=>'success','inputs'=>$inputs)); } if ($i == 2) { $studentClasses[$i]['selected_sessions'] = $secondpayment_no; $studentClasses[$i]['enrollment_start_date'] = $batch_data[1][$second_session]['schedule_date']; $studentClasses[$i]['enrollment_end_date'] = $batch_data[1][count($batch_data[1]) - 1]['schedule_date']; $studentClasses[$i]['status'] = 'pending'; $student_class3 = StudentClasses::addStudentClass($studentClasses[$i]); } } } } else { if ((int) $getEstimateDetails[0]['no_of_opted_classes'] > $firstpayment_no) { for ($i = 1; $i <= 3; $i++) { if ($i == 1) { $studentClasses[1]['classId'] = $getEstimateDetails[0]['class_id']; $studentClasses[1]['batchId'] = $getEstimateDetails[0]['batch_id']; $studentClasses[1]['studentId'] = $getEstimateDetails[0]['student_id']; $studentClasses[1]['seasonId'] = $getEstimateDetails[0]['season_id']; $studentClasses[1]['selected_sessions'] = $firstpayment_no; $studentClasses[1]['enrollment_start_date'] = $getEstimateDetails[0]['enroll_start_date']; $studentClasses[1]['enrollment_end_date'] = $batch_data[0][$firstpayment_no - 1]['schedule_date']; $student_class1 = StudentClasses::addStudentClass($studentClasses[1]); } else { if ($i == 2) { $studentClasses[1]['selected_sessions'] = count($batch_data[0]) - $firstpayment_no; $studentClasses[1]['enrollment_start_date'] = $batch_data[0][$firstpayment_no]['schedule_date']; $studentClasses[1]['enrollment_end_date'] = $batch_data[0][count($batch_data[0]) - 1]['schedule_date']; $studentClasses[1]['status'] = 'pending'; $student_class2 = StudentClasses::addStudentClass($studentClasses[1]); } else { if ($i == 3) { $studentClasses[2]['classId'] = $getEstimateDetails[1]['class_id']; $studentClasses[2]['batchId'] = $getEstimateDetails[1]['batch_id']; $studentClasses[2]['studentId'] = $getEstimateDetails[1]['student_id']; $studentClasses[2]['seasonId'] = $getEstimateDetails[1]['season_id']; $studentClasses[2]['selected_sessions'] = count($batch_data[1]); $studentClasses[2]['enrollment_start_date'] = $getEstimateDetails[1]['enroll_start_date']; $studentClasses[2]['enrollment_end_date'] = $batch_data[1][count($batch_data[1]) - 1]['schedule_date']; $studentClasses[2]['status'] = 'pending'; $student_class3 = StudentClasses::addStudentClass($studentClasses[2]); } } } } } } } return Response::json(array('status' => 'success', 'inputs' => $inputs)); } elseif ($inputs['paymentOptionsRadio'] == "multipay") { //multipay } } elseif (count($getEstimateDetails) == 3) { if ($inputs['paymentOptionsRadio'] == "singlepay") { //$insertDataToStudentClassTable = StudentClasses::addStudentClass($inputs); } elseif ($inputs['paymentOptionsRadio'] == "bipay") { $batch_data[0] = BatchSchedule::where('batch_id', '=', $getEstimateDetails[0]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[0]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[0]['no_of_opted_classes'])->get(); $batch_data[1] = BatchSchedule::where('batch_id', '=', $getEstimateDetails[1]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[1]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[1]['no_of_opted_classes'])->get(); $batch_data[2] = BatchSchedule::where('batch_id', '=', $getEstimateDetails[2]['batch_id'])->where('schedule_date', '>=', $getEstimateDetails[2]['enroll_start_date'])->where('holiday', '!=', 1)->orderBy('id')->take($getEstimateDetails[2]['no_of_opted_classes'])->get(); if (((int) $inputs['bipaybatch1availablesession'] + (int) $inputs['bipaybatch2availablesession'] + $inputs['bipaybatch3availablesession']) % 2 == 0) { $firstpayment_no = (int) ($inputs['bipaybatch1availablesession'] + $inputs['bipaybatch2availablesession'] + $inputs['bipaybatch3availablesession']) / 2; $secondpayment_no = (int) ($inputs['bipaybatch1availablesession'] + $inputs['bipaybatch2availablesession'] + $inputs['bipaybatch3availablesession']) / 2; } else { $firstpayment_no = (int) (($inputs['bipaybatch1availablesession'] + $inputs['bipaybatch2availablesession'] + $inputs['bipaybatch3availablesession']) / 2); $secondpayment_no = (int) (($inputs['bipaybatch1availablesession'] + $inputs['bipaybatch2availablesession'] + $inputs['bipaybatch3availablesession']) / 2) + 1; } if ((int) $getEstimateDetails[0]['no_of_opted_classes'] + (int) $getEstimateDetails[1]['no_of_opted_classes'] < $firstpayment_no) { for ($i = 0; $i <= 3; $i++) { if ($i != 3) { $studentClasses[$i]['classId'] = $getEstimateDetails[$i]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[$i]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[$i]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[$i]['season_id']; $studentClasses[$i]['enrollment_start_date'] = $batch_data[$i][0]['schedule_date']; if ($i != 2) { $studentClasses[$i]['selected_sessions'] = $getEstimateDetails[$i]['no_of_opted_classes']; $studentClasses[$i]['enrollment_end_date'] = $batch_data[$i][count($batch_data[$i]) - 1]['schedule_date']; if ($i == 0) { $student_class1 = StudentClasses::addStudentClass($studentClasses[$i]); } else { if ($i == 1) { $student_class2 = StudentClasses::addStudentClass($studentClasses[$i]); } } } else { if ($i == 2) { $studentClasses[$i]['selected_sessions'] = $firstpayment_no - ($studentClasses[0]['selected_sessions'] + $studentClasses[1]['selected_sessions']); $studentClasses[$i]['enrollment_end_date'] = $batch_data[$i][$firstpayment_no - ($studentClasses[0]['selected_sessions'] + $studentClasses[1]['selected_sessions']) - 1]['schedule_date']; $student_class3 = StudentClasses::addStudentClass($studentClasses[$i]); } } } else { if ($i == 3) { $studentClasses[2]['selected_sessions'] = $secondpayment_no; $studentClasses[2]['enrollment_start_date'] = $batch_data[2][$firstpayment_no - ($studentClasses[0]['selected_sessions'] + $studentClasses[1]['selected_sessions'])]['schedule_date']; $studentClasses[2]['enrollment_end_date'] = $batch_data[2][count($batch_data[2]) - 1]['schedule_date']; $studentClasses[2]['status'] = 'pending'; $student_class4 = StudentClasses::addStudentClass($studentClasses[2]); return Response::json(array('status' => 'success', 'inputs' => $inputs, 'first' => $firstpayment_no, 'second' => $secondpayment_no)); } } } } else { if ((int) $getEstimateDetails[0]['no_of_opted_classes'] + (int) $getEstimateDetails[1]['no_of_opted_classes'] == $firstpayment_no) { for ($i = 0; $i < 3; $i++) { if ($i != 2) { $studentClasses[$i]['classId'] = $getEstimateDetails[$i]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[$i]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[$i]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[$i]['season_id']; $studentClasses[$i]['enrollment_start_date'] = $batch_data[$i][0]['schedule_date']; $studentClasses[$i]['enrollment_end_date'] = $batch_data[count($batch_data[$i]) - 1]['schedule_date']; $studentClasses[$i]['selected_sessions'] = count($batch_data[$i]); if ($i == 1) { $student_class1 = StudentClasses::addStudentClass($studentClasses[$i]); } else { if ($i == 2) { $student_class2 = StudentClasses::addStudentClass($studentClasses[$i]); } } } else { $studentClasses[$i]['classId'] = $getEstimateDetails[$i]['class_id']; $studentClasses[$i]['batchId'] = $getEstimateDetails[$i]['batch_id']; $studentClasses[$i]['studentId'] = $getEstimateDetails[$i]['student_id']; $studentClasses[$i]['seasonId'] = $getEstimateDetails[$i]['season_id']; $studentClasses[$i]['enrollment_start_date'] = $batch_data[$i][0]['schedule_date']; $studentClasses[$i]['enrollment_end_date'] = $batch_data[count($batch_data[$i]) - 1]['schedule_date']; $studentClasses[$i]['selected_sessions'] = count($batch_data[$i]); } } } } } elseif ($inputs['paymentOptionsRadio'] == "multipay") { } } }