public function descartar()
 {
     $this->load->model('estoque/estoqueModel');
     $this->load->model('estoque/lotesModel');
     $this->load->model('estoque/localizacaoLoteModel');
     $this->load->model('produtos/unidadeMedidaEstoqueModel');
     $this->load->dao('estoque/estoqueDao');
     $this->load->library('dataValidator');
     $idEstoque = (int) $this->http->getRequest('idEstoque');
     $idlote = (int) $this->http->getRequest('idlote');
     $idUnidadeMedidaVenda = (int) $this->http->getRequest('idUnidadeMedidaVenda');
     $quantidade = (double) $this->http->getRequest('quantidade');
     $observacoes = $this->http->getRequest('observacoes');
     //validação dos dados
     $dataValidator = new dataValidator();
     $dataValidator->set('Quantidade', $quantidade, 'quantidade')->is_required()->is_num();
     if ($dataValidator->validate()) {
         //UNIDADE MEDIDA ESTOQUE MODEL
         $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel();
         $unidadeMedidaEstoqueModel->setId($idUnidadeMedidaVenda);
         //LOCALIZACAO LOTE MODEL
         $localizacaoLoteModel = new localizacaoLoteModel();
         $localizacaoLoteModel->setUnidadeMedidaEstoque($unidadeMedidaEstoqueModel);
         $localizacaoLoteModel->setQuantidade($quantidade);
         $localizacaoLoteModel->setObservacoes($observacoes);
         $localizacaoLoteModel->descartar();
         //LOTES MODEL
         $lotesModel = new lotesModel();
         $lotesModel->setId($idlote);
         $lotesModel->addLocalizacao($localizacaoLoteModel);
         //ESTOQUE MODEL
         $estoqueModel = new estoqueModel();
         $estoqueModel->setId($idEstoque);
         $estoqueModel->addLote($lotesModel);
         //ESTOQUE DAO
         $estoqueDao = new estoqueDao();
         $lotePertoVencer = $estoqueDao->verificaDataValidade($estoqueModel);
         if (!$estoqueDao->verificaQuantidadeTransferencia($estoqueModel, localizacoes::ARMAZEM)) {
             $mensagem = "Quantidade insuficiente para realizar o descarte";
             $this->http->response($mensagem);
         } else {
             $this->http->response($estoqueDao->transferir($estoqueModel, localizacoes::ARMAZEM));
         }
     } else {
         $todos_erros = $dataValidator->get_errors();
         $this->http->response(json_encode($todos_erros));
     }
 }