예제 #1
0
        private Compra altaCompraObjeto(string clienteId, int idExcursion, int paxMayores, int paxMenores, DateTime fecha)
        {
            Compra nuevaCompra = null;

            if (clienteId != null)
            {
                Cliente   cliente   = buscarClientePorId(clienteId);
                Excursion excursion = buscarExcursionPorId(idExcursion);

                if (cliente != null)
                {
                    if (cliente != null && excursion != null && paxMayores > 0 && paxMenores >= 0)
                    {
                        int cantPax         = paxMayores + paxMenores;
                        int stockDisponible = excursion.checkStock();
                        if (cantPax <= stockDisponible)
                        {
                            double montoTotal = cotizarExcursion(excursion);
                            montoTotal *= (paxMayores + paxMenores);

                            nuevaCompra = new Compra(cliente, excursion, montoTotal, paxMayores, paxMenores, fecha);
                            listaCompras.Add(nuevaCompra);
                            excursion.updateStock(cantPax);
                        }
                    }
                }
            }
            return(nuevaCompra);
        }
예제 #2
0
        public double cotizarExcursionUY(Excursion miExcursion)
        {
            double costoUy = 0;

            costoUy = miExcursion.convertirExcursionUY(cotizacion);

            return(costoUy);
        }
예제 #3
0
        // funciones que retornan el precio de la excursion
        public double cotizarExcursion(Excursion miExcursion)
        {
            double costoUy = 0;

            costoUy = miExcursion.calcCostoTotalExcursion();

            return(costoUy);
        }
예제 #4
0
 public Compra(Cliente cliente, Excursion excursion, double montoTotal, int paxMayores, int paxMenores, DateTime fecha)
 {
     this.id         = Compra.ultId;
     Compra.ultId   += 1;
     this.cliente    = cliente;
     this.excursion  = excursion;
     this.montoTotal = montoTotal;
     this.paxMayores = paxMayores;
     this.paxMenores = paxMenores;
     this.fecha      = fecha;
 }
예제 #5
0
        // metodo para verificar existencia de destino.
        private bool ValidarDestinoExcursion(string pais, string ciudad, Excursion excursion)
        {
            bool existeDestino = false;

            foreach (Destino destino in excursion.Destinos)
            {
                if (destino.Pais == pais && destino.Ciudad == ciudad)
                {
                    existeDestino = true;
                }
            }
            return(existeDestino);
        }
예제 #6
0
        //
        public Excursion buscarExcursionPorId(int idExcursion)
        {
            Excursion miExcursion = null;
            int       i           = 0;

            while (i < listaExcursiones.Count() && miExcursion == null)
            {
                if (listaExcursiones[i].Id == idExcursion)
                {
                    miExcursion = listaExcursiones[i];
                }
                i++;
            }
            return(miExcursion);
        }
예제 #7
0
        // FIN CLIENTE


        // COMPRA
        #region Compra

        public string altaCompra(string clienteId, int idExcursion, int paxMayores, int paxMenores)
        {
            string msgCompra = "me faltan datos";

            if (clienteId != null)
            {
                Cliente   cliente   = buscarClientePorId(clienteId);
                Excursion excursion = buscarExcursionPorId(idExcursion);
                if (cliente != null)
                {
                    if (cliente != null && excursion != null && paxMayores > 0 && paxMenores >= 0)
                    {
                        int cantPax         = paxMayores + paxMenores;
                        int stockDisponible = excursion.checkStock();
                        if (cantPax <= stockDisponible)
                        {
                            DateTime fecha       = DateTime.Now;
                            double   montoPerPax = cotizarExcursion(excursion);
                            double   montoTotal  = montoPerPax * cantPax;
                            Compra   nuevaCompra = new Compra(cliente, excursion, montoTotal, paxMayores, paxMenores, fecha);
                            listaCompras.Add(nuevaCompra);
                            excursion.updateStock(cantPax);
                            msgCompra = "Disfrute su excursion!";
                        }
                        else
                        {
                            msgCompra = "Solo quedan " + excursion.Stock + " lugares disponibles.";
                        }
                    }
                }
                else
                {
                    msgCompra = "Usuario no habilidato para hacer esta compra";
                }
            }
            return(msgCompra);
        }