Пример #1
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Orders();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Orders'])) {
         $model->attributes = $_POST['Orders'];
         $model->order_sn = F::get_order_sn();
         $model->user_id = Yii::app()->user->id ? Yii::app()->user->id : '0';
         if ($model->save()) {
             $cart = Yii::app()->cart;
             $mycart = $cart->contents();
             foreach ($mycart as $mc) {
                 $orderGoods = new OrderGoods();
                 $orderGoods->order_id = $model->order_id;
                 $orderGoods->product_id = $mc['id'];
                 $orderGoods->product_name = $mc['product_name'];
                 $orderGoods->product_image = serialize($mc['product_image']);
                 $orderGoods->product_sn = $mc['product_sn'];
                 $orderGoods->qty = $mc['qty'];
                 $orderGoods->save();
             }
             $cart->destroy();
             $this->redirect(array('success'));
         }
     }
     //
     //        $this->render('create', array(
     //            'model' => $model,
     //        ));
 }
 public function testGetAnnualMonthlyReport()
 {
     /*insert last month*/
     foreach (range(0, 5) as $key => $value) {
         /*insert 5 orders row*/
         $newOrder = new Orders();
         $newOrder->paid = 5000.0;
         $newOrder->order_date = (string) Carbon::parse('monday last month');
         $newOrder->save(false);
     }
     foreach (range(0, 5) as $key => $value) {
         /*insert 5 orders row*/
         $newOrder = new Orders();
         $newOrder->paid = 5000.0;
         $newOrder->order_date = (string) Carbon::parse('monday this month');
         $newOrder->save(false);
     }
     /*insert this month*/
     $reportArr = $this->annualReport->getAnnualMonthlyReport();
     /*check if Month is complete*/
     $this->assertNotNull($reportArr['January'], 'Check if January is in the report');
     $this->assertNotNull($reportArr['February'], 'Check if February is in the report');
     $this->assertNotNull($reportArr['March'], 'Check if March is in the report');
     $this->assertNotNull($reportArr['April'], 'Check if April is in the report');
     $this->assertNotNull($reportArr['May'], 'Check if May is in the report');
     $this->assertNotNull($reportArr['June'], 'Check if June is in the report');
     $this->assertNotNull($reportArr['July'], 'Check if July is in the report');
     $this->assertNotNull($reportArr['August'], 'Check if August is in the report');
     $this->assertNotNull($reportArr['September'], 'Check if September is in the report');
     $this->assertNotNull($reportArr['October'], 'Check if October is in the report');
     $this->assertNotNull($reportArr['November'], 'Check if November is in the report');
     $this->assertNotNull($reportArr['December'], 'Check if December is in the report');
     $this->assertEquals($reportArr['October'], 30000, 'Make sure total is 30000');
     $this->assertEquals($reportArr['November'], 30000, 'Make sure total is 30000');
 }
Пример #3
0
 /**
  * Validates data submitted in the add form. If the validation fails,
  * displays the add page. Otherwise, creates a new order, saves it and
  * its products to the database and clears the 'cart' session variable. 
  * Redirects to the front page.
  */
 public static function add()
 {
     $params = $_POST;
     date_default_timezone_set('Europe/Helsinki');
     $attributes = array('user_id' => $params['user_id'], 'first_name' => $params['first_name'], 'last_name' => $params['last_name'], 'phone_number' => $params['phone_number'], 'street_address' => $params['street_address'], 'postal_code' => $params['postal_code'], 'city' => $params['city'], 'delivery_method' => $params['delivery_method']);
     $validator = self::order_validator($attributes);
     if ($validator->validate()) {
         $order = new Orders(array('user_id' => $attributes['user_id'], 'order_time' => date('d-m-Y H:i:s'), 'actual_delivery_time' => null, 'delivery_address' => $attributes['street_address'] . ', ' . $attributes['postal_code'] . ' ' . $attributes['city'], 'delivery_method' => $attributes['delivery_method'], 'total_price' => $_SESSION['cart']['price'], 'status' => 'Jonossa'));
         if (!$params['user_id']) {
             $user = array('user_id' => null, 'first_name' => $params['first_name'], 'last_name' => $params['last_name'], 'phone_number' => $params['phone_number']);
             $order->user_id = null;
             $order->user_info = json_encode($user);
         } else {
             $order->user_info = json_encode(Users::findOne($_SESSION['user']));
         }
         if ($order->delivery_method == 'Nouto') {
             $order->agreed_delivery_time = date('d-m-Y H:i:s', strtotime('+15 minutes', strtotime($order->order_time)));
         } else {
             $order->agreed_delivery_time = date('d-m-Y H:i:s', strtotime('+60 minutes', strtotime($order->order_time)));
         }
         $order_id = $order->save();
         self::set_order_products($order_id, $_SESSION['cart']['items']);
         $_SESSION['cart'] = null;
         Redirect::to('/', array('message' => 'Tilauksesi on lähetetty, kiitos!'));
     } else {
         View::make('order/add.html', array('errors' => $validator->errors(), 'user' => $attributes));
     }
 }
Пример #4
0
 public static function create()
 {
     $model = new Orders();
     $dateCreated = new DateTime('now');
     $model->created = $dateCreated->format('Y-m-d H:i:s');
     $model->status = Orders::STATUS_CREATED;
     if ($model->save()) {
         return $model->id;
     } else {
         return false;
     }
 }
Пример #5
0
 public function storeData($walletID)
 {
     $attributes = $this->apiAttributes();
     //Retrieve the XML dataset
     $orders = $this->getEVEData($walletID);
     $character = Characters::Model()->findByPk($walletID);
     Orders::Model()->deleteAll('charID=:charID', array(':charID' => $character->characterID));
     foreach ($orders->result->rowset->row as $row) {
         $exist = Orders::Model()->exists('orderID=:orderID', array(':orderID' => $row->attributes()->orderID));
         if (!$exist) {
             //echo "ORDERID: {$row->attributes()->orderID} <br>";
             $orderRow = new Orders();
             $orderRow->orderID = $row->attributes()->orderID;
             $orderRow->charID = $row->attributes()->charID;
             $orderRow->stationID = $row->attributes()->stationID;
             $orderRow->volEntered = $row->attributes()->volEntered;
             $orderRow->volRemaining = $row->attributes()->volRemaining;
             $orderRow->minVolume = $row->attributes()->minVolume;
             $orderRow->orderState = $row->attributes()->orderState;
             $orderRow->typeID = $row->attributes()->typeID;
             $orderRow->range = $row->attributes()->range;
             $orderRow->accountKey = $row->attributes()->accountKey;
             $orderRow->duration = $row->attributes()->duration;
             $orderRow->escrow = $row->attributes()->escrow;
             $orderRow->price = $row->attributes()->price;
             $orderRow->bid = $row->attributes()->bid;
             $orderRow->issued = $row->attributes()->issued;
             $orderRow->save();
             //print_r($orderRow->getErrors());
         } else {
             //echo "ORDERID: {$row->attributes()->orderID} <br>";
             $orderRow = Orders::Model()->findByPk($row->attributes()->orderID);
             $orderRow->orderID = $row->attributes()->orderID;
             $orderRow->charID = $row->attributes()->charID;
             $orderRow->stationID = $row->attributes()->stationID;
             $orderRow->volEntered = $row->attributes()->volEntered;
             $orderRow->volRemaining = $row->attributes()->volRemaining;
             $orderRow->minVolume = $row->attributes()->minVolume;
             $orderRow->orderState = $row->attributes()->orderState;
             $orderRow->typeID = $row->attributes()->typeID;
             $orderRow->range = $row->attributes()->range;
             $orderRow->accountKey = $row->attributes()->accountKey;
             $orderRow->duration = $row->attributes()->duration;
             $orderRow->escrow = $row->attributes()->escrow;
             $orderRow->price = $row->attributes()->price;
             $orderRow->bid = $row->attributes()->bid;
             $orderRow->issued = $row->attributes()->issued;
             $orderRow->save();
             //print_r($orderRow->getErrors());
         }
     }
 }
Пример #6
0
 public function actionCreate()
 {
     $model = new Orders();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Orders'])) {
         $model->attributes = $_POST['Orders'];
         $model->start = date("Y-m-d", strtotime($_POST['Orders']['start']));
         $model->stop = date("Y-m-d", strtotime($_POST['Orders']['stop']));
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
 public function paymentAction()
 {
     if ($this->request->isPost()) {
         $orderarray = $this->request->getPost('orderarray');
         $orderarray = json_decode($orderarray, TRUE);
         $sum = 0;
         foreach ($orderarray as $veg) {
             $sum += $veg[m_price] * $veg[quant];
         }
         //echo $sum;
         $auth = $this->session->get('auth');
         $id = $auth[uid];
         $orders = new Orders();
         $orders->u_id = $id;
         $orders->o_price = $sum;
         $orders->o_date = date("Y-m-d");
         $orders->o_payment = "Failed";
         $orders->o_delivery = 0;
         if ($orders->save() == false) {
             foreach ($orders->getMessages() as $message) {
                 echo $message;
             }
         } else {
             foreach ($orderarray as $veg) {
                 $orderdetails = new Orderdetails();
                 $orderdetails->o_id = $orders->o_id;
                 $orderdetails->m_id = $veg[m_id];
                 $orderdetails->od_quantity = $veg[quant];
                 $orderdetails->od_prepared = 0;
                 if ($orderdetails->save() == false) {
                     foreach ($orderdetails->getMessages() as $message) {
                         echo $message;
                     }
                 } else {
                     $user = Userdetails::findFirst(array("(u_id = :id:)", 'bind' => array('id' => $id)));
                     if ($user != false) {
                         $datename = $user->u_fname;
                         $dataemail = $user->u_email;
                         $dataphone = $user->u_phno;
                         $dataamount = $sum;
                         $url = "https://www.instamojo.com/slickaccount/test-for-integration-monthly-payment/?intent=buy&data_name=" . $dataname . "&data_email=" . $dataemail . "&data_phone=" . $dataphone . "&data_amount=" . $dataamount . "&data_readonly=data_phone&data_readonly=data_name&data_readonly=data_email";
                         header('Location: ' . $url);
                     }
                 }
             }
         }
     }
 }
Пример #8
0
 public function add($order_sn, $user_id, $company_id = 0, $box_id = '', $payment_id = 0, $payment = "", $goods_id = 0, $money = 0, $status = 0, $remark = "", $count = 0)
 {
     $bean = new Orders();
     $bean->order_sn = $order_sn;
     $bean->user_id = $user_id;
     $bean->company_id = $company_id;
     $bean->box_id = $box_id;
     $bean->payment_id = $payment_id;
     $bean->payment = $payment;
     $bean->goods_id = $goods_id;
     $bean->money = $money;
     $bean->status = $status;
     $bean->remark = $remark;
     $bean->count = $count;
     return $bean->save();
 }
Пример #9
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Orders();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Orders'])) {
         $model->attributes = $_POST['Orders'];
         if ($model->save()) {
             $msg = 'Заказ #' . $model->id . ' - ' . $model->name . ' для ' . $model->client->name . ' создан';
             Yii::app()->user->setFlash('success', $msg);
             Yii::app()->logger->write($msg);
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
Пример #10
0
 public function actionStep2($id, $day)
 {
     $models_orders = new Orders();
     if (isset($_POST['Orders'])) {
         $models_orders->name = $_POST['Orders']['name'];
         $models_orders->tel = $_POST['Orders']['tel'];
         $models_orders->selected_time_id = $_POST['selected_time_id'];
         $models_orders->quest_id = $_GET['id'];
         $models_orders->date_day = $_GET['day'];
         $models_orders->setScenario('insert');
         if ($models_orders->save()) {
             $this->redirect('/site/success');
         }
     }
     $this->render('step2', array('model' => $this->loadModel($id), 'day' => $date_day, 'models_orders' => $models_orders));
 }
 public function checkoutAction()
 {
     $id = $this->session->get('user_id');
     $orderList = TempOrder::find("user_id = '{$this->session->get('user_id')}'");
     foreach ($orderList as $key => $value) {
         $order = new Orders();
         $order->id = UUID::v4();
         $order->stadium = $value->stadium;
         $order->start_hour = $value->start_hour;
         $order->end_hour = $value->end_hour;
         $order->user_id = $value->user_id;
         $order->date_created = Carbon::now()->toDateString();
         $order->save();
         $value->delete();
     }
     $this->response->redirect('/dashboard');
 }
 /**
  * Creates a new model.
  * @param integer $id the default Car Id
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate($car = null)
 {
     $model = new Orders('insert');
     if (!empty($car)) {
         $model->car_id = $car;
     }
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Orders'])) {
         $model->attributes = $_POST['Orders'];
         $model->user_id = Yii::app()->user->id;
         if ($model->save()) {
             $this->redirect(array('reservation/index'));
         }
     }
     //$model->car_id = Yii::app()->request->getParam('id');
     $this->render('create', array('model' => $model));
 }
 public function storeOrderIntoDB()
 {
     foreach ($this->placedOrder->basket as $item) {
         $order = new Orders();
         $order->deviceid = $this->placedOrder->deviceID;
         $order->name = $this->placedOrder->name;
         $order->delivery_location = $this->placedOrder->deliveryLocation;
         $order->timeplaced = new CDbExpression('NOW()');
         $order->status = "placed";
         $order->item = $item->item;
         $order->quantity = $item->quantity;
         $order->orderNo = $this->placedOrder->orderNumber;
         //$order->station = $item->station;
         $order->save();
     }
     /*$order->item = $this->placedOrder->wtf;
     		//$order->deliverylocation = $this->placedOrder->shit;
     		$order->save();*/
 }
Пример #14
0
 public function actionAdd()
 {
     $this->layout = '//layouts/admin';
     $this->pageTitle = 'Новый заказ';
     $this->breadcrumbs = array('Заказы' => array('/admin/orders'), 'Новый заказ');
     $success = false;
     if (isset($_POST['data'])) {
         $model = new Orders();
         $dataArray = $_POST['data'];
         $dataArray['timestamp'] = isset($dataArray['timestamp']) ? strtotime($dataArray['timestamp']) : time();
         $orderItems = json_decode($dataArray['order_items'], true);
         unset($dataArray['order_items']);
         $model->setAttributes($dataArray);
         if ($model->save()) {
             $success = true;
             if (is_array($orderItems) && count($orderItems)) {
                 foreach ($orderItems as $oItem) {
                     foreach ($oItem as $oId => $amount) {
                         $object = CatalogObjects::model()->findByPk($oId);
                         if (is_object($object) && $amount) {
                             $oItemModel = new OrderItems();
                             $attributes = array();
                             $attributes['order_id'] = $model->id;
                             $attributes['name'] = $object->name;
                             $attributes['product_id'] = $object->id;
                             $attributes['price'] = $object->price;
                             $attributes['amount'] = $amount;
                             $oItemModel->setAttributes($attributes);
                             $oItemModel->save();
                         }
                     }
                 }
             }
         }
     }
     if ($success) {
         $this->redirect("/admin/orders");
     }
     if (!isset($model) || !is_object($model)) {
         $model = new Orders();
     }
     $this->render('add', array('model' => $model, 'errors' => $model->errors));
 }
Пример #15
0
 public function bidderdeposit()
 {
     $order = new Orders();
     $order->desn = Auth::user()->id;
     $order->fee = 200;
     $order->fee = 0.01;
     //must comment
     $order->step = 3;
     //这是商家支付保证金
     $order->status = 0;
     $order->title = Auth::user()->username . "-支付保证金";
     $order->details = Auth::user()->username . "-支付保证金";
     $order->showurl = "http://www.51jinggou.com/demand/show/1";
     $order->save();
     $this->payorder($order->id);
 }
Пример #16
0
 /**
  * Create an order with many products
  *
  *
  * @param $product
  * @return integer $orderID
  */
 public static function createOrderWithMultiProducts(array $products, $customer_id, $type = "domain")
 {
     $order = new Orders();
     try {
         $customer = Customers::getAllInfo($customer_id);
         $isp_id = $customer['isp_id'];
         // Creating a new Order.
         $order->customer_id = $customer_id;
         $order->isp_id = $isp_id;
         $order->order_date = date('Y-m-d');
         $order->status_id = Statuses::id("tobepaid", "orders");
         // To pay
         $order->save();
         $id = $order->getIncremented();
         // Add a fastlink to a order
         $link_exist = Fastlinks::findlinks($id, $customer_id, 'orders');
         if (count($link_exist) == 0) {
             $link = new Fastlinks();
             $link->controller = "orders";
             $link->action = "edit";
             $link->params = json_encode(array('id' => $id));
             $link->customer_id = $customer_id;
             $link->sqltable = "orders";
             $link->id = $id;
             $link->code = Shineisp_Commons_Utilities::GenerateRandomString();
             $link->save();
         }
         foreach ($products as $product) {
             $product = Domains::getAllInfo($product, null, null, true);
             // Attaching the order item to the order previously created.
             $orderitem = new OrdersItems();
             $date_end = Shineisp_Commons_Utilities::add_date(date('d-m-Y'), null, 365);
             // Fixed Renew
             $orderitem->order_id = $id;
             $orderitem->product_id = $product[0]['Products']['product_id'];
             $orderitem->billing_cycle_id = 1;
             $orderitem->date_start = date('Y-m-d H:i:s');
             $orderitem->date_end = $date_end;
             $orderitem->autorenew = true;
             $orderitem->description = $product[0]['domain'] . "." . $product[0]['tld'];
             $orderitem->quantity = 1;
             $tax = Taxes::getTaxbyProductID($product[0]['Products']['product_id']);
             $orderitem->price = $product[0]['Products']['price_1'];
             $orderitem->cost = $product[0]['Products']['cost'];
             $orderitem->status_id = Statuses::id("processing", "orders");
             // Processing status set
             $orderitem->save();
             $detailid = $orderitem->getIncremented();
             // Set the domains status as processing
             Domains::setStatus($product[0]['domain_id'], 6);
         }
         // Update the total of the order
         self::updateTotalsOrder($id);
         return $id;
     } catch (Exception $e) {
         echo $e->getMessage();
         die;
     }
 }
Пример #17
0
 public function actionCart()
 {
     $this->pageTitle = 'Мобильный мир - корзина';
     $this->menu = Category::model()->findAll();
     if (isset($_POST['submit_cart'])) {
         Yii::app()->shoppingCart->remove($_POST['submit_cart']);
     }
     if (Yii::app()->request->isAjaxRequest) {
         $pos_first = Yii::app()->shoppingCart->getPositions();
         foreach ($pos_first as $position) {
             if ($position->id == $_POST['id']) {
                 $quantity = $position->getQuantity();
             }
         }
         Yii::app()->shoppingCart->update(Models::model()->findByPk($_POST['id']), $_POST['button'] == 'minus' ? $quantity > 1 ? $quantity - 1 : $quantity : $quantity + 1);
         $pos = Yii::app()->shoppingCart->getPositions();
         $data[0] = Yii::app()->shoppingCart->getCost();
         $data[1] = Yii::app()->shoppingCart->getCount();
         foreach ($pos as $position) {
             if ($position->id == $_POST['id']) {
                 $data[2] = $position->getQuantity();
                 $data[3] = $position->getSumPrice();
             }
         }
         echo json_encode($data);
         // Завершаем приложение
         Yii::app()->end();
     }
     $order = new Orders();
     if (isset($_POST['Orders'])) {
         $items = Yii::app()->shoppingCart->getPositions();
         $id = array();
         $quant = array();
         $sum = array();
         $cost = Yii::app()->shoppingCart->getCost();
         foreach ($items as $item) {
             $name[] = $item->brandModel->brand . ' ' . $item->model_name;
             $quant[] = $item->getQuantity();
             $sum[] = $item->getSumPrice();
             $models = Models::model()->updateByPk($item->id, array('quantity' => $item->quantity - $item->getQuantity()));
         }
         $order->attributes = $_POST['Orders'];
         $order->model_id = json_encode($name);
         $order->quantity = json_encode($quant);
         $order->sum = json_encode($sum);
         $order->total = $cost;
         if ($order->save()) {
             /*
                             $message = 'Hello World!';
                             $mailer = Yii::createComponent('application.extensions.mailer.EMailer');
                             $mailer->Host = 'smtp.gmail.com';
                             $mailer->Port = 465;
                             $mailer->Username = '******';
                             $mailer->Password = '******';
                             $mailer->IsSMTP();
                             $mailer->From = '*****@*****.**';
                             $mailer->AddReplyTo('*****@*****.**');
                             $mailer->AddAddress('*****@*****.**');
                             $mailer->FromName = 'Wei Yard';
                             $mailer->CharSet = 'UTF-8';
                             $mailer->Subject = Yii::t('demo', 'Yii rulez!');
                             $mailer->Body = $message;
                             $mailer->Send(); 
                             $text_message = 'Новый заказ на от '.$order->name.' на сумму '.$order->total.' рублей';
                             Yii::import('ext.yii-mail.YiiMailMessage');
                              $message = new YiiMailMessage;
                              $message->setBody($text_message, 'text');
                              $message->subject = 'Новый заказ в магазине';
                              $message->addTo('*****@*****.**');
                              $message->from = Yii::app()->params['adminEmail'];
                              Yii::app()->mail->send($message);*/
             Yii::app()->shoppingCart->clear();
             $this->redirect(array('success', 'id_order' => $order->id));
         }
     }
     $this->render('cart', array('order' => $order));
 }
Пример #18
0
 static function createPendingOrderForEnrollmentChequeType($paymentDuedata, $inputs)
 {
     $order = new Orders();
     $order->customer_id = $paymentDuedata[0]['customer_id'];
     $order->student_id = $paymentDuedata[0]['student_id'];
     $order->season_id = $paymentDuedata[0]['season_id'];
     $order->student_classes_id = $paymentDuedata[0]['student_class_id'];
     $order->amount = $paymentDuedata[0]['payment_due_amount'];
     if (isset($inputs['paymentType'])) {
         $order->payment_mode = $inputs['paymentType'];
     }
     if (isset($inputs['chqueNo'])) {
         $order->cheque_number = $inputs['chqueNo'];
     }
     if (isset($inputs['bankChequeName'])) {
         $order->bank_name = $inputs['bankChequeName'];
     }
     $order->payment_for = "enrollment";
     $order->payment_dues_id = $paymentDuedata[0]['id'];
     $order->created_by = Session::get('userId');
     $order->created_at = date("Y-m-d H:i:s");
     $order->save();
     return $order;
 }
Пример #19
0
 public function enrollKid()
 {
     $inputs = Input::all();
     $batch_data = Batches::find($inputs['batchCbx']);
     $eachClassCost = $batch_data->class_amount;
     //return Response::json(array('status'=>$inputs));
     //$inputs['discountPercentage']=$inputs['discountP'];
     $studentClasses['classId'] = $inputs['eligibleClassesCbx'];
     $studentClasses['batchId'] = $inputs['batchCbx'];
     $studentClasses['studentId'] = $inputs['studentId'];
     $season_data = Seasons::find($inputs['SeasonsCbx']);
     //$inputs['enrollmentEndDate']=$season_data->end_date;
     //$studentClasses['enrollment_start_date'] = date('Y-m-d', strtotime($inputs['enrollmentStartDate']));
     //return Response::json(array('status'=>'working'));
     //$studentClasses['enrollment_end_date']   = date('Y-m-d', strtotime($inputs['enrollmentEndDate']));
     $studentClasses['selected_sessions'] = $inputs['selectedSessions'];
     $studentClasses['seasonId'] = $inputs['SeasonsCbx'];
     //for proper enrollment start date and end date
     $end = Carbon::now();
     $start = Carbon::now();
     $start->year = date('Y', strtotime($inputs['enrollmentStartDate']));
     $start->month = date('m', strtotime($inputs['enrollmentStartDate']));
     $start->day = date('d', strtotime($inputs['enrollmentStartDate']));
     $end->year = date('Y', strtotime($inputs['enrollmentEndDate']));
     $end->month = date('m', strtotime($inputs['enrollmentEndDate']));
     $end->day = date('d', strtotime($inputs['enrollmentEndDate']));
     $batch_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $start->toDateString())->where('schedule_date', '<=', $end->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
     $studentClasses['enrollment_start_date'] = $batch_data[0]['schedule_date'];
     $studentClasses['enrollment_end_date'] = $batch_data[count($batch_data) - 1]['schedule_date'];
     //Batch Start date
     $BatchDetails = Batches::where('id', '=', $inputs['batchCbx'])->first();
     $reminderStartDate = $BatchDetails->start_date;
     $enrollment = StudentClasses::addStudentClass($studentClasses);
     $paymentDuesInput['student_id'] = $inputs['studentId'];
     $paymentDuesInput['customer_id'] = $inputs['customerId'];
     $paymentDuesInput['batch_id'] = $inputs['batchCbx'];
     $paymentDuesInput['class_id'] = $inputs['eligibleClassesCbx'];
     $paymentDuesInput['selected_sessions'] = $inputs['selectedSessions'];
     $paymentDuesInput['seasonId'] = $inputs['SeasonsCbx'];
     $paymentDuesInput['each_class_cost'] = $eachClassCost;
     $order['customer_id'] = $inputs['customerId'];
     $order['student_id'] = $inputs['studentId'];
     $order['seasonId'] = $inputs['SeasonsCbx'];
     $order['student_classes_id'] = $enrollment->id;
     $order['payment_mode'] = $inputs['paymentTypeRadio'];
     $order['payment_for'] = "enrollment";
     $order['card_last_digit'] = $inputs['card4digits'];
     $order['card_type'] = $inputs['cardType'];
     $order['bank_name'] = $inputs['bankName'];
     $order['cheque_number'] = $inputs['chequeNumber'];
     //$order['each_class_cost']   =$eachClassCost;
     if (isset($inputs['membershipType'])) {
         $order['membershipType'] = $inputs['membershipType'];
     }
     $paydue_id;
     if ($inputs['paymentOptionsRadio'] == 'singlepay') {
         // for starting and end date of enrollment
         $enddate = Carbon::now();
         $startdate = Carbon::now();
         $startdate->year = date('Y', strtotime($inputs['enrollmentStartDate']));
         $startdate->month = date('m', strtotime($inputs['enrollmentStartDate']));
         $startdate->day = date('d', strtotime($inputs['enrollmentStartDate']));
         $enddate->year = date('Y', strtotime($inputs['enrollmentEndDate']));
         $enddate->month = date('m', strtotime($inputs['enrollmentEndDate']));
         $enddate->day = date('d', strtotime($inputs['enrollmentEndDate']));
         $batch_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('schedule_date', '<=', $enddate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
         $paymentDuesInput['start_order_date'] = $batch_data[0]['schedule_date'];
         $paymentDuesInput['end_order_date'] = $batch_data[count($batch_data) - 1]['schedule_date'];
         $paymentDuesInput['payment_due_amount'] = $inputs['singlePayAmount'];
         $paymentDuesInput['payment_type'] = $inputs['paymentOptionsRadio'];
         $paymentDuesInput['payment_status'] = "paid";
         $paymentDuesInput['discount_applied'] = $inputs['discountPercentage'];
         $paymentDuesInput['student_class_id'] = $enrollment->id;
         $paymentDuesInput['selected_order_sessions'] = $inputs['selectedSessions'];
         //$paymentDuesInput['start_order_date']=$studentClasses['enrollment_start_date'];
         //$paymentDuesInput['end_order_date']=$studentClasses['enrollment_end_date'];
         $paymentDuesInput['discount_amount'] = $inputs['discountPercentage'] / 100 * $inputs['singlePayAmount'];
         $order['amount'] = $inputs['singlePayAmount'];
         if ($inputs['CustomerType'] == 'OldCustomer') {
             $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate']));
             $order['created_at'] = $paymentDuesInput['created_at'];
         }
         $paymentDuesResult = PaymentDues::createPaymentDues($paymentDuesInput);
         $order['payment_dues_id'] = $paymentDuesResult->id;
         $order['order_status'] = "completed";
         if ($inputs['selectedSessions'] > 8) {
             // creating followup for the single pay
             $presentDate = Carbon::now();
             $startdate = Carbon::now();
             $startdate->year = date('Y', strtotime($inputs['enrollmentStartDate']));
             $startdate->month = date('m', strtotime($inputs['enrollmentStartDate']));
             $startdate->day = date('d', strtotime($inputs['enrollmentStartDate']));
             $batch_schedule_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
             $session_number = (int) ($inputs['selectedSessions'] / 2);
             $reminder_date = $batch_schedule_data[$session_number]['schedule_date'];
             $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
             $customer_log_data['student_id'] = $paymentDuesResult->student_id;
             $customer_log_data['franchisee_id'] = Session::get('franchiseId');
             $customer_log_data['followup_type'] = 'PAYMENT';
             $customer_log_data['followup_status'] = 'REMINDER_CALL';
             $customer_log_data['comment_type'] = 'VERYINTERESTED';
             $customer_log_data['reminderDate'] = $reminder_date;
             $remindDate = Carbon::now();
             $remindDate = $remindDate->createFromFormat('Y-m-d', $reminder_date);
             if ($remindDate->gt($presentDate)) {
                 $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                 $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                 Comments::addSinglePayComment($customer_log_data);
             }
         }
     } else {
         if ($inputs['paymentOptionsRadio'] == 'multipay') {
             $today = Carbon::now();
             $paymentDuesInput['payment_type'] = $inputs['paymentOptionsRadio'];
             for ($i = 1; $i <= 4; $i++) {
                 if (isset($inputs['multipayAmount' . $i])) {
                     $firstBrushupCallReminderDate;
                     $firstInitialPaymentCallReminderDate;
                     $firstFinalPaymentCallReminderDate;
                     if ($i == 1) {
                         $paymentDuesInput['payment_status'] = "paid";
                         $order['amount'] = $inputs['multipayAmount' . $i];
                         $enddate = Carbon::now();
                         $startdate = Carbon::now();
                         $startdate->year = date('Y', strtotime($inputs['enrollmentStartDate']));
                         $startdate->month = date('m', strtotime($inputs['enrollmentStartDate']));
                         $startdate->day = date('d', strtotime($inputs['enrollmentStartDate']));
                         $enddate->year = date('Y', strtotime($inputs['enrollmentEndDate']));
                         $enddate->month = date('m', strtotime($inputs['enrollmentEndDate']));
                         $enddate->day = date('d', strtotime($inputs['enrollmentEndDate']));
                         $batch_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('schedule_date', '<=', $enddate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
                         $paymentDuesInput['start_order_date'] = $batch_data[0]['schedule_date'];
                         $endorderdate = $batch_data[count($batch_data) - 1]['schedule_date'];
                         //$paymentDuesInput['start_order_date']=$studentClasses['enrollment_start_date'];
                         //$startdate=  Carbon::create(date('Y,m,d,0', strtotime($inputs['enrollmentStartDate'])));
                         $startdate = Carbon::now();
                         $startdate->year = date('Y', strtotime($inputs['enrollmentStartDate']));
                         $startdate->month = date('m', strtotime($inputs['enrollmentStartDate']));
                         $startdate->day = date('d', strtotime($inputs['enrollmentStartDate']));
                         $session_no = $inputs['multipayAmount' . $i] / $eachClassCost;
                         $firstSessionNumber = $session_no;
                         $batch_schedule_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
                         $session_no = $session_no - 1;
                         //$startdate=$startdate->addWeeks(($inputs['bipayAmount'.$i]/500));
                         //$startdate=$startdate->addWeeks(($inputs['multipayAmount'.$i]/500));
                         $paymentDuesInput['end_order_date'] = $batch_schedule_data[$session_no]['schedule_date'];
                         if ($firstSessionNumber >= 6) {
                             $firstBrushupCallReminderDate = $batch_schedule_data[$session_no - 2]['schedule_date'];
                             $firstInitialPaymentCallReminderDate = $batch_schedule_data[$session_no - 1]['schedule_date'];
                             $firstFinalPaymentCallReminderDate = $batch_schedule_data[$session_no]['schedule_date'];
                         } else {
                             $firstFinalPaymentCallReminderDate = $batch_schedule_data[$session_no]['schedule_date'];
                         }
                         $nextstartdate = $batch_schedule_data[$session_no]['schedule_date'];
                         //$paymentDuesInput['end_order_date']=$startdate->toDateString();
                         $paymentDuesInput['discount_amount'] = $inputs['discountPercentage'] / 100 * $inputs['multipayAmount' . $i];
                         if ($inputs['CustomerType'] == 'OldCustomer') {
                             $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate']));
                             $order['created_at'] = $paymentDuesInput['created_at'];
                         }
                     } else {
                         $paymentDuesInput['start_order_date'] = $nextstartdate;
                         $batch_schedule_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
                         $session_no = $session_no + $inputs['multipayAmount' . $i] / $eachClassCost;
                         $firstBrushupCallReminderDate = $batch_schedule_data[$session_no - 2]['schedule_date'];
                         $firstInitialPaymentCallReminderDate = $batch_schedule_data[$session_no - 1]['schedule_date'];
                         $firstFinalPaymentCallReminderDate = $batch_schedule_data[$session_no]['schedule_date'];
                         //$startdate=$startdate->addWeeks(($inputs['multipayAmount'.$i]/500));
                         $paymentDuesInput['end_order_date'] = $batch_schedule_data[$session_no]['schedule_date'];
                         if ($i == 4) {
                             //$paymentDuesInput['end_order_date']=date('Y-m-d', strtotime($inputs['enrollmentEndDate']));
                             $paymentDuesInput['end_order_date'] = $endorderdate;
                         }
                         $nextstartdate = $batch_schedule_data[$session_no]['schedule_date'];
                         //$paymentDuesInput['end_order_date']=   $startdate->toDateString();
                         $paymentDuesInput['payment_status'] = "pending";
                         $paymentDuesInput['discount_amount'] = $inputs['discountPercentage'] / 100 * $inputs['multipayAmount' . $i];
                         if ($i == 2 && $inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate2'] != '') {
                             $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate2']));
                             $paymentDuesInput['payment_status'] = "paid";
                         }
                         if ($i == 3 && $inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate3'] != '') {
                             $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate3']));
                             $paymentDuesInput['payment_status'] = "paid";
                         }
                         if ($i == 4 && $inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate4'] != '') {
                             $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate4']));
                             $paymentDuesInput['payment_status'] = "paid";
                         }
                     }
                     $paymentDuesInput['payment_due_amount'] = $inputs['multipayAmount' . $i];
                     $paymentDuesInput['discount_applied'] = $inputs['discountPercentage'];
                     $paymentDuesInput['selected_order_sessions'] = $inputs['multipayAmount' . $i] / $eachClassCost;
                     $paymentDuesInput['student_class_id'] = $enrollment->id;
                     $paymentDuesResult = PaymentDues::createPaymentDues($paymentDuesInput);
                     if ($i >= 1 && $i <= 3) {
                         if ($i == 1) {
                             if ($firstSessionNumber >= 6) {
                                 $firstremind = Carbon::now();
                                 $firstremind = $firstremind->createFromFormat('Y-m-d', $firstBrushupCallReminderDate);
                                 //return Response::json(array('status'=>$firstBrushupCallReminderDate,'today'=>$today));
                                 if ($firstremind->gt($today)) {
                                     //create 3 payment followup
                                     $payment_followup_data1 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data2 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data3 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     //creating logs/followup for first payment
                                     $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                     $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                     $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data1->id;
                                     $customer_log_data['paymentfollowup_id2'] = $payment_followup_data2->id;
                                     $customer_log_data['paymentfollowup_id3'] = $payment_followup_data3->id;
                                     $customer_log_data['followup_type'] = 'PAYMENT';
                                     $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                     $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                     $customer_log_data['firstReminderDate'] = $firstBrushupCallReminderDate;
                                     $customer_log_data['secondReminderDate'] = $firstInitialPaymentCallReminderDate;
                                     $customer_log_data['thirdReminderDate'] = $firstFinalPaymentCallReminderDate;
                                     Comments::addPaymentComments($customer_log_data);
                                 } else {
                                     $final_remind = Carbon::now();
                                     $final_remind = $final_remind->createFromFormat('Y-m-d', $firstFinalPaymentCallReminderDate);
                                     if ($final_remind->gt($today)) {
                                         $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                         $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                         $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                         $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                         $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                         //$customer_log_data['paymentfollowup_id2']=$payment_followup_data2->id;
                                         //$customer_log_data['paymentfollowup_id3']=$payment_followup_data3->id;
                                         $customer_log_data['followup_type'] = 'PAYMENT';
                                         $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                         $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                         //  $customer_log_data['firstReminderDate']=$firstBrushupCallReminderDate;
                                         //  $customer_log_data['secondReminderDate']=$firstInitialPaymentCallReminderDate;
                                         $customer_log_data['reminderDate'] = $firstFinalPaymentCallReminderDate;
                                         Comments::addOnebiPaymentComment($customer_log_data);
                                     }
                                 }
                             } else {
                                 $final_r = Carbon::now();
                                 $final_r = $final_r->createFromFormat('Y-m-d', $firstFinalPaymentCallReminderDate);
                                 if ($final_r->gt($today)) {
                                     //create 1 followup
                                     $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                     $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                     $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                     //$customer_log_data['paymentfollowup_id2']=$payment_followup_data2->id;
                                     //$customer_log_data['paymentfollowup_id3']=$payment_followup_data3->id;
                                     $customer_log_data['followup_type'] = 'PAYMENT';
                                     $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                     $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                     //  $customer_log_data['firstReminderDate']=$firstBrushupCallReminderDate;
                                     //  $customer_log_data['secondReminderDate']=$firstInitialPaymentCallReminderDate;
                                     $customer_log_data['reminderDate'] = $firstFinalPaymentCallReminderDate;
                                     Comments::addOnebiPaymentComment($customer_log_data);
                                 }
                             }
                         } else {
                             //when i>=3
                             $firstre = Carbon::now();
                             $firstre = $firstre->createFromFormat('Y-m-d', $firstBrushupCallReminderDate);
                             if ($firstre->gt($today)) {
                                 $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                 $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                 $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                 $customer_log_data['followup_type'] = 'PAYMENT';
                                 $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                 $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                 $customer_log_data['firstReminderDate'] = $firstBrushupCallReminderDate;
                                 $customer_log_data['secondReminderDate'] = $firstInitialPaymentCallReminderDate;
                                 $customer_log_data['thirdReminderDate'] = $firstFinalPaymentCallReminderDate;
                                 if ($i == 2 && isset($inputs['multipayAmount3'])) {
                                     $payment_followup_data1 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data2 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data3 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data1->id;
                                     $customer_log_data['paymentfollowup_id2'] = $payment_followup_data2->id;
                                     $customer_log_data['paymentfollowup_id3'] = $payment_followup_data3->id;
                                     Comments::addPaymentComments($customer_log_data);
                                 } else {
                                     if ($i == 3 && isset($inputs['multipayAmount4'])) {
                                         $payment_followup_data1 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                         $payment_followup_data2 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                         $payment_followup_data3 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                         $customer_log_data['paymentfollowup_id'] = $payment_followup_data1->id;
                                         $customer_log_data['paymentfollowup_id2'] = $payment_followup_data2->id;
                                         $customer_log_data['paymentfollowup_id3'] = $payment_followup_data3->id;
                                         Comments::addPaymentComments($customer_log_data);
                                     } else {
                                         if ($i != 3 && $i != 2) {
                                             $payment_followup_data1 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                             $payment_followup_data2 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                             $payment_followup_data3 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                             $customer_log_data['paymentfollowup_id'] = $payment_followup_data1->id;
                                             $customer_log_data['paymentfollowup_id2'] = $payment_followup_data2->id;
                                             $customer_log_data['paymentfollowup_id3'] = $payment_followup_data3->id;
                                             Comments::addPaymentComments($customer_log_data);
                                         }
                                     }
                                 }
                             } else {
                                 $final = Carbon::now();
                                 $final = $final->createFromFormat('Y-m-d', $firstFinalPaymentCallReminderDate);
                                 if ($final->gt($today)) {
                                     $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                     $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                     $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                     //$customer_log_data['paymentfollowup_id2']=$payment_followup_data2->id;
                                     //$customer_log_data['paymentfollowup_id3']=$payment_followup_data3->id;
                                     $customer_log_data['followup_type'] = 'PAYMENT';
                                     $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                     $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                     //  $customer_log_data['firstReminderDate']=$firstBrushupCallReminderDate;
                                     //  $customer_log_data['secondReminderDate']=$firstInitialPaymentCallReminderDate;
                                     $customer_log_data['reminderDate'] = $firstFinalPaymentCallReminderDate;
                                     Comments::addOnebiPaymentComment($customer_log_data);
                                 }
                             }
                         }
                     }
                     $paydue_id[] = $paymentDuesResult->id;
                     if ($i == 1) {
                         $order['payment_dues_id'] = $paymentDuesResult->id;
                         $order['order_status'] = "completed";
                     }
                 }
             }
             /*
             			$weeksDues = array("6", "9", "14", "19", "24", "29", "34");
             			$date = date('Y/m/d', strtotime($reminderStartDate));
             			foreach($weeksDues as $weeksDue){
             					
             				$weeks = $weeksDue;
             				// Create and modify the date.
             				$dateTime = DateTime::createFromFormat('Y/m/d', $date);
             				$dateTime->add(DateInterval::createFromDateString($weeks . ' weeks'));
             				//$dateTime->modify('next monday');
             					
             				// Output the new date.
             				//echo $dateTime->format('Y-m-d')."<br>";
             			
             			
             				$paymentReminderInput['customerId']    = $inputs['customerId'];
             				$paymentReminderInput['studentId']     = $inputs['studentId'];
                                             $paymentReminderInput['seasonId']     = $inputs['SeasonsCbx'];
             				$paymentReminderInput['classId']       = $inputs['eligibleClassesCbx'];
             				$paymentReminderInput['batchId']       = $inputs['batchCbx'];
             				$paymentReminderInput['reminder_date'] = $dateTime->format('Y-m-d');
             			
             				PaymentReminders::addReminderDates($paymentReminderInput);
             			
             			
             					
             			}*/
         } else {
             if ($inputs['paymentOptionsRadio'] == 'bipay') {
                 $followupFirstDate;
                 $followupSecondDate;
                 $followupThirdDate;
                 $paymentDuesInput['payment_type'] = $inputs['paymentOptionsRadio'];
                 for ($i = 1; $i <= 2; $i++) {
                     if (isset($inputs['bipayAmount' . $i])) {
                         if ($i == 1) {
                             //for bipay enrollment classes
                             $paymentDuesInput['payment_status'] = "paid";
                             $order['amount'] = $inputs['bipayAmount' . $i];
                             //$paymentDuesInput['start_order_date']=$studentClasses['enrollment_start_date'];
                             //$startdate=  Carbon::create(date('Y,m,d,0', strtotime($inputs['enrollmentStartDate'])));
                             $startdate = Carbon::now();
                             $enddate = Carbon::now();
                             $startdate->year = date('Y', strtotime($inputs['enrollmentStartDate']));
                             $startdate->month = date('m', strtotime($inputs['enrollmentStartDate']));
                             $startdate->day = date('d', strtotime($inputs['enrollmentStartDate']));
                             $enddate->year = date('Y', strtotime($inputs['enrollmentEndDate']));
                             $enddate->month = date('m', strtotime($inputs['enrollmentEndDate']));
                             $enddate->day = date('d', strtotime($inputs['enrollmentEndDate']));
                             //return Response::json(array('status'=>'success'));
                             $session_no = $inputs['bipayAmount' . $i] / $eachClassCost;
                             $firstsessionno = $session_no;
                             $batch_schedule_data = BatchSchedule::where('batch_id', '=', $inputs['batchCbx'])->where('schedule_date', '>=', $startdate->toDateString())->where('schedule_date', '<=', $enddate->toDateString())->where('holiday', '!=', 1)->orderBy('id')->get();
                             $session_no = $session_no - 1;
                             //$startdate=$startdate->addWeeks(($inputs['bipayAmount'.$i]/500));
                             $paymentDuesInput['start_order_date'] = $batch_schedule_data[0]['schedule_date'];
                             $paymentDuesInput['end_order_date'] = $batch_schedule_data[$session_no]['schedule_date'];
                             $endorderdateforbipay = $batch_schedule_data[count($batch_schedule_data) - 1]['schedule_date'];
                             if ($firstsessionno >= 10) {
                                 $followupFirstDate = $batch_schedule_data[$session_no - 2]['schedule_date'];
                                 $followupSecondDate = $batch_schedule_data[$session_no - 1]['schedule_date'];
                                 $followupThirdDate = $batch_schedule_data[$session_no]['schedule_date'];
                             } else {
                                 $followupdate = $batch_schedule_data[$session_no]['schedule_date'];
                             }
                             $paymentDuesInput['discount_amount'] = $inputs['discountPercentage'] / 100 * $inputs['bipayAmount' . $i];
                             if ($inputs['CustomerType'] == 'OldCustomer') {
                                 $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate']));
                                 $order['created_at'] = $paymentDuesInput['created_at'];
                             }
                         } else {
                             $paymentDuesInput['start_order_date'] = $batch_schedule_data[$session_no]['schedule_date'];
                             //$startdate=$startdate->addWeeks(($inputs['bipayAmount'.$i]/500));
                             //$paymentDuesInput['end_order_date']=   date('Y-m-d', strtotime($inputs['enrollmentEndDate']));
                             $paymentDuesInput['end_order_date'] = $endorderdateforbipay;
                             $paymentDuesInput['payment_status'] = "pending";
                             $paymentDuesInput['discount_amount'] = $inputs['discountPercentage'] / 100 * $inputs['bipayAmount' . $i];
                             if ($inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate2'] != '') {
                                 $paymentDuesInput['created_at'] = date('Y-m-d H:i:s', strtotime($inputs['OrderDate2']));
                                 // $order['created_at']=$paymentDuesInput['created_at'];
                             }
                         }
                         $paymentDuesInput['selected_order_sessions'] = $inputs['bipayAmount' . $i] / $eachClassCost;
                         $paymentDuesInput['payment_due_amount'] = $inputs['bipayAmount' . $i];
                         $paymentDuesInput['discount_applied'] = $inputs['discountPercentage'];
                         $paymentDuesInput['student_class_id'] = $enrollment->id;
                         $paymentDuesResult = PaymentDues::createPaymentDues($paymentDuesInput);
                         if ($i == 1) {
                             $order['payment_dues_id'] = $paymentDuesResult->id;
                             $order['order_status'] = "completed";
                             $paydueid1 = $paymentDuesResult->id;
                         }
                         if ($i == 2) {
                             if ($firstsessionno >= 10) {
                                 // creating customer followup
                                 $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                 $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                 $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                 $paydue_id2 = $paymentDuesResult->id;
                                 $paymentDuesResult->id = $paydueid1;
                                 $customer_log_data['followup_type'] = 'PAYMENT';
                                 $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                 $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                 $customer_log_data['firstReminderDate'] = $followupFirstDate;
                                 $customer_log_data['secondReminderDate'] = $followupSecondDate;
                                 $customer_log_data['thirdReminderDate'] = $followupThirdDate;
                                 $brushupremind = Carbon::now();
                                 $finalremind = Carbon::now();
                                 $brushupremind = $brushupremind->createFromFormat('Y-m-d', $followupFirstDate);
                                 $finalremind = $finalremind->createFromFormat('Y-m-d', $followupThirdDate);
                                 $today = Carbon::now();
                                 if ($brushupremind->gt($today)) {
                                     $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data2 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $payment_followup_data3 = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                     $customer_log_data['paymentfollowup_id2'] = $payment_followup_data2->id;
                                     $customer_log_data['paymentfollowup_id3'] = $payment_followup_data3->id;
                                     Comments::addPaymentComments($customer_log_data);
                                 } else {
                                     if ($finalremind->gt($today)) {
                                         //create single followup
                                         $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                         $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                         $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                         $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                         $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                         $customer_log_data['followup_type'] = 'PAYMENT';
                                         $customer_log_data['reminderDate'] = $followupThirdDate;
                                         $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                         $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                         Comments::addOnebiPaymentComment($customer_log_data);
                                     }
                                 }
                             } else {
                                 $today = Carbon::now();
                                 $reminddate = Carbon::now();
                                 $reminddate = $reminddate->createFromFormat('Y-m-d', $followupdate);
                                 if ($reminddate->gt($today)) {
                                     $paymentDuesResult->id = $paydueid1;
                                     $payment_followup_data = PaymentFollowups::createPaymentFollowup($paymentDuesResult);
                                     $customer_log_data['customer_id'] = $paymentDuesResult->customer_id;
                                     $customer_log_data['student_id'] = $paymentDuesResult->student_id;
                                     $customer_log_data['franchisee_id'] = Session::get('franchiseId');
                                     $customer_log_data['paymentfollowup_id'] = $payment_followup_data->id;
                                     $customer_log_data['followup_type'] = 'PAYMENT';
                                     $customer_log_data['reminderDate'] = $followupdate;
                                     $customer_log_data['followup_status'] = 'REMINDER_CALL';
                                     $customer_log_data['comment_type'] = 'VERYINTERESTED';
                                     Comments::addOnebiPaymentComment($customer_log_data);
                                 }
                             }
                         }
                     }
                 }
                 // to create payment reminders
                 /*
                 			$weeksDues = array("6", "12", "19", "24", "34");
                 			$date = date('Y/m/d', strtotime($reminderStartDate));
                 			foreach($weeksDues as $weeksDue){
                 					
                 				$weeks = $weeksDue;
                 				// Create and modify the date.
                 				$dateTime = DateTime::createFromFormat('Y/m/d', $date);
                 				$dateTime->add(DateInterval::createFromDateString($weeks . ' weeks'));
                 				//$dateTime->modify('next monday');
                 					
                 				// Output the new date.
                 				//echo $dateTime->format('Y-m-d')."<br>";
                 					
                 					
                 				$paymentReminderInput['customerId']    = $inputs['customerId'];
                 				$paymentReminderInput['studentId']     = $inputs['studentId'];
                        $paymentDuesInput['seasonId']             =$inputs['SeasonsCbx'];
                 				$paymentReminderInput['classId']       = $inputs['eligibleClassesCbx'];
                 				$paymentReminderInput['batchId']       = $inputs['batchCbx'];
                        $paymentReminderInput['seasonId']       =$inputs['SeasonsCbx'];
                        $paymentDuesInput['seasonId']          = $inputs['SeasonsCbx'];
                 				$paymentReminderInput['reminder_date'] = $dateTime->format('Y-m-d');
                 					
                 				PaymentReminders::addReminderDates($paymentReminderInput);
                 					
                 					
                 					
                 			}
                 * 
                 */
                 //payment reminders for followups.
                 if ($i == 1) {
                     $order['payment_mode'] = $inputs['paymentTypeRadio'];
                     $order['card_last_digit'] = $inputs['card4digits'];
                     $order['cardType'] = $inputs['card_type'];
                     $order['bank_name'] = $inputs['cardBankName'];
                     $order['receipt_number'] = $inputs['cardRecieptNumber'];
                 }
             }
         }
     }
     $orderCreated = Orders::createOrder($order);
     if ($inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate2'] != '' && $inputs['paymentOptionsRadio'] == 'bipay') {
         $payment_due = new PaymentDues();
         $payment_due = PaymentDues::find($paydue_id2);
         $payment_due->payment_status = 'paid';
         $payment_due->save();
         $order['created_at'] = $paymentDuesInput['created_at'];
         $order['amount'] = $paymentDuesResult->payment_due_amount - $paymentDuesResult->discount_amount;
         $order['payment_dues_id'] = $paydue_id2;
         if ($inputs['paymentTypeRadioOldCustomer2'] == 'cash') {
             $order['payment_mode'] = 'cash';
             $orderCreated = Orders::createOrder($order);
         } elseif ($inputs['paymentTypeRadioOldCustomer2'] == 'cheque') {
             $order['payment_mode'] = 'cheque';
             $order['bank_name'] = $inputs['bankName2'];
             $order['cheque_number'] = $inputs['chequeNumber2'];
             $orderCreated = Orders::createOrder($order);
         } elseif ($inputs['paymentTypeRadioOldCustomer2'] == 'card') {
             $order['payment_mode'] = 'card';
             $order['card_type'] = $inputs['cardType2'];
             $order['card_last_digit'] = $inputs['card4digits2'];
             $order['bank_name'] = $inputs['cardBankName2'];
             $order['receipt_number'] = $inputs['cardRecieptNumber2'];
             $orderCreated = Orders::createOrder($order);
         }
     }
     if ($inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate2'] != '' && $inputs['paymentOptionsRadio'] == 'multipay') {
         $paydue_data = PaymentDues::where('id', '=', $paydue_id[1])->get();
         $paydue_data = $paydue_data[0];
         $neworder = new Orders();
         $neworder['customer_id'] = $paydue_data['customer_id'];
         $neworder['student_id'] = $paydue_data['student_id'];
         $neworder['season_id'] = $paydue_data['season_id'];
         $neworder['student_classes_id'] = $paydue_data['student_class_id'];
         $neworder['payment_for'] = "enrollment";
         $neworder['payment_dues_id'] = $paydue_id[1];
         $neworder['amount'] = $paydue_data['payment_due_amount'];
         $neworder['order_status'] = "completed";
         if ($inputs['paymentTypeRadioOldCustomer2'] == 'cash') {
             $neworder['payment_mode'] = 'cash';
         } else {
             if ($inputs['paymentTypeRadioOldCustomer2'] == 'cheque') {
                 $neworder['payment_mode'] = 'cheque';
                 $neworder['bank_name'] = $inputs['bankName2'];
                 $neworder['cheque_number'] = $inputs['chequeNumber2'];
             } else {
                 if ($inputs['paymentTypeRadioOldCustomer2'] == 'card') {
                     $neworder['payment_mode'] = 'card';
                     $neworder['card_type'] = $inputs['cardType2'];
                     $neworder['card_last_digit'] = $inputs['card4digits2'];
                     $neworder['bank_name'] = $inputs['cardBankName2'];
                     $neworder['receipt_number'] = $inputs['cardRecieptNumber2'];
                 }
             }
         }
         $neworder['created_at'] = $paydue_data['created_at'];
         $neworder->created_by = Session::get('userId');
         $neworder->save();
     }
     if ($inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate3'] != '' && $inputs['paymentOptionsRadio'] == 'multipay') {
         $paydue_data = PaymentDues::where('id', '=', $paydue_id[2])->get();
         $paydue_data = $paydue_data[0];
         $neworder = new Orders();
         $neworder['customer_id'] = $paydue_data['customer_id'];
         $neworder['student_id'] = $paydue_data['student_id'];
         $neworder['season_id'] = $paydue_data['season_id'];
         $neworder['student_classes_id'] = $paydue_data['student_class_id'];
         $neworder['payment_for'] = "enrollment";
         $neworder['payment_dues_id'] = $paydue_id[2];
         $neworder['amount'] = $paydue_data['payment_due_amount'];
         $neworder['order_status'] = "completed";
         if ($inputs['paymentTypeRadioOldCustomer3'] == 'cash') {
             $neworder['payment_mode'] = 'cash';
         } else {
             if ($inputs['paymentTypeRadioOldCustomer3'] == 'cheque') {
                 $neworder['payment_mode'] = 'cheque';
                 $neworder['bank_name'] = $inputs['bankName3'];
                 $neworder['cheque_number'] = $inputs['chequeNumber3'];
             } else {
                 if ($inputs['paymentTypeRadioOldCustomer3'] == 'card') {
                     $neworder['payment_mode'] = 'card';
                     $neworder['card_type'] = $inputs['cardType3'];
                     $neworder['card_last_digit'] = $inputs['card4digits3'];
                     $neworder['bank_name'] = $inputs['cardBankName3'];
                     $neworder['receipt_number'] = $inputs['cardRecieptNumber3'];
                 }
             }
         }
         $neworder['created_at'] = $paydue_data['created_at'];
         $neworder->created_by = Session::get('userId');
         $neworder->save();
     }
     if ($inputs['CustomerType'] == 'OldCustomer' && $inputs['OrderDate4'] != '' && $inputs['paymentOptionsRadio'] == 'multipay') {
         $paydue_data = PaymentDues::where('id', '=', $paydue_id[3])->get();
         $paydue_data = $paydue_data[0];
         $neworder = new Orders();
         $neworder['customer_id'] = $paydue_data['customer_id'];
         $neworder['student_id'] = $paydue_data['student_id'];
         $neworder['season_id'] = $paydue_data['season_id'];
         $neworder['student_classes_id'] = $paydue_data['student_class_id'];
         $neworder['payment_for'] = "enrollment";
         $neworder['payment_dues_id'] = $paydue_id[3];
         $neworder['amount'] = $paydue_data['payment_due_amount'];
         $neworder['order_status'] = "completed";
         if ($inputs['paymentTypeRadioOldCustomer4'] == 'cash') {
             $neworder['payment_mode'] = 'cash';
         } else {
             if ($inputs['paymentTypeRadioOldCustomer4'] == 'cheque') {
                 $neworder['payment_mode'] = 'cheque';
                 $neworder['bank_name'] = $inputs['bankName4'];
                 $neworder['cheque_number'] = $inputs['chequeNumber4'];
             } else {
                 if ($inputs['paymentTypeRadioOldCustomer4'] == 'card') {
                     $neworder['payment_mode'] = 'card';
                     $neworder['card_type'] = $inputs['cardType4'];
                     $neworder['card_last_digit'] = $inputs['card4digits4'];
                     $neworder['bank_name'] = $inputs['cardBankName4'];
                     $neworder['receipt_number'] = $inputs['cardRecieptNumber4'];
                 }
             }
         }
         $neworder['created_at'] = $paydue_data['created_at'];
         $neworder->created_by = Session::get('userId');
         $neworder->save();
     }
     if (isset($inputs['membershipType'])) {
         $membershipInputs['customer_id'] = $inputs['customerId'];
         $membershipInputs['membership_type_id'] = $inputs['membershipType'];
         CustomerMembership::addMembership($membershipInputs);
     }
     $student = Students::with('Customers', 'StudentClasses')->where('id', '=', $enrollment->student_id)->get();
     $class = Classes::where('id', '=', $enrollment->class_id)->get();
     $CustomerObject = Customers::find($inputs['customerId']);
     $CustomerObject->stage = "ENROLLED";
     $CustomerObject->save();
     $customer = array();
     $customer['customerName'] = $student['0']->Customers->customer_name;
     $customer['customerEmail'] = $student['0']->Customers->customer_email;
     $customer['kidName'] = $student['0']->student_name;
     $customer['className'] = $class['0']->class_name;
     $commentsInput['customerId'] = $inputs['customerId'];
     $commentsInput['commentText'] = Config::get('constants.ENROLLED') . ' for ' . $class['0']->class_name;
     $commentsInput['commentType'] = 'FOLLOW_UP';
     $commentsInput['reminderDate'] = null;
     Comments::addComments($commentsInput);
     if (isset($inputs['emailOption']) && $inputs['emailOption'] == 'yes') {
         $orders = Orders::with('Customers', 'Students', 'StudentClasses')->where('id', '=', $orderCreated->id)->get();
         $orders = $orders['0'];
         $paymentDues = PaymentDues::where('id', '=', $orders->payment_dues_id)->get();
         $batchDetails = Batches::where('id', '=', $orders->StudentClasses->batch_id)->get();
         $class = Classes::where('id', '=', $orders->StudentClasses->class_id)->where('franchisee_id', '=', Session::get('franchiseId'))->first();
         $customerMembership = CustomerMembership::getCustomerMembership($orders->customer_id);
         $class = Classes::where('id', '=', $inputs['eligibleClassesCbx'])->where('franchisee_id', '=', Session::get('franchiseId'))->first();
         $batch = Batches::where('id', '=', $inputs['batchCbx'])->first();
         $orderDetailsTomail['orders'] = $orders;
         $orderDetailsTomail['customers'] = $customer;
         $orderDetailsTomail['paymentDues'] = $paymentDues;
         $orderDetailsTomail['customerMembership'] = $customerMembership;
         $orderDetailsTomail['class'] = $class;
         $orderDetailsTomail['batchDetails'] = $batchDetails;
         $orderDetailsTomail['studentbatch']['start_date'] = date('Y-m-d', strtotime($inputs['enrollmentStartDate']));
         $orderDetailsTomail['studentbatch']['end_date'] = date('Y-m-d', strtotime($inputs['enrollmentEndDate']));
         $orderDetailsTomail['customers']['customerMembership'] = CustomerMembership::getCustomerMembership($orders->customer_id);
         Mail::send('emails.account.enrollment', $orderDetailsTomail, function ($msg) use($orderDetailsTomail) {
             $msg->from(Config::get('constants.EMAIL_ID'), Config::get('constants.EMAIL_NAME'));
             $msg->to($orderDetailsTomail['customers']['customerEmail'], $orderDetailsTomail['customers']['customerName'])->subject('The Little Gym - Kids Enrollment Successful');
         });
     }
     if (isset($inputs['invoicePrintOption']) && $inputs['invoicePrintOption'] == 'yes') {
         $printUrl = url() . '/orders/print/' . Crypt::encrypt($orderCreated->id);
     } else {
         $printUrl = "";
     }
     //header('Access-Control-Allow-Origin: *');
     if ($enrollment) {
         return Response::json(array("status" => "success", "printUrl" => $printUrl));
     } else {
         return Response::json(array("status" => "failed"));
     }
 }
Пример #20
0
 public function actionKindCreate()
 {
     $model = new Expense();
     $dates = date('Y-m-d H:i:s');
     if (isset($_POST['product'])) {
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $messageType = 'warning';
             $message = "There are some errors ";
             $model->order_date = $dates;
             $model->employee_id = 1;
             $model->table = 0;
             $model->status = 0;
             $model->kind = 1;
             //$uploadFile=CUploadedFile::getInstance($model,'filename');
             if ($model->save()) {
                 $messageType = 'success';
                 $message = "<strong>Well done!</strong> You successfully create data ";
                 foreach ($_POST['product']['id'] as $key => $value) {
                     $newModel = new Orders();
                     $newModel->expense_id = $model->expense_id;
                     $newModel->just_id = $value;
                     $newModel->type = 3;
                     $newModel->count = $_POST['product']['count'][$key];
                     $newModel->save();
                 }
                 $transaction->commit();
                 Yii::app()->user->setFlash($messageType, $message);
                 //$this->redirect(array('create'));
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             Yii::app()->user->setFlash('error', "{$e->getMessage()}");
             //$this->refresh();
         }
     }
     $this->render('kindCreate', array('model' => $model));
 }
Пример #21
0
 public function actionSubmit()
 {
     $incart = $this->getUserState('cart', 'incart');
     $order_list = '<b>Заказ:</b>';
     $order_list .= '<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse;">';
     $order_list .= '<tr>';
     $order_list .= '<td>Артикул</td>';
     $order_list .= '<td>Наименование</td>';
     $order_list .= '<td>Стоимость</td>';
     $order_list .= '<td>Кол-во</td>';
     $order_list .= '<td>Сумма</td>';
     $order_list .= '</tr>';
     foreach ($incart as $k => $v) {
         $order_list .= '<tr>';
         $order_list .= '<td>' . $v['tovar']->art . '</td>';
         $order_list .= '<td>' . $v['tovar']->name . '</td>';
         $order_list .= '<td>' . $v['tovar']->getPrice() . '</td>';
         $order_list .= '<td>' . $v['n'] . '</td>';
         $order_list .= '<td>' . $v['summ'] . '</td>';
         $order_list .= '</tr>';
     }
     $order_list .= '<tr>';
     $order_list .= '<td colspan="7" align="right">Итого: ' . $this->getUserState('cart', 'summ') . ' руб.</td>';
     $order_list .= '</tr>';
     $order_list .= '</table>';
     /***** Привещите посмотреть ****/
     $wishlist = Yii::app()->user->getState('wishlist');
     if ($wishlist) {
         $order_list .= '<br /><b>Привезите посмотреть:</b>';
         foreach ($wishlist as $k => $v) {
             $order_list .= '<div>' . $v->art . ', ' . $v->name . '</div>';
         }
     }
     $order = new Orders();
     $order->attributes = $_POST['Orders'];
     $order->date = date('Y-m-d H:i:s');
     $order->order_list = $order_list;
     $order->summ = $this->getUserState('cart', 'summ');
     $order_list .= '<br /><b>Ваши данные:</b>';
     $order_list .= '<div>ФИО: ' . $order->name . '</div>';
     $order_list .= '<div>E-mail: ' . $order->email . '</div>';
     $order_list .= '<div>Телефон: ' . $order->phone . '</div>';
     if ($order->address) {
         $order_list .= '<div>Адрес: ' . $order->address . '</div>';
     }
     if ($order->text) {
         $order_list .= '<div>Примечание: ' . $order->text . '</div>';
     }
     $order_list .= '<br /><div><b>Спасибо за заказ. Наши менеджеры свяжутся с вами вближайшее время.</b></div>';
     $order_list .= '<br />----';
     $order_list .= '<div>С уважением, Optoffka.</div>';
     if ($order->save()) {
         Yii::app()->user->setState('cart', '');
         Yii::app()->user->setState('wishlist', '');
         Yii::app()->user->setFlash('message', 'Спасибо за заказ! Наш менеджер свяжется с Вами в ближайшее время.');
         $mailer = Yii::app()->mailer;
         $mailer->CharSet = 'UTF-8';
         $mailer->IsHTML(true);
         $mailer->From = $order->email;
         $mailer->FromName = 'OPTOFFKA';
         $mailer->AddReplyTo('*****@*****.**');
         $mailer->AddAddress($order->email);
         $mailer->AddBCC($this->getConfig('email'));
         $mailer->Subject = 'Заказ на сайте Optoffka.ru';
         $mailer->Body = $order_list;
         $mailer->Send();
         $this->redirect('/cart/');
     } else {
         exit(var_dump($order->getErrors()));
     }
 }
 /**
  *
  * @param Customer $cust
  * @param $ordersInfo
  * @throws Exception
  * @return Orders
  */
 public function saveOrders(Customer $cust, $ordersInfo)
 {
     $currentOrder = new Orders();
     $currentOrder->customer_id = $cust->id;
     $currentOrder->sub_total = @$ordersInfo['orderInformation']['sub_total'];
     $currentOrder->tax = @$ordersInfo['orderInformation']['tax'];
     $currentOrder->shipping_amt = @$ordersInfo['orderInformation']['shipping'];
     $currentOrder->total_amt = @$ordersInfo['orderInformation']['total'];
     $currentOrder->paid = @$ordersInfo['orderInformation']['paid'];
     $currentOrder->sales_person = @$ordersInfo['orderInformation']['sales_person'];
     $currentOrder->invoice_number = @$ordersInfo['orderInformation']['invoice_number'];
     $_shippingAddress = sprintf("%s , %s ,%s , %s", $ordersInfo['shippingAddress']['shipping_address_street'], $ordersInfo['shippingAddress']['shipping_address_city'], $ordersInfo['shippingAddress']['shipping_address_province'], $ordersInfo['shippingAddress']['shipping_address_country']);
     $currentOrder->shipping_address = $_shippingAddress;
     $currentOrder->note = $ordersInfo['orderInformation']['notes'];
     $shippingDateObj = strtotime($ordersInfo['orderInformation']['ship_date']);
     $currentOrder->ship_date = date("Y-m-d H:i:s", $shippingDateObj);
     $orderDateObj = strtotime($ordersInfo['orderInformation']['order_date']);
     $currentOrder->order_date = date("Y-m-d H:i:s", $orderDateObj);
     if (!$currentOrder->save()) {
         throw new Exception("Failed to save current order. Reason : " . CHtml::errorSummary($currentOrder));
     }
     return $currentOrder;
 }
 public function testSumReportThisMonth()
 {
     $this->totalPaid = 0;
     foreach (range(0, 6) as $key => $value) {
         /*insert 5 orders row*/
         $newOrder = new Orders();
         $newOrder->paid = 5000.0;
         $newOrder->order_date = (string) Carbon::parse('wednesday last week');
         if ($newOrder->save(false)) {
             $this->totalPaid += doubleval($newOrder->paid);
         }
     }
     foreach (range(0, 5) as $key => $value) {
         /*insert 5 orders row*/
         $newOrder = new Orders();
         $newOrder->paid = 5000.0;
         $newOrder->order_date = date("Y-m-d H:i:s");
         if ($newOrder->save(false)) {
             $this->totalPaid += doubleval($newOrder->paid);
             $this->insertedOrders[] = $newOrder;
         }
     }
     $sumReporter = new SumReportFetcher();
     $firstDayOfMonth = Carbon::parse('first day of this month');
     $lastDayOfMonth = Carbon::parse('last day of this month');
     $tempContainer = $sumReporter->getSumReport((string) $firstDayOfMonth, (string) $lastDayOfMonth);
     $tempContainer = doubleval($tempContainer);
     $this->assertEquals($tempContainer, $this->totalPaid, "Asserting that the total for this month is equal to my calculated total this month. ");
 }
Пример #24
0
        $order = Orders::model()->find($criteria);
        $stopVanha = '';
        if (isset($order->id) and date("Ymd", strtotime($order->stop)) > date("Ymd")) {
            $start = date("Y-m-d", strtotime($order->stop));
        }
        $model = new Orders();
        $model->user_id = Yii::app()->user->id;
        $model->period = $_POST['period'];
        $model->status = 0;
        $model->sahkoposti = $sahkoposti;
        $model->start = $start;
        $model->alennus_prosentti = $_POST['alennus'];
        $model->hinta = $_POST['amount'];
        $model->koodi = Yii::app()->user->id . $koodi;
        $model->stop = date("Y-m-d", strtotime($start . " +" . $_POST['period'] . " day"));
        if ($model->save()) {
            $tilaus = $model->id;
            $prep = "{$kauppiasvarmenne}|{$MERCHANT_ID}|{$summa}|{$tilaus}||{$DESCRIPTION}|EUR|{$success}|{$cancel}||{$notify}|S1|fi_FI||1||";
            $auth = md5($prep);
            $auth = strtoupper($auth);
            Orders::model()->updatebypk($model->id, array('authcode' => $auth));
        } else {
            $bod .= 'Ei onnistu';
            exit;
        }
    } else {
        $bod .= 'Virhe! Tunnukset eivät täsmää!';
        exit;
    }
    $bod .= '
<div class="alert alert-danger">
Пример #25
0
 public function createOrder()
 {
     $order_create = new Logger('OrderCreation');
     $response = array();
     $output = array();
     try {
         $order = new Orders();
         if (!Input::has('user_id') || !Input::has('items')) {
             /*
              * There shd be a single class which handles all this.
              */
             $response['response_code'] = ResponseCodes::$response_code['missing_param']['code'];
             $response['response_message'] = ResponseCodes::$response_code['missing_param']['response_message'];
             echo json_encode($response);
             die;
         }
         // Save the order to the database
         $order->status = AppConstants::$avialable_status['created'];
         //  the user id is assumed to be a part of the request.
         //  Ideally it shouldn't be.The server shd be able to identify the user based on session id or token or any other method
         $order->user_id = Input::get('user_id');
         $order->save();
         /*
          * While saving items we assume that we are getting a json encoded data for the list of item. 
          * like this [{"name":"shirt","quantity":"2"},{"name":"saree","quantity":"2"}]
          * with the product name and the quanity.Each item added belongs to a specific type which has a fixed price whc are intrenally mapped 
          */
         $list_of_items = json_decode(Input::get('items'), true);
         foreach ($list_of_items as $key => $item_data) {
             $item = new Items();
             $item->order_id = $order->id;
             $item->name = $item_data['name'];
             $item->quantity = $item_data['quantity'];
             // assuming the item type is correct.
             $item->price = Price::$price_mapping[$item_data['name']] * $item_data['quantity'];
             $item->save();
         }
         $output['order_id'] = $order->id;
         $response['response_code'] = ResponseCodes::$response_code['success']['code'];
         $response['response_message'] = ResponseCodes::$response_code['success']['response_message'];
         $response['output'] = $output;
         echo json_encode($response);
     } catch (Exception $e) {
         Log::error($e->getMessage());
         $order_create->addInfo($e->getMessage());
         $response['response_code'] = ResponseCodes::$response_code['internal_server_error']['code'];
         $response['response_message'] = ResponseCodes::$response_code['internal_server_error']['response_message'];
         $response['output'] = $output;
         echo json_encode($response);
     }
 }
Пример #26
0
 public function actionUpdate($id)
 {
     $menuModel = Dishtype::model()->findAll('t.parent = :parent', array(':parent' => 0));
     $updateDish = Expense::model()->with('order.dish', 'employee')->findByPk($id);
     $updateStuff = Expense::model()->with('order.halfstuff', 'employee')->findByPk($id);
     $updateProd = Expense::model()->with('order.products', 'employee')->findByPk($id);
     if (!empty($updateDish)) {
         $empId = $updateDish->employee_id;
         $table = $updateDish->table;
         $status = $updateDish->debt;
     }
     if (!empty($updateStuff)) {
         $empId = $updateStuff->employee_id;
         $table = $updateStuff->table;
         $status = $updateStuff->debt;
     }
     if (!empty($updateProd)) {
         $empId = $updateProd->employee_id;
         $table = $updateProd->table;
         $status = $updateProd->debt;
     }
     $orders = new Orders();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['expense_id'])) {
         $model = Expense::model()->findByPk($_POST['expense_id']);
         $_POST['Expense']['order_date'] = date('Y-m-d H:i:s');
         if (isset($_POST['debt'])) {
             if ($_POST['debt'] == 1) {
                 $_POST['status'] = 1;
             }
         } else {
             $_POST['debt'] = 0;
             $_POST['status'] = 0;
         }
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $archive = new ArchiveOrder();
             $archive_message = '';
             $messageType = 'warning';
             $message = "There are some errors ";
             $model->table = $_POST['table'];
             $model->employee_id = $_POST['employee_id'];
             $model->status = $_POST['status'];
             $model->debt = $_POST['debt'];
             $model->comment = $_POST['comment'];
             if ($model->save()) {
                 $orders->model()->deleteAll('expense_id = :expId', array(':expId' => $_POST['expense_id']));
                 $messageType = 'success';
                 $message = "<strong>Well done!</strong> You successfully create data ";
                 if (isset($_POST['dish'])) {
                     $archive_message .= '*dish=>';
                     foreach ($_POST['dish']['id'] as $key => $val) {
                         $prodModel = new Orders();
                         $prodModel->expense_id = $_POST['expense_id'];
                         $prodModel->just_id = $val;
                         $prodModel->type = 1;
                         $prodModel->count = $this->changeToFloat($_POST['dish']['count'][$key]);
                         $prodModel->save();
                         $archive_message .= $val . ":" . $this->changeToFloat($_POST['dish']['count'][$key]) . ",";
                     }
                 }
                 if (isset($_POST['stuff'])) {
                     $archive_message .= '*stuff=>';
                     foreach ($_POST['stuff']['id'] as $key => $val) {
                         $prodModel = new Orders();
                         $prodModel->expense_id = $_POST['expense_id'];
                         $prodModel->just_id = $val;
                         $prodModel->type = 2;
                         $prodModel->count = $this->changeToFloat($_POST['stuff']['count'][$key]);
                         $prodModel->save();
                         $archive_message .= $val . ":" . $this->changeToFloat($_POST['stuff']['count'][$key]) . ",";
                     }
                 }
                 if (isset($_POST['product'])) {
                     $archive_message .= '*prod=>';
                     foreach ($_POST['product']['id'] as $key => $val) {
                         $prodModel = new Orders();
                         $prodModel->expense_id = $_POST['expense_id'];
                         $prodModel->just_id = $val;
                         $prodModel->type = 3;
                         $prodModel->count = $this->changeToFloat($_POST['product']['count'][$key]);
                         $prodModel->save();
                         $archive_message .= $val . ":" . $this->changeToFloat($_POST['product']['count'][$key]) . ",";
                     }
                 }
                 $archive->setArchive('update', $model->expense_id, $archive_message);
                 $transaction->commit();
                 Yii::app()->user->setFlash($messageType, $message);
                 //$this->redirect(array('view','id'=>$model->expense_id));
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             Yii::app()->user->setFlash('error', "{$e->getMessage()}");
             //$this->refresh();
         }
     }
     $this->render('update', array('model' => $model, 'menuModel' => $menuModel, 'updateDish' => $updateDish, 'updateStuff' => $updateStuff, 'updateProd' => $updateProd, 'empId' => $empId, 'table' => $table, 'debt' => $status, 'expense_id' => $id));
 }
Пример #27
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionImport()
 {
     $model = new Orders();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Orders'])) {
         if (!empty($_FILES)) {
             $tempFile = $_FILES['Orders']['tmp_name']['fileImport'];
             $fileTypes = array('xls', 'xlsx');
             // File extensions
             $fileParts = pathinfo($_FILES['Orders']['name']['fileImport']);
             if (in_array(@$fileParts['extension'], $fileTypes)) {
                 Yii::import('ext.heart.excel.EHeartExcel', true);
                 EHeartExcel::init();
                 $inputFileType = PHPExcel_IOFactory::identify($tempFile);
                 $objReader = PHPExcel_IOFactory::createReader($inputFileType);
                 $objPHPExcel = $objReader->load($tempFile);
                 $sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true);
                 $baseRow = 2;
                 $inserted = 0;
                 $read_status = false;
                 while (!empty($sheetData[$baseRow]['A'])) {
                     $read_status = true;
                     //$order_id=  $sheetData[$baseRow]['A'];
                     $expense_id = $sheetData[$baseRow]['B'];
                     $just_id = $sheetData[$baseRow]['C'];
                     $type = $sheetData[$baseRow]['D'];
                     $count = $sheetData[$baseRow]['E'];
                     $table_id = $sheetData[$baseRow]['F'];
                     $model2 = new Orders();
                     //$model2->order_id=  $order_id;
                     $model2->expense_id = $expense_id;
                     $model2->just_id = $just_id;
                     $model2->type = $type;
                     $model2->count = $count;
                     $model2->table_id = $table_id;
                     try {
                         if ($model2->save()) {
                             $inserted++;
                         }
                     } catch (Exception $e) {
                         Yii::app()->user->setFlash('error', "{$e->getMessage()}");
                         //$this->refresh();
                     }
                     $baseRow++;
                 }
                 Yii::app()->user->setFlash('success', $inserted . ' row inserted');
             } else {
                 Yii::app()->user->setFlash('warning', 'Wrong file type (xlsx, xls, and ods only)');
             }
         }
         $this->render('admin', array('model' => $model));
     } else {
         $this->render('admin', array('model' => $model));
     }
 }