Пример #1
0
 public function itemslistAction()
 {
     $this->_helper->layout()->disableLayout();
     $cartSession = new Zend_Session_Namespace('laundryCart');
     $request = $this->getRequest();
     $serviceId = $request->getParam('service');
     $categoryId = $request->getParam('category');
     $deliveryType = $request->getParam('delivery');
     $model = new Application_Model_ItemPriceMapper();
     $serviceModel = new Application_Model_ServiceMasterMapper();
     $categoryModel = new Application_Model_CategoriesMapper();
     $responseArr = array('code' => 404, 'message' => 'required fields serviceid, categoryid or delivery type missing');
     if (!empty($serviceId) && !empty($categoryId) && !empty($deliveryType)) {
         //get service name
         $service = $serviceModel->getServiceMasterById($serviceId);
         //get category name
         $category = $categoryModel->getCategoryById($categoryId);
         $items = $model->getItemPriceByServiceIdCatIdDelName($serviceId, $deliveryType, $categoryId);
         $itemsArr = array();
         if (!empty($items) && count($items)) {
             foreach ($items as $itemKey => $itemVal) {
                 $itemsArr[$itemKey] = array('item_price_id' => $itemVal->__get('item_price_id'), 'item_id' => $itemVal->__get('item_id'), 'price' => $itemVal->__get('price'), 'price' => $itemVal->__get('price'), 'item_name' => $itemVal->__get('item_name'), 'quantity' => 0, 'item_service' => $serviceId, 'item_service_name' => $service->__get('service_name'), 'item_category' => $categoryId, 'item_category_name' => $category->__get('category_name'));
                 //                $isCart = in_array($itemVal->__get('item_id'), $cartSession->items);
                 $isCart = array_key_exists($itemVal->__get('item_price_id'), $cartSession->items);
                 if ($isCart && isset($cartSession->items[$itemVal->__get('item_price_id')])) {
                     $itemsArr[$itemKey]['quantity'] = $cartSession->items[$itemVal->__get('item_price_id')];
                 }
             }
         }
         $responseArr['code'] = '200';
         $responseArr['message'] = 'success';
         $responseArr['data'] = (array) $itemsArr;
     }
     echo json_encode($responseArr, true);
 }
 public function itemsAction()
 {
     $model = new Application_Model_ServiceMasterMapper();
     $services = $model->getAllServiceMasters();
     $model = new Application_Model_CategoriesMapper();
     $categories = $model->getAllCategories(true);
     $namespace = new Zend_Session_Namespace('userInfo');
     $laundryCart = new Zend_Session_Namespace('laundryCart');
     if (isset($namespace->user_id)) {
         //check if items are there in session - if not then remove all
         if (empty($laundryCart->items) || empty($laundryCart->itemprice)) {
             $laundryCart->items = array();
             $laundryCart->itemprice = '';
         }
         //remove delivery type when services are multiple
         if (count($laundryCart->service) > 1 && is_array($laundryCart->service)) {
             $laundryCart->delivery_type = '';
         }
         $this->view->services = $services;
         $this->view->selectedServices = $laundryCart->service ?: array();
         $this->view->categories = $categories;
         //list of items from default service selected and category default selected
         //Mens is default category
         $model = new Application_Model_ItemPriceMapper();
         //current selected listing of items
         $items = $model->getItemPriceByServiceIdCatIdDelName($laundryCart->service[0], 'Regular', $categories[0]->__get('category_id'));
         $this->view->items = $items ?: array();
         $selectedItems = $this->view->selectedItems = $laundryCart->items;
         $this->view->selectedItemsCount = array_reduce($laundryCart->items, function ($item, $carry) {
             $carry += $item;
             return $carry;
         });
         $this->view->deliveryType = $laundryCart->delivery_type ?: '';
         $totalPrice = 0;
         foreach ($laundryCart->itemprice as $key => $prices) {
             $totalPrice += $prices * $selectedItems[$key];
         }
         $this->view->selectedItemsPrice = $totalPrice;
         $this->view->headlineText = 'SELECT YOUR ITEMS';
         $this->view->user_fname = $namespace->user_fname;
         $this->view->user_lname = $namespace->user_lname;
         $this->view->user_img = $namespace->user_img;
     } else {
         $this->_redirect("");
     }
 }
Пример #3
0
 public function editAction()
 {
     try {
         $ordersMapper = new Application_Model_OrdersMapper();
         $orderItemsMapper = new Application_Model_OrderItemsMapper();
         $request = $this->getRequest();
         $order_id = $request->getParam("id");
         $this->view->order_id = $order_id;
         $orders = $ordersMapper->getOrderById($order_id);
         $this->view->orders = $orders;
         if ($orders) {
             if ($request->isPost()) {
                 $request_type = $request->getParam("request_type", false);
                 if ($request_type) {
                     if ($request_type == "update_order_info") {
                         $user_name = $request->getParam("user_name");
                         $user_address = $request->getParam("user_address");
                         $user_number = $request->getParam("user_number");
                         $delivery_type = $request->getParam("delivery_type");
                         $service_id = $request->getParam("service_id");
                         $errors = array();
                         if (empty($user_name)) {
                             $errors[] = "Username is empty";
                         }
                         if (empty($user_number)) {
                             $errors[] = "Phone number is empty";
                         }
                         if (empty($user_address)) {
                             $errors[] = "Address is empty";
                         }
                         if (empty($delivery_type)) {
                             $errors[] = "Delivering Type is not selected";
                         }
                         if (empty($service_id)) {
                             $errors[] = "Service is not selected";
                         }
                         if (count($errors) == 0) {
                             $orders->__set("user_fname", $user_name);
                             $orders->__set("user_phn_number", $user_number);
                             $orders->__set("user_address", $user_address);
                             $orders->__set("delivery_type", $delivery_type);
                             $orders->__set("service", $service_id);
                             if ($ordersMapper->updateOrder($orders)) {
                                 $this->view->hasMessage = true;
                                 $this->view->messageType = "success";
                                 $this->view->message = "Successfully update order info";
                             } else {
                                 $this->view->hasMessage = true;
                                 $this->view->messageType = "dnager";
                                 $this->view->message = "Error while updating the order info";
                             }
                         } else {
                             $errorString = "";
                             foreach ($errors as $error) {
                                 $errorString .= $error . "<br/>";
                             }
                             $this->view->hasMessage = true;
                             $this->view->messageType = "danger";
                             $this->view->message = $errorString;
                         }
                     } elseif ($request_type == "update_qty") {
                         $total_price = 0;
                         $order_item_id = $request->getParam("order_item_id");
                         $qty = $request->getParam("qty");
                         $order_item = $orderItemsMapper->getOrderItemById($order_item_id);
                         if ($order_item) {
                             if ($qty) {
                                 $unit_price = $order_item->__get("unit_price");
                                 $new_price = $qty * $unit_price;
                                 $new_qty = $qty;
                                 $order_item->__set("quantity", $qty);
                                 $order_item->__set("total_price", $new_price);
                                 if ($orderItemsMapper->updateOrderItem($order_item)) {
                                     $orderItems = $orderItemsMapper->getOrderItemByOrderId($order_id);
                                     foreach ($orderItems as $item) {
                                         $total_price += $item->__get("total_price");
                                     }
                                     $orders->__set("order_total", $total_price);
                                     $ordersMapper->updateOrder($orders);
                                     $this->view->hasMessage = true;
                                     $this->view->messageType = "success";
                                     $this->view->message = "Successfully update Item quantity";
                                 } else {
                                     $this->view->hasMessage = true;
                                     $this->view->messageType = "success";
                                     $this->view->message = "error while updating qty";
                                 }
                             }
                         }
                     } elseif ($request_type == "delete") {
                         $item_id = $request->getParam("item_id");
                         $order_item = $orderItemsMapper->getOrderItemById($item_id);
                         $price = $order_item->__get("total_price");
                         $order_total = $orders->__get("order_total");
                         if ($orderItemsMapper->deleteOrderItemById($item_id)) {
                             $new_price = $order_total - $price;
                             $orders->__set("order_total", $new_price);
                             $ordersMapper->updateOrder($orders);
                             $this->view->hasMessage = true;
                             $this->view->messageType = "success";
                             $this->view->message = "Successfully deleted item";
                         } else {
                             $this->view->hasMessage = true;
                             $this->view->messageType = "success";
                             $this->view->message = "Error while deleting";
                         }
                     } elseif ($request_type == "order_item_add") {
                         $total_price = 0;
                         $category_id = $request->getParam("category_id");
                         $service_id = $request->getParam("service_id");
                         $item_id = $request->getParam("item_id");
                         $quantity = $request->getParam("quantity");
                         $itemPriceMapper = new Application_Model_ItemPriceMapper();
                         $orderItems = new Application_Model_OrderItems();
                         $errors = array();
                         if ($category_id == "none") {
                             $errors[] = "Please Select a category";
                         }
                         if ($service_id == "none") {
                             $errors[] = "Please Select a service";
                         }
                         if ($item_id == "none") {
                             $errors[] = "Please Select a item";
                         }
                         if (empty($quantity)) {
                             $errors[] = "Please enter quantity";
                         }
                         if (count($errors) == 0) {
                             $itemPrice = $itemPriceMapper->getItemPriceByItemId($item_id);
                             $item_price = $itemPrice->__get("price");
                             $price = $item_price * $quantity;
                             $orderItems->__set("order_id", $order_id);
                             $orderItems->__set("item_id", $item_id);
                             $orderItems->__set("quantity", $quantity);
                             $orderItems->__set("unit_price", $item_price);
                             $orderItems->__set("total_price", $price);
                             if ($orderItemsMapper->addNewOrderItem($orderItems)) {
                                 $orderItems = $orderItemsMapper->getOrderItemByOrderId($order_id);
                                 foreach ($orderItems as $item) {
                                     $total_price += $item->__get("total_price");
                                 }
                                 $orders->__set("order_total", $total_price);
                                 $ordersMapper->updateOrder($orders);
                                 $this->view->hasMessage = true;
                                 $this->view->messageType = "success";
                                 $this->view->message = "Successfully add";
                             } else {
                                 $this->view->hasMessage = true;
                                 $this->view->messageType = "danger";
                                 $this->view->message = "Error while add";
                             }
                         } else {
                             $errorString = "";
                             foreach ($errors as $error) {
                                 $errorString .= $error . "<br/>";
                             }
                             $this->view->hasMessage = true;
                             $this->view->messageType = "danger";
                             $this->view->message = $errorString;
                         }
                     }
                 }
             }
         }
         $orderItems = $orderItemsMapper->getOrderItemByOrderId($order_id);
         $this->view->orderItems = $orderItems;
         $this->authorised = true;
     } catch (Exception $ex) {
         $this->authorised = false;
         $this->view->hasMessage = true;
         $this->view->messageType = "danger";
         $this->view->message = $ex->getMessage();
     }
 }
Пример #4
0
 public function editAction()
 {
     try {
         //$admins = new Application_Model_Admins;
         $itemPriceMapper = new Application_Model_ItemPriceMapper();
         $request = $this->getRequest();
         $item_price_form = new Application_Form_ItemPriceForm();
         $this->view->form = $item_price_form;
         $elements = $item_price_form->getElements();
         $item_price_id = $request->getParam("id");
         $secure = new My_Secure();
         $id = $item_price_id;
         //$id = $secure->decode($item_price_id);
         //echo $id;
         $item_price = $itemPriceMapper->getItemPriceById($id);
         //print_r($item_price);exit;
         foreach ($elements as $element) {
             $element->setValue($item_price->__get($element->getName()));
         }
         if ($request->isPost()) {
             $request_type = $request->getParam("request_type", false);
             if ($request_type) {
                 if ($request_type == "edit") {
                     $params = $request->getParams();
                     if ($item_price_form->isValid($params)) {
                         foreach ($params as $param => $value) {
                             $item_price->__set($param, $value);
                         }
                         if ($itemPriceMapper->updateItemPrice($item_price)) {
                             $this->view->message = "Item Price Updated successfully";
                             $this->view->hasMessage = true;
                             $this->view->messageType = "success";
                         } else {
                             $this->view->message = "Error occured while updating. Please try again";
                             $this->view->hasMessage = true;
                             $this->view->messageType = "danger";
                         }
                     } else {
                         $this->view->message = "Error occured while updating. Please fill form correctly";
                         $this->view->hasMessage = true;
                         $this->view->messageType = "danger";
                     }
                 }
             }
         }
         $this->authorised = true;
     } catch (Exception $ex) {
         $this->authorised = false;
         $this->view->hasMessage = true;
         $this->view->messageType = "danger";
         $this->view->message = $ex->getMessage();
     }
 }
Пример #5
0
 public function ratelistAction()
 {
     $requestParams = $this->getRequest()->getParams();
     $ServiceMasterMapper = new Application_Model_ServiceMasterMapper();
     $allServices = $ServiceMasterMapper->getAllServiceMasters();
     $CategoriesMapper = new Application_Model_CategoriesMapper();
     $allCategories = $CategoriesMapper->getAllCategories();
     $this->view->selectedcity = $this->_getParam("city", "1");
     $this->view->selectedService = $this->_getParam("service", $allServices[0]->service_id);
     $this->view->selectedCategory = $this->_getParam("category", $allCategories[0]->category_id);
     $this->view->cities = array('1' => "Noida");
     $this->view->services = $allServices;
     $this->view->categories = $allCategories;
     $model = new Application_Model_ItemPriceMapper();
     $items = $model->getItemPriceByServiceIdCatIdDelName($this->view->selectedService, "regular", $this->view->selectedCategory);
     $this->view->items = $items;
 }