Commit 0ac9a88e authored by vmocelin's avatar vmocelin

Entrada atualizado e criado o tipoUsuarioDao

parent 75d51170
No preview for this file type
<?php
return array(
'db' => array(
'host' => 'localhost',
'host' => getenv('IP'),
'dbname' => 'RU',
'login' => 'root',
'password'=>'P@$71lh@$'
'login' => getenv('C9_USER'),
'password'=>''
)
);
......@@ -4,140 +4,177 @@ use FrameworkMvc\Mvc\Controller;
use FrameworkMvc\Hydrator\Hydrator;
use FrameworkMvc\Dao\GenericDao;
use FrameworkMvc\Dao\Conexao;
use Entrada\Model\Entrada;
use Entrada\Model\Dao\EntradaDao;
use Usuario\Model\Usuario;
use Usuario\Model\Dao\UsuarioDao;
use Usuario\Model\TipoUsuario;
use Funcionario\Model\Funcionario;
use Funcionario\Model\Dao\FuncionarioDao;
class EntradaController extends Controller{
private function geraEntrada ($usuario){
/* Verifica o saldo e gera uma entrada */
// onde pegar os preços do RU?
// onde armazenar que foi realizada uma entrada do tipo do usuário?
// criar uma classe e um Dao Entrada no Model?
return;
}
private function validaSenha($senha1, $senha2){
if ( ($senha1 != $senha2) )
return false;
else
return true;
}
public function indexAction(){
$viewData = array();
if (!empty($_POST)){
/* Escolhe entre Entrada Manual ou Automática */
if ($_POST['metodo'] == "1")
header("location:?module=entrada&controller=entrada&action=manual");
else
header("location:?module=entrada&controller=entrada&action=login");
}
return $viewData;
}
public function loginAction(){
$viewData = array();
if(!empty($_POST)){
$funcionario = new Funcionario();
$FuncionarioDao = new FuncionarioDao(Conexao::getInstance());
$result = $FuncionarioDao->recuperar(array('login' => $_POST['login']));
if (!empty($result)){
private function geraEntrada ($usuario, $tipo){
/* Verifica o saldo e gera uma entrada */
$entrada = new Entrada();
$tipo = new TipoUsuario();
$entradaDao = new EntradaDao(Conexao::getInstance());
$usuarioDao = new UsuarioDao(Conexao::getInstance());
$funcionario = $result[0];
//por enquanto esses valores estão fixados
$entrada->setTbFuncionario_id(1);
$entrada->setTbRu_id(4);
$entrada->setdata('9999-12-31');
//$entrada->setValor(1.30);
if ($this->validaSenha($funcionario->getSenha(), $_POST['senha'])){
$viewData['success'] = true;
header("location:?module=entrada&controller=entrada&action=automatico");
if (isset($usuario)){
//usuario
$tipo = $usuarioDao->getTipoUsuario($usuario->getId());
$entrada->setValor($tipo->getValor());
$entrada->setTbUsuario_id($usuario->getId());
if ($tipo == 'conta'){
//pagamento pela conta
$entrada->setForma(Entrada::$FORMAS['CONTA']);
}
else{
//pagamento ou dinheiro
$entrada->setForma(Entrada::$FORMAS['DINHEIRO']);
}
}
else{
$viewData['success'] = false;
//visitante
$entrada->setUsuario(NULL);
}
}
else{
$viewData['success'] = false;
}
$result = $entradaDao->inserir($entrada);
return $result;
}
return $viewData;
}
public function automaticoAction(){
$viewData = array();
if(!empty($_POST)){
$usuario = new Usuario();
$usuarioDao = new UsuarioDao(Conexao::getInstance());
$result = $usuarioDao->recuperar(array('id' => $_POST['id']));
if (!empty($result)){
$usuario = $result[0];
$this->geraEntrada($usuario);
$viewData['success'] = true;
}
else{
$viewData['success'] = false;
}
private function validaSenha($senha1, $senha2){
if ( ($senha1 != $senha2) )
return false;
else
return true;
}
return $viewData;
}
public function manualAction(){
$viewData = array();
if (!empty($_POST)){
/* Escolhe entre Entrada Manual com ou sem Identificação */
if ($_POST['metodo'] == "0")
header("location:?module=entrada&controller=entrada&action=comid");
else
header("location:?module=entrada&controller=entrada&action=semid");
public function indexAction(){
$viewData = array();
if (!empty($_POST)){
/* Escolhe entre Entrada Manual ou Automática */
if ($_POST['metodo'] == "1")
header("location:?module=entrada&controller=entrada&action=manual");
else
header("location:?module=entrada&controller=entrada&action=login");
}
return $viewData;
}
return $viewData;
}
public function semidAction(){
$viewData = array();
if (!empty($_POST)){
/* gera uma entrada para o tipo de cliente escolhido */
public function loginAction(){
$viewData = array();
if(!empty($_POST)){
$funcionario = new Funcionario();
$FuncionarioDao = new FuncionarioDao(Conexao::getInstance());
$result = $FuncionarioDao->recuperar(array('login' => $_POST['login']));
if (!empty($result)){
$funcionario = $result[0];
if ($this->validaSenha($funcionario->getSenha(), $_POST['senha'])){
$viewData['success'] = true;
header("location:?module=entrada&controller=entrada&action=automatico");
}
else{
$viewData['success'] = false;
}
}
else{
$viewData['success'] = false;
}
}
return $viewData;
}
return $viewData;
}
public function comidAction(){
$viewData = array();
if (!empty($_POST)){
/* gera uma entrada para o tipo de cliente escolhido */
$usuario = new Usuario();
$usuarioDao = new UsuarioDao(Conexao::getInstance());
$result = $usuarioDao->recuperar(array('id' => $_POST['id']));
if (!empty($result)){
if ($_POST['metodo'] == "0"){
$usuario = $result[0];
$this->geraEntrada($usuario);
public function automaticoAction(){
$viewData = array();
if(!empty($_POST)){
$usuario = new Usuario();
$usuarioDao = new UsuarioDao(Conexao::getInstance());
$result = $usuarioDao->recuperar(array('id' => $_POST['id']));
if (!empty($result)){
$usuario = $result[0];
$this->geraEntrada($usuario, 'conta');
$viewData['success'] = true;
}
else{
$viewData['success'] = false;
}
}
else{
//entrada com dinheiro
return $viewData;
}
public function manualAction(){
$viewData = array();
if (!empty($_POST)){
/* Escolhe entre Entrada Manual com ou sem Identificação */
if ($_POST['metodo'] == "0")
header("location:?module=entrada&controller=entrada&action=comid");
else
header("location:?module=entrada&controller=entrada&action=semid");
}
$viewData['success'] = true;
}
else{
$viewData['success'] = false;
}
return $viewData;
}
return $viewData;
}
public function semidAction(){
$viewData = array();
if (!empty($_POST)){
/* gera uma entrada para o tipo de cliente escolhido */
$this->geraEntrada($usuario, 'conta');
}
return $viewData;
}
public function comidAction(){
$viewData = array();
if (!empty($_POST)){
/* gera uma entrada para o tipo de cliente escolhido */
$usuario = new Usuario();
$usuarioDao = new UsuarioDao(Conexao::getInstance());
$result = $usuarioDao->recuperar(array('id' => $_POST['id']));
if (!empty($result)){
$usuario = $result[0];
if ($_POST['metodo'] == "0"){
//entrada pela conta
$this->geraEntrada($usuario, 'conta');
}
else{
//entrada com dinheiro
$this->geraEntrada($usuario, 'dinheiro');
}
$viewData['success'] = true;
}
else{
$viewData['success'] = false;
}
}
return $viewData;
}
}
?>
......@@ -6,16 +6,23 @@ use PDO;
class EntradaDao extends \FrameworkMvc\Dao\GenericDao{
protected function getNomeTabela(){
return 'tbUsuario';
}
protected function getNomeTabela(){
return 'tbEntrada';
}
protected function getModelClassName(){
return 'Usuario\Model\Usuario';
return 'Entrada\Model\Entrada';
}
protected function getAutoIncrementedColumns(){
return array('id');
return array('id');
}
public function inserir($model)
{
return parent::inserir($model);
}
}
?>
<?php
namespace Entrada\Model;
class Funcionario {
private $id;
private $login;
private $senha;
private $administrador;
public function getId(){
return $this->id;
}
public function getLogin(){
return $this->login;
}
public function getSenha(){
return $this->senha;
}
public function getAdministrador(){
return $this->administrador;
}
public function isAdministrador(){
return $this->administrador;
}
public function setId($id){
$this->id = $id;
}
public function setLogin($login){
$this->login = $login;
}
public function setSenha($senha){
$this->senha = trim($senha);
}
public function setAdministrador($admin){
$this->administrador = $admin;
}
class Entrada {
private $id;
private $valor;
private $forma;
private $data;
private $tbUsuario_id;
private $tbFuncionario_id;
private $tbRu_id;
public static $FORMAS = array('DINHEIRO' => 0, 'CONTA' => 1);
public function getId(){
return $this->id;
}
public function getValor(){
return $this->valor;
}
public function getForma(){
return $this->forma;
}
public function getData(){
return $this->data;
}
public function getTbUsuario_id(){
return $this->tbUsuario_id;
}
public function getTbFuncionario_id(){
return $this->tbFuncionario_id;
}
public function getTbRu_id(){
return $this->tbRu_id;
}
public function setId($id){
$this->id = $id;
}
public function setValor($valor){
$this->valor = $valor;
}
public function setForma($forma){
$this->forma = $forma;
}
public function setData($data){
$this->data = $data;
}
public function setTbUsuario_id($id){
$this->tbUsuario_id = $id;
}
public function setTbFuncionario_id($id){
$this->tbFuncionario_id = $id;
}
public function setTbRu_id($id){
$this->tbRu_id = $id;
}
}
?>
<?php
namespace Usuario\Model\Dao;
use PDO;
class TipoUsuarioDao extends \FrameworkMvc\Dao\GenericDao{
protected function getNomeTabela(){
return 'tbTipoUsuario';
}
protected function getModelClassName(){
return 'Usuario\Model\TipoUsuario';
}
protected function getAutoIncrementedColumns(){
return array();
}
}
?>
<?php
namespace Usuario\Model\Dao;
use FrameworkMvc\Hydrator\Hydrator;
use Usuario\Model\TipoUsuario;
class UsuarioDao extends \FrameworkMvc\Dao\GenericDao{
protected function getNomeTabela(){
protected function getNomeTabela(){
return 'tbUsuario';
}
protected function getModelClassName(){
return 'Usuario\Model\Usuario';
}
protected function getAutoIncrementedColumns(){
return array('id');
}
}
protected function getModelClassName(){
return 'Usuario\Model\Usuario';
}
protected function getAutoIncrementedColumns(){
return array('id');
}
public function getTipoUsuario($idUsuario){
try {
$stmt = $this->conexao->prepare("SELECT t.* FROM {$this->getNomeTabela()} AS u INNER JOIN tbTipoUsuario AS t ON u.tbTipoUsuario_nome = t.nome WHERE u.id = {$idUsuario}");
$stmt->execute();
$data = array();
$data = $stmt->fetchAll();
if (count($data))
return (new Hydrator())->hydrate($data[0], new TipoUsuario());
return NULL;
} catch (PDOException $e) {
throw new \Exception("Erro ao inserir:{$e->getMessage()}");
}
}
}
\ No newline at end of file
<?php
namespace Usuario\Model;
class TipoUsuario {
private $nome;
private $valor;
public function getNome(){
return $this->nome;
}
public function getValor(){
return $this->valor;
}
public function setNome($nome){
$this->id = $nome;
}
public function setValor($valor){
$this->valor = $valor;
}
}
?>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment