<?php
class WproveedorController extends WadminController {
	
	public function pedirofertaAction(){
		
		// Recursos
		AppLibreria::addJs('proveedor.js');
		
		// Lógica
		$numeroPresupuesto = $this->getParametro('np');
		$usuario = Usuario::UsuarioLoqueado();
		$numeroProveedor = $usuario->PROVEE;
		
		$oferta = new PresupuestoProveedor($numeroPresupuesto, $numeroProveedor);
		$presupuesto = new Presupuesto($numeroPresupuesto);

		
		// Visual
		
		$ly = $this->getLayout();
		$ly->reg_titulo->setTitulo('Nº Presupuesto: '.$presupuesto->getNumeroPresupuesto());
		
		// PRESUPUESTO
		$contPresupuesto = new vstContenedor('Datos del viaje');
		$fila = new VstFila();
		
		$infoIzquierda = new VstInfo();
		$infoIzquierda->addElement('Servicio', $presupuesto->getTipoServicio());
		$infoIzquierda->addElement('Fecha y Hora', $presupuesto->getFechaHoraInicio());
		$infoIzquierda->addElement('Vehículo', $presupuesto->getVehiculoNombre());
		$infoIzquierda->addElement('Observaciones', $presupuesto->getObservaciones());
		$infoIzquierda->addElement('Itinerario', $presupuesto->getItinierario());
		
		
		$infoDerecha = new VstInfo();
		$infoDerecha->addElement('Origen', $presupuesto->getOrigenLugar().'<br/>'.$presupuesto->getOrigenDireccionProveedor());
		$infoDerecha->addElement('Destino', $presupuesto->getDestinoLugar().'<br/>'.$presupuesto->getDestinoDireccionProveedor());
		$infoDerecha->addElement('Nº Personas', $presupuesto->getNumeroPersonas());
		
		$fila->addElemento($infoIzquierda,6);
		$fila->addElemento($infoDerecha,6);
		$contPresupuesto->addElement($fila);
		
		$ly->reg_contenido->addElement($contPresupuesto);
		
		
		// OFERTA
		$contOferta = new vstContenedor('Vuestra Oferta');
		
		//print_r($oferta);
		$pvpSinIva = $oferta->getPVPsinIva();
		$descuento = $oferta->getDescuento();
		//die();
		$tabla = '';
		//$tabla = '<form method="POST" action="guardaroferta">';
// 		$tabla .= sprintf(' <input type="hidden" name="presupuesto" value="%s"/>', $numeroPresupuesto);
// 		$tabla .= sprintf(' <input type="hidden" name="proveedor" value="%s"/>', $numeroProveedor);
		$tabla .= '<table class="precio_presupuesto">';
		$tabla .= '<tr><td></td><td>Descuento (%)</td><td>Base</td><td>Iva</td><td>Total</td></tr>';
		$tabla .= sprintf('<tr><td>Su precio</td><td></td><td><input type="text" name="suprecio" id="suprecio_base" onkeyup="javascript:calcular_cantidades()" value="%s"></td>
				<td><input type="text" readonly="readonly" class="lectura" id="suprecio_iva"></span></td>
				<td><input type="text" readonly  class="lectura" id="suprecio_total"></td></tr>',$pvpSinIva);
		$tabla .= sprintf('<tr><td>Descuento para nuestra empresa (%%)</td><td><input type="text" name="descuento_f" id="descuento_f" onkeyup="javascript:calcular_cantidades()" value="%s" style="text-align:right"></td>
				<td><input type="text" readonly  class="lectura" id="descuento_base"></td>
				<td><input type="text" readonly  class="lectura" id="descuento_iva"></td>
				<td><input type="text" readonly class="lectura" id="descuento_total"></td></tr>', $descuento);
		$tabla .= sprintf('<tr><td class="dato_final">Precio final que pagamos a su empresa</td>
				<td class="dato_final"></td>
				<td class="dato_final"><input type="text" readonly id="final_base"/></td>
				<td class="dato_final"><input  type="text" readonly id="final_iva"/></td>
				<td class="dato_final"><input  type="text" readonly id="final_total"/></td></tr>');
		$tabla .='</table>';
// 		$tabla .= '</form>';
		
		$a = new VstHTML($tabla);
		$f = new VstFila();
		$f->addElemento($a);
		$contOferta->addElement($f);
		
		$formOfertaOculta = new FRMOfertaOculta($oferta);
		$contOferta->addElement($formOfertaOculta);
		
		
		
		$ly->reg_contenido->addElement($contOferta);
		
	}
	
	public function guardarofertaAction(){
		$numeroPresupuesto = $this->getParametro('presupuesto');
		$numeroProveedor = $this->getParametro('proveedor');
		$precio = $this->getParametro('suprecio');
		$descuento = $this->getParametro('descuento');
		$oferta = new PresupuestoProveedor($numeroPresupuesto, $numeroProveedor);
		$oferta->setCoste($precio);
		$oferta->setDescuento($descuento);
		$oferta->save();
	}
	
	public function pedirofertaokAction(){
		
		AppLibreria::addJs('proveedor.js');
		
		$nombreVCC = 'VCC Isabel';
		$emailVCC = 'isabel.sanchez@limousinecc.com';
		$emailVCC = 'roque.martinez@limousinecc.com';
// 		$emailVCC = 'informatica@limousinecc.com';
		$emailVCC = 'colaboradores@extranetvcc.com';
		
		// Lógica
		$numeroPresupuesto = $this->getParametro('np');
		$presupuesto = new Presupuesto($numeroPresupuesto);
		$usuario = Usuario::UsuarioLoqueado();
		$numeroProveedor = $usuario->PROVEE;
		$oferta = new PresupuestoProveedor($numeroPresupuesto, $numeroProveedor);
		$proveedor = new Potencial($usuario->id);
		
		
		// Mandar un email de confirmación al proveedor como a VCC
		$email = new Email();
		$domain = $_SERVER['HTTP_HOST'];
		$url = "http://" . $domain;
		$email->url = $url;
		$email->addDestinatario($proveedor->getNombre(), $proveedor->getEmail());
		$email->addDestinatario($nombreVCC, $emailVCC);
		$email->setAsunto('Confirma se ha enviado oferta: '.$numeroPresupuesto);
		$email->setVista('oferta');
		$email->numeroPresupuesto = $numeroPresupuesto;
		$email->servicio = $presupuesto->getCodigoTipoServicio();
		$email->fechaHoraInicio = $presupuesto->getFechaHoraInicio();
		$email->vehiculo = $presupuesto->getVehiculoNombre();
		$email->origen = $presupuesto->getOrigenLugar().'<br/>'.$presupuesto->getOrigenDireccionProveedor();
		$email->destino = $presupuesto->getDestinoLugar().'<br/>'.$presupuesto->getDestinoDireccionProveedor();
		$email->comentarios = $presupuesto->getObservaciones();
		$email->itinerario = $presupuesto->getItinierario();
		
		$descuento = $oferta->getDescuento();
		$pvpCoste = $oferta->getCoste();

		$iva = 10;
		$precioBase = $oferta->getPVPsinIva();
		$precioIva = $precioBase * (($iva/100));
		$precioConIva = $precioBase + $precioIva;
		$descuentoBase = ($precioBase * ($descuento/100));
		$descuentoIva = $descuentoBase * (($iva/100));
		$descuentoConIva = $descuentoBase + $descuentoIva;
		$email->suPrecioBase = number_format($precioBase,2);
		$email->suPrecioIva = number_format($precioIva,2);
		$email->suPrecioConIva = number_format($precioConIva, 2);
		$email->descuento = $descuento;
		$email->descuentoBase = number_format($descuentoBase,2);
		$email->descuentoIva = number_format($descuentoIva,2);
		$email->descuentoConIva = number_format($descuentoConIva, 2);
		$email->finalBase = $pvpCoste;
		$email->finalIva = number_format(($pvpCoste * 10/100),2);
		$email->finalConIva = number_format($pvpCoste + $email->finalIva,2);
		
// 		$email->pvpsiniva = $oferta->getPVPsinIva();
// 		$email->descuento = $oferta->getDescuento();
// 		$email->coste = $oferta->getCoste();
// 		$email->iva = $oferta->getIvaImporte(21);
// 		$email->total = $oferta->getTotalConIva();
		$email->comentariosOferta = $oferta->getComentarios();
		
		//print_r($email);
		//echo $email->renderVista();
		$email->enviar();
// 		die();
		
		
		
		
		// Visual
		$ly = $this->getLayout();
		$ly->reg_titulo->setTitulo('Mensaje de Confirmación');
		$fila = new VstFila();
		
		$mensaje = new VstMensaje('Oferta Enviada', '<br>Se ha enviado un email con la información de la oferta a <b>'.$proveedor->getEmail().'</b>', VstMensaje::APP_EXITO);
		
		$msj = '<br/><br/><a class="btn btn-default" href="'.BASEURL.'/wproveedor/pediroferta/np/'.$numeroPresupuesto.'">Modificar Oferta</a>';
		$mensaje->addElement($msj);
		
		$fila->addElemento($mensaje);
		$ly->reg_contenido->addElement($fila);
		
		
		// PRESUPUESTO
		$contPresupuesto = new vstContenedor('Datos del viaje');
		$fila = new VstFila();
		$infoIzquierda = new VstInfo();
		$infoIzquierda->addElement('Servicio', $presupuesto->getCodigoTipoServicio());
		$infoIzquierda->addElement('Fecha y Hora', $presupuesto->getFechaHoraInicio());
		$infoIzquierda->addElement('Vehículo', $presupuesto->getVehiculoNombre());
		$infoIzquierda->addElement('Observaciones', $presupuesto->getObservaciones());
		$infoIzquierda->addElement('Itinerario', $presupuesto->getItinierario());
		$infoDerecha = new VstInfo();
		$infoDerecha->addElement('Origen', $presupuesto->getOrigenLugar().'<br/>'.$presupuesto->getOrigenDireccionProveedor());
		$infoDerecha->addElement('Destino', $presupuesto->getDestinoLugar().'<br/>'.$presupuesto->getDestinoDireccionProveedor());
		$fila->addElemento($infoIzquierda,6);
		$fila->addElemento($infoDerecha,6);
		$contPresupuesto->addElement($fila);
		$ly->reg_contenido->addElement($contPresupuesto);
		
		
		// OFERTA
		$contOferta = new vstContenedor('Oferta');
		
		$tabla = '';
		//$tabla = '<form method="POST" action="guardaroferta">';
		// 		$tabla .= sprintf(' <input type="hidden" name="presupuesto" value="%s"/>', $numeroPresupuesto);
		// 		$tabla .= sprintf(' <input type="hidden" name="proveedor" value="%s"/>', $numeroProveedor);
		$tabla .= '<div style="margin:auto; width:1000px"><table class="precio_presupuesto">';
		$tabla .= '<tr><td></td><td>Descuento (%)</td><td>Base</td><td>Iva</td><td>Total</td></tr>';
		$tabla .= sprintf('<tr><td>Su precio</td><td></td><td><input type="text" name="suprecio" id="suprecio_base" readonly="readonly" class="lectura" value="%s"></td>
				<td><input type="text" readonly="readonly" class="lectura" id="suprecio_iva"></span></td>
				<td><input type="text" readonly  class="lectura" id="suprecio_total"></td></tr>',$oferta->getCoste());
		$tabla .= sprintf('<tr><td>Descuento para nuestra empresa (%%)</td><td><input type="text" name="descuento_f" id="descuento_f" readonly="readonly" class="lectura" value="%s" style="text-align:right"></td>
				<td><input type="text" readonly  class="lectura" id="descuento_base"></td>
				<td><input type="text" readonly  class="lectura" id="descuento_iva"></td>
				<td><input type="text" readonly class="lectura" id="descuento_total"></td></tr>', $oferta->getDescuento());
		$tabla .= sprintf('<tr><td class="dato_final">Precio final que pagamos a su empresa</td>
				<td class="dato_final"></td>
				<td class="dato_final"><input type="text" readonly id="final_base"/></td>
				<td class="dato_final"><input  type="text" readonly id="final_iva"/></td>
				<td class="dato_final"><input  type="text" readonly id="final_total"/></td></div></tr>');
		$tabla .='</table><br/>';
		// 		$tabla .= '</form>';
		
		$a = new VstHTML($tabla);
		$f = new VstFila();
		$f->addElemento($a);
		$contOferta->addElement($f);

		$fila = new VstFila();
		$infoIzquierda = new VstInfo();
		$infoIzquierda->addElement('Comentarios', $oferta->getComentarios());
		// 		$infoIzquierda->addElement('Descuento', $oferta->getDescuento());
		// 		$infoDerecha = new VstInfo();
		// 		$infoDerecha->addElement('Coste', $oferta->getCoste());
		// 		$infoDerecha->addElement('Comentarios', $oferta->getComentarios());
		$fila->addElemento($infoIzquierda,11);
		// 		$fila->addElemento($infoDerecha,6);
		$contOferta->addElement($fila);
		
		
		$ly->reg_contenido->addElement($contOferta);
		
	}
	
	
	
	
	
	/*public function listadoAction(){
		
		// Lógica
		$lst = new LSTWproveedor();
		$frm = new FRMWproveedorBuscador();
		$lst->setFiltro($frm);
		
		// Visual
		$ly = $this->getLayout();
		$ly->reg_titulo->setTitulo('Lista de titulo_listado');
		$btnuevo = new VstBotonTitulo('/controller/editar', 'Crear registro', 'Nuevo');
		$ly->reg_titulo->addBoton($btnuevo);
		
		$cont = new VstContenedor('Filtrar');
		$cont->addElement($frm);
		$ly->reg_contenido->addElement($cont);
		$ly->reg_contenido->addElement($lst);	
		
	}
	
	public function editarAction(){
		
		// Lógica
		$id = $this->getParametro('id');
		$Wproveedor = new Wproveedor($id);
		$frm = new FRMWproveedor($Wproveedor);
		
		
		// Visual
		$ly = $this->getLayout();
		$ly->reg_titulo->setTitulo('Editar titulo_editar');
		$con = new VstContenedor('Editar');
		$con->addElement($frm);
		$ly->reg_contenido->addElement($con);
		
		
	}
	
	public function eliminarAction(){
		$id = (int) $this->getParametro('id');
		$elemento = new Wproveedor($id);
		try {
			$elemento->remove();
			AppAjax::setAccion('refrescar');
		} catch (Exception $e) {
			AppAjax::setMensajeError('grid', (string)$e);
		}
		
	}
	*/
		
}