public void BajaEntradas(Espectaculo pEspectaculo, int pCant)
        {
            int cantVendidasActual = pEspectaculo.EntradasVendidas + pCant;

            pEspectaculo.EntradasVendidas = cantVendidasActual;
            if (cantVendidasActual == pEspectaculo.Lugar.CapMax)
            {
                pEspectaculo.Lleno = true;
            }
        }
        public decimal TotalAPagar(Espectaculo pEspec, int pCant)
        {
            decimal total = 0;

            decimal cant = (decimal)pCant;

            total = pEspec.CalcularPrecio() * cant;

            return(total);
        }
        public bool CantidadDisponible(Espectaculo pEspectaculo, int pCant)
        {
            bool disponible = false;

            if (EntradasDisponibles(pEspectaculo) >= pCant)
            {
                disponible = true;
            }
            return(disponible);
        }
        public int EntradasDisponibles(Espectaculo pEspec)
        {
            int cantidad = 0;

            if (pEspec != null)
            {
                cantidad = pEspec.Lugar.CapMax - pEspec.EntradasVendidas;
            }
            return(cantidad);
        }
        public Reserva(Espectaculo pEspec, Usuario pUsuario, int pCant, decimal pTotal)
        {
            this.IdReserva = ultId + 1;
            ultId          = this.IdReserva;

            this.espectaculo = pEspec;
            this.usuario     = pUsuario;
            this.fecha       = DateTime.Now;
            this.cantidad    = pCant;
            this.total       = pTotal;
        }
        //LO LLAMA EL SERIALIZADOR AL DESERIALIZAR EL OBJETO
        public Reserva(SerializationInfo info, StreamingContext context)
        {
            this.idReserva = (int)info.GetValue("id", typeof(int));
            Reserva.ultId  = (int)info.GetValue("ultId", typeof(int));

            this.espectaculo = (Espectaculo)info.GetValue("espectaculo", typeof(Espectaculo));
            this.fecha       = (DateTime)info.GetValue("fecha", typeof(DateTime));
            this.cantidad    = (int)info.GetValue("cantidad", typeof(int));
            this.total       = (decimal)info.GetValue("total", typeof(decimal));
            this.paga        = (bool)info.GetValue("paga", typeof(bool));
            this.usuario     = (Usuario)info.GetValue("usuario", typeof(Usuario));
        }
        public Espectaculo BuscarEspectaculoPorID(int pId)
        {
            Espectaculo espect = null;

            foreach (Espectaculo e in instanciaEspectaculo.espectaculos)
            {
                if (e.IdEspec == pId)
                {
                    espect = e;
                }
            }
            return(espect);
        }
        public Espectaculo BuscarEspectaculo(string pNombre)
        {
            Espectaculo espect = null;

            foreach (Espectaculo e in instanciaEspectaculo.espectaculos)
            {
                if (e.Nombre.Equals(pNombre))
                {
                    espect = e;
                }
            }
            return(espect);
        }
예제 #9
0
        //public void CargaDatosReserva()
        //{
        //    //Reserva espectaculo Estandar
        //    Lugar lugar1 = new Dominio.Lugar("Teatro Solis", "Reconquista 256", 19503323, 1100);
        //    DateTime fechaEspec1 = new DateTime(2016, 08, 19);
        //    TimeSpan horaEspec1 = new TimeSpan(20, 00, 00);
        //    Estandar espec1 = new Estandar("Temporada Ópera: Don Pasquale", "Estandar", fechaEspec1, 120, horaEspec1, lugar1, 1500, "Opera", "Joya del belcanto italiano desnuda con mucho humor.", false);
        //    Usuario usuario1 = new Usuario("45504551", "Maria Fernandez", "*****@*****.**", "Mercedes 562", 24012872, "mariafernandez", false);
        //    instanciaUsuario.AltaReserva(espec1, usuario1, 2, 3000);

        //    Lugar lugar2 = new Dominio.Lugar("Auditorio del Sodre", "Sarandí 450", 29007084, 1885);
        //    DateTime fechaEspec4 = new DateTime(2016, 08, 19);
        //    TimeSpan horaEspec4 = new TimeSpan(22, 30, 00);
        //    Estandar espec2 = new Estandar("Queyi - Canción azul que viaja", "Estandar", fechaEspec4, 60, horaEspec4, lugar2, 600, "Musical", "Un concierto íntimo para disfrutar del arte y la dulce voz de una gran artista.", true);
        //    Usuario usuario2 = new Usuario("39000821", "Juan Perez", "*****@*****.**", "Ledesma 890", 24089072, "juanperez", false);
        //    instanciaUsuario.AltaReserva(espec2, usuario2, 5, 1300);

        //    //Reserva espectaculo VIP
        //    DateTime fechaEspec3 = new DateTime(2016, 09, 02);
        //    TimeSpan horaEspec3 = new TimeSpan(21, 00, 00);
        //    VIP espec3 = new VIP("Así se baila el tango", "VIP", fechaEspec3, 60, horaEspec3, lugar2, 350, "Danza", "Todo lo que usted quería saber sobre el baile del tango y no se atrevía a preguntar", 10);
        //    Usuario usuario3 = new Usuario("12548677", "Pedro Favalez", "*****@*****.**", "Scoseria 162", 27122821, "pedrofavalez", false);
        //    instanciaUsuario.AltaReserva(espec3, usuario3, 3, 1155);


        //}


        public bool AltaReserva(Espectaculo pEspectaculo, Usuario pUsuario, int pCant, decimal pTotal)
        {
            bool resultado = false;

            if (pEspectaculo != null && pCant > 0 && pTotal >= 0)
            {
                Reserva reserva = new Reserva(pEspectaculo, pUsuario, pCant, pTotal);
                //Doy de alta la reserva para el usuario

                pUsuario.Reservas.Add(reserva);
                resultado = true;
            }
            return(resultado);
        }