<?php

/*
  Created on : Mayo 26, 2019, 01:14:34 PM
  Author     : Gabriel Hernandez Gonzalez
 */
	if(!isset($_SESSION)) session_start();
	require_once "../core/core_classes.php";
	require_once "../config.php";

	switch (filter_input(INPUT_POST, 'tipoOperacion')) {

		case 'guardarUsuario':

			$pNombre = filter_input(INPUT_POST, 'pNombre');
			$pPaterno = filter_input(INPUT_POST, 'pPaterno');
			$pMaterno = filter_input(INPUT_POST, 'pMaterno');
			$pUsuario = filter_input(INPUT_POST, 'pUsuario');
			$pContrasenia = filter_input(INPUT_POST, 'pContrasenia');
			
			// get settings
			$stmt = $conn->prepare("call usuarios_insertar('$pNombre','$pPaterno','$pMaterno','$pUsuario','$pContrasenia')");
			$stmt->execute();			
						
			$row = $stmt->fetch(PDO::FETCH_ASSOC);
			$transaccion = $row['Transaccion'];
			$mensaje = $row['Mensaje'];
			
			$response = new root_response;
			$response->transaccion = $transaccion;
			$response->mensaje = $mensaje;
			$response->datos = "";
			
			echo json_encode($response);
			
			break;
			
		case 'actualizarUsuario':

			$pIdUsuario = filter_input(INPUT_POST, 'pNid');
			$pNombre = filter_input(INPUT_POST, 'pNombre');
			$pPaterno = filter_input(INPUT_POST, 'pPaterno');
			$pMaterno = filter_input(INPUT_POST, 'pMaterno');
			$pUsuario = filter_input(INPUT_POST, 'pUsuario');
			$pPass = filter_input(INPUT_POST, 'pContrasenia');
			
			// get settings
			$stmt = $conn->prepare("call usuarios_actualizar($pIdUsuario,'$pNombre','$pPaterno','$pMaterno','$pUsuario','$pPass')");
			$stmt->execute();			
						
			$row = $stmt->fetch(PDO::FETCH_ASSOC);
			$transaccion = $row['Transaccion'];
			$mensaje = $row['Mensaje'];
			
			$response = new root_response;
			$response->transaccion = $transaccion;
			$response->mensaje = $mensaje;
			$response->datos = "";
			
			echo json_encode($response);
			
			break;
			
		case 'eliminarUsuario':

			$pIdUsuario = filter_input(INPUT_POST, 'pNid');
			$pActivo = filter_input(INPUT_POST, 'pEstado');
			
			// get settings
			$stmt = $conn->prepare("call usuarios_actualizar_estado($pActivo,$pIdUsuario)");
			$stmt->execute();			
						
			$row = $stmt->fetch(PDO::FETCH_ASSOC);
			$transaccion = $row['Transaccion'];
			$mensaje = $row['Mensaje'];
			
			$response = new root_response;
			$response->transaccion = $transaccion;
			$response->mensaje = $mensaje;
			$response->datos = "";
			
			echo json_encode($response);
			
			break;			
		case 'consultaUsuarios':

			$pEstado = filter_input(INPUT_POST, 'pEstado');
			
			
			$user = json_decode($_SESSION['user']);
		
			// get settings
			$stmt = $conn->prepare("call usuarios_consulta($pEstado)");
			$stmt->execute();	

			$response = new root_response;
			while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
			{ 
				$respuesta = new core_usuario();
				$respuesta->nid = $row["nidusuario"];
				$respuesta->nombre = $row["Nombre"];
				$respuesta->paterno = $row["appaterno"];
				$respuesta->materno = $row["apmaterno"];
				$respuesta->usuario = $row["usuario"];
				$respuesta->contrasenia = $row["pass"];				
				
				$response->datos[] = $respuesta;				
			};
						
			$response->transaccion = "1";
			$response->mensaje = "Ok";
			
			echo json_encode($response);
			
			break;
			
		case 'consultaUsuariosXnid':

			$pNid = filter_input(INPUT_POST, 'pNid');
		
			// get settings
			$stmt = $conn->prepare("call usuarios_consulta_X_id($pNid)");
			$stmt->execute();	

			$response = new root_response;
			while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
			{ 
				$respuesta = new core_usuario();
				$respuesta->nid = $row["nidusuario"];
				$respuesta->nombre = $row["Nombre"];
				$respuesta->paterno = $row["appaterno"];
				$respuesta->materno = $row["apmaterno"];
				$respuesta->usuario = $row["usuario"];
				$respuesta->contrasenia = $row["pass"];
				
				$response->datos[] = $respuesta;				
			};
						
			$response->transaccion = "1";
			$response->mensaje = "Ok";
			
			echo json_encode($response);
			
			break;
			
		default:
			echo json_encode(system_get_message(SISTEMA_PARAMETRO_NO_RECONOCIDO));
			break;
	}
        
?>
