Exemplo n.º 1
0
 /**
  * Creates a new Products model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $this->validateIsAdmin();
     $model = new Products();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Exemplo n.º 2
0
 protected function parseAndSaveData($reader)
 {
     Products::deleteAll();
     $report = array('countXml' => 0, 'countDb' => 0, 'notImport' => array());
     while ($reader->read()) {
         if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Row") {
             //increment count row in xml-file
             $report['countXml'] = $report['countXml'] + 1;
             //AR of the product
             $product = new Products();
             while ($reader->read()) {
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "MNN") {
                     $product->mnn = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "TN") {
                     $product->tn = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Kpr") {
                     $product->kpr = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "nShort3") {
                     $product->nshort3 = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "NamePr") {
                     $product->namepr = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Country") {
                     $product->country = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Otd") {
                     $product->otd = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "OsnLS") {
                     $product->osnls = (int) $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Tender") {
                     $product->tender = (int) $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Spar") {
                     $product->spar = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "GodenDo") {
                     $product->goden_do = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "CenOpt") {
                     $product->cenopt = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "CenRozn") {
                     $product->cenrozn = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Kol") {
                     $product->kol = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "TenderGod") {
                     $product->tendergod = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "VIDTOVARA") {
                     $product->vidtovara = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "OBNALICHIE") {
                     $product->obnalichie = (int) $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "KOLOTGR") {
                     $product->kolotgr = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "VIDPOST") {
                     $product->vidpost = $this->parseRowTag($reader);
                 }
                 if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "KodPart") {
                     $product->kodpart = $this->parseRowTag($reader);
                     break;
                 }
             }
             if ($product->save()) {
                 $report['countDb'] = $report['countDb'] + 1;
             } else {
                 $report['notImport'][] = 'код: ' . $product->kpr . ', тн: ' . $product->tn . ';';
             }
         }
     }
     return $report;
 }