function CarritoCompraImpl(){
this.recalcularOrdenesCompra=recalcularOrdenesCompraCarritoCompraImpl;
this.calcularTotalCarritoCompra=calcularTotalCarritoCompraCarritoCompraImpl;
this.getOrdenCompraPorCodigo=getOrdenCompraPorCodigoCarritoCompraImpl;
this.getCantidadProductosCarrito=getCantidadProductosCarritoCarritoCompraImpl;
this.getCantidadProductosDisponiblesCarrito=getCantidadProductosDisponiblesCarritoCarritoCompraImpl;
this.getCantidadValesCarrito=getCantidadValesCarritoCarritoCompraImpl;
}
function recalcularOrdenesCompraCarritoCompraImpl(_1,_2,_3,_4){
var i;
for(i=0;i<this.ordenesCompra.length;i++){
this.ordenesCompra[i].recalcularOrdenCompra(_1,_2,_3,_4);
}
this.calcularTotalCarritoCompra();
}
function calcularTotalCarritoCompraCarritoCompraImpl(){
var i;
this.total=0;
for(i=0;i<this.ordenesCompra.length;i++){
if(this.ordenesCompra[i].isDisponible()){
this.total+=this.ordenesCompra[i].montoTotal;
}
}
}
function getOrdenCompraPorCodigoCarritoCompraImpl(_7){
var i;
for(i=0;i<this.ordenesCompra.length;i++){
if(this.ordenesCompra[i].codigo==_7){
return this.ordenesCompra[i];
}
}
return null;
}
function getCantidadProductosCarritoCarritoCompraImpl(){
var i;
var c;
c=0;
for(i=0;i<this.ordenesCompra.length;i++){
c+=this.ordenesCompra[i].productosCompra.length;
}
return c;
}
function getCantidadProductosDisponiblesCarritoCarritoCompraImpl(){
var i;
var c;
c=0;
for(i=0;i<this.ordenesCompra.length;i++){
c+=this.ordenesCompra[i].getCantidadProductosDisponibles();
}
return c;
}
function getCantidadValesCarritoCarritoCompraImpl(){
var i;
var c;
c=0;
for(i=0;i<this.ordenesCompra.length;i++){
c+=this.ordenesCompra[i].valesCompra.length;
}
return c;
}
function CarritoOrdenCompraImpl(){
this.tipoPagoAceptadoEfectivo;
this.tiposPagoAceptadoTarjetaCredito;
this.isDisponible=isDisponibleCarritoOrdenCompraImpl;
this.aplicaParaCompra=aplicaParaCompraCarritoOrdenCompraImpl;
this.aceptaTipoPago=aceptaTipoPagoCarritoOrdenCompraImpl;
this.aceptaEfectivo=aceptaEfectivoCarritoOrdenCompraImpl;
this.aceptaTarjetasCredito=aceptaTarjetasCreditoCarritoOrdenCompraImpl;
this.tieneProductosDisponibles=tieneProductosDisponiblesCarritoOrdenCompraImpl;
this.getCantidadProductosDisponibles=getCantidadProductosDisponiblesCarritoOrdenCompraImpl;
this.tieneValesDisponibles=tieneValesDisponiblesCarritoOrdenCompraImpl;
this.getLocalDeAtencion=getLocalDeAtencionCarritoOrdenCompraImpl;
this.recalcularOrdenCompra=recalcularOrdenCompraCarritoOrdenCompraImpl;
}
function isDisponibleCarritoOrdenCompraImpl(){
return this.flagDisponibilidad==ConstantesMaePar.CARRITO_DISP_LOCAL_DISPONIBLE_VALOR;
}
function aplicaParaCompraCarritoOrdenCompraImpl(){
return this.isDisponible()&&(this.tieneProductosDisponibles()||this.tieneValesDisponibles());
}
function tieneProductosDisponiblesCarritoOrdenCompraImpl(){
var i;
for(i=0;i<this.productosCompra.length;i++){
if(this.productosCompra[i].isDisponible()){
return true;
}
}
return false;
}
function getCantidadProductosDisponiblesCarritoOrdenCompraImpl(){
var i;
var c;
c=0;
for(i=0;i<this.productosCompra.length;i++){
if(!this.productosCompra[i].isNotDisponibleRazonProducto()){
c++;
}
}
return c;
}
function tieneValesDisponiblesCarritoOrdenCompraImpl(){
var i;
for(i=0;i<this.valesCompra.length;i++){
if(this.valesCompra[i].isDisponible()){
return true;
}
}
return false;
}
function aceptaTipoPagoCarritoOrdenCompraImpl(_13){
if(this.tipoPagoAceptadoEfectivo!=null&&this.tipoPagoAceptadoEfectivo.codigo==_13){
return true;
}
for(var i=0;i<this.tiposPagoAceptadoTarjetaCredito.length;i++){
if(this.tiposPagoAceptadoTarjetaCredito[i].codigo==_13){
return true;
}
}
return false;
}
function aceptaEfectivoCarritoOrdenCompraImpl(){
if(this.tipoPagoAceptadoEfectivo!=null){
return true;
}
}
function aceptaTarjetasCreditoCarritoOrdenCompraImpl(){
return this.tiposPagoAceptadoTarjetaCredito!=null&&this.tiposPagoAceptadoTarjetaCredito.length>0;
}
function getLocalDeAtencionCarritoOrdenCompraImpl(_15,_16,_17){
if(_15){
return this.restaurante.buscarLocalAtiendeDistrito(_16);
}else{
return this.restaurante.buscarLocalAtiendeDistrito(_17.distrito.codigo);
}
}
function recalcularOrdenCompraCarritoOrdenCompraImpl(_18,_19,_1a,_1b){
var i;
this.montoSubTotal=0;
this.montoSubTotalSoloProductos=0;
for(i=0;i<this.productosCompra.length;i++){
if(!this.productosCompra[i].isNotDisponibleRazonProducto()){
this.montoSubTotalSoloProductos+=this.productosCompra[i].montoSubTotal;
this.montoSubTotal+=this.productosCompra[i].montoSubTotal;
}
}
for(i=0;i<this.valesCompra.length;i++){
if(!this.valesCompra[i].isNotDisponibleRazonProducto()){
this.montoSubTotal+=this.valesCompra[i].montoSubTotal;
}
}
if(!this.tieneProductosDisponibles()){
this.montoCargoDelivery=0;
}else{
this.montoCargoDelivery=this.restaurante.getRecargoPorDelivery(_18,_19,_1a,_1b,this.montoSubTotalSoloProductos);
}
this.montoTotalSoloProductos=this.montoSubTotalSoloProductos+this.montoCargoDelivery;
this.montoTotal=this.montoSubTotal+this.montoCargoDelivery;
}
function CarritoProductoCompraImpl(){
this.isDisponible=isDisponibleCarritoProductoCompraImpl;
this.isNotDisponibleRazonProducto=isNotDisponibleRazonProductoCarritoProductoCompraImpl;
}
function isDisponibleCarritoProductoCompraImpl(){
return this.flagDisponibilidad==ConstantesMaePar.CARRITO_DISP_PRODUCTO_DISPONIBLE_VALOR;
}
function isNotDisponibleRazonProductoCarritoProductoCompraImpl(){
return !this.isDisponible()&&this.flagDisponibilidad!=ConstantesMaePar.CARRITO_DISP_PRODUCTO_DEP_LOCAL_VALOR;
}
function CarritoValeCompraImpl(){
this.isDisponible=isDisponibleCarritoValeCompraImpl;
this.isNotDisponibleRazonProducto=isNotDisponibleRazonProductoValeCompraImpl;
}
function isDisponibleCarritoValeCompraImpl(){
return this.flagDisponibilidad==ConstantesMaePar.CARRITO_DISP_PRODUCTO_DISPONIBLE_VALOR;
}
function isNotDisponibleRazonProductoValeCompraImpl(){
return !this.isDisponible()&&this.flagDisponibilidad!=ConstantesMaePar.CARRITO_DISP_VALE_DEP_LOCAL_VALOR;
}
function HistEstadoOrdenCompraImpl(){
}
function OrdenCompraImpl(){
}
function OrdenCompra(){
}
function ProductoCompraImpl(){
}
function ProductoPedidoComboImpl(){
}
function ProductoPedidoCompuestoPartesImpl(){
}
function ProductoPedidoOfertaXporYImpl(){
}
function ProductoPedidoImpl(){
}
function ProductoPedidoInsumoImpl(){
}
function ProductoPedidoNormalDinamicoImpl(){
}
function ProductoPedidoNormalEstaticoImpl(){
}
function ProductoPedidoOtroAdicionalImpl(){
}
function ValeCompraImpl(){
}
function OrdenCompraMisterSushi(){
this.usuario_email="";
this.usuario_direccion="";
this.usuario_documentoIdentidad="";
this.usuario_telefono="";
this.usuario_razonSocial="";
this.usuario_documentoFacturacion="";
this.usuario_nombre="";
this.usuario_apaterno="";
this.usuario_amaterno="";
this.usuario_ubicacion="";
this.usuario_celular="";
this.usuario_fecnac="";
this.pedido_idPedido="";
this.pedido_idMediopago="";
this.pedido_diaPedido="";
this.pedido_mesPedido="";
this.pedido_anoPedido="";
this.pedido_documento="";
this.pedido_fechaEntrega="";
this.pedido_idHorario="";
this.pedido_idDivisionpais="";
this.pedido_direccionEntrega="";
this.pedido_referenciaEntrega="";
this.pedido_ubicacionEntrega="";
this.pedido_mensaje="";
this.pedido_recargo="";
this.pedido_flagFactura="";
this.pedido_ndestinatario="";
this.pedido_pdestinatario="";
this.pedido_mdestinatario="";
this.pedido_telefono="";
this.pedido_razonSocial="";
this.pedido_documentoFacturacion="";
this.pedido_tipoCambio="";
this.pedido_fechaPedido="";
}


