示例#1
0
        public void DevolverPeliculaTest()
        {
            AlquileresCN alquileresCN = new AlquileresCN();
            PeliculasCN  peliculasCN  = new PeliculasCN();
            Pelicula     pelicula;
            string       nifSocio          = "00000000T";
            string       codBarrasPelicula = "0686983675479";
            int          unidadesAlquiladas;
            Alquiler     alquiler;
            AlquileresAD alquileresAD = new AlquileresAD();
            Historico    historico;

            // Necesitamos ser administrador para devolver, impersonamos
            ConnectionHelper.ImpersonateAdmin();

            // Recuperamos datos para comprobar
            pelicula           = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
            unidadesAlquiladas = pelicula.UnidadesAlquiladas;

            using (TransactionScope tx = new TransactionScope())
            {
                alquileresCN.AlquilarPelicula(nifSocio, codBarrasPelicula);
                alquileresCN.RecogerPelicula(nifSocio, codBarrasPelicula);
                alquileresCN.DevolverPelicula(nifSocio, codBarrasPelicula, out historico);

                pelicula = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
                Assert.AreEqual(unidadesAlquiladas, pelicula.UnidadesAlquiladas);

                Assert.AreEqual((Decimal)0.15, historico.Precio);

                alquiler = alquileresAD.ObtenerAlquilerSinDevolverPorSocioPelicula(nifSocio, codBarrasPelicula);
                Assert.IsNull(alquiler);
            }
        }
示例#2
0
        public void AlquilarPeliculaTest()
        {
            AlquileresCN alquileresCN = new AlquileresCN();
            PeliculasCN  peliculasCN  = new PeliculasCN();
            Pelicula     pelicula;
            AlquileresAD alquileresAD      = new AlquileresAD();
            string       nifSocio          = "00000000T";
            string       codBarrasPelicula = "0686983675479";
            int          unidadesAlquiladas;
            Alquiler     alquiler;

            // Necesitamos ser administrador para alquilar, impersonamos
            ConnectionHelper.ImpersonateAdmin();

            // Recuperamos datos para comprobar
            pelicula           = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
            unidadesAlquiladas = pelicula.UnidadesAlquiladas;

            using (TransactionScope tx = new TransactionScope())
            {
                alquileresCN.AlquilarPelicula(nifSocio, codBarrasPelicula);

                pelicula = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
                Assert.AreEqual(unidadesAlquiladas + 1, pelicula.UnidadesAlquiladas);

                alquiler = alquileresAD.ObtenerAlquilerSinRecogerPorSocioPelicula(nifSocio, codBarrasPelicula);
                Assert.IsNotNull(alquiler);
                Assert.IsFalse(alquiler.FechaRecogida.HasValue);
            }
        }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string      accion;
        string      codBarras;
        Pelicula    pelicula;
        Socio       socio;
        PeliculasCN peliculasCN = new PeliculasCN();
        UsuariosCN  usuariosCN  = new UsuariosCN();

        codBarras = Server.HtmlEncode(Request.QueryString["CodBarras"]);
        accion    = Server.HtmlEncode(Request.QueryString["accion"]);

        imgCaratula.Src = "../Caratula.aspx?Ancho=100&Alto=133&CodBarras=" + codBarras;

        pelicula = peliculasCN.ObtenerPeliculaPorCodBarras(codBarras, false, false);
        socio    = (Socio)usuariosCN.ObtenerMiUsuario();

        Titulo.InnerText = pelicula.Titulo;
        Saldo.InnerText  = socio.Saldo.Value.ToString() + " €";

        if (accion.ToLower() == "alquilar")
        {
            lnkComprar.Visible  = false;
            lnkAlquilar.Visible = true;
            Precio.InnerText    = "0,15 € / hora";
        }
        else
        {
            lnkComprar.Visible  = true;
            lnkAlquilar.Visible = false;
            Precio.InnerText    = "21,00 €";
        }
    }
示例#4
0
        public void ComprarPeliculaTest()
        {
            ComprasCN   comprasCN   = new ComprasCN();
            PeliculasCN peliculasCN = new PeliculasCN();
            Pelicula    pelicula;
            string      nifSocio          = "00000000T";
            string      codBarrasPelicula = "0686983675479";
            int         unidadesVenta;

            // Necesitamos ser administrador para comprar, impersonamos
            ConnectionHelper.ImpersonateAdmin();

            // Recuperamos datos para comprobar
            pelicula      = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
            unidadesVenta = pelicula.UnidadesVenta;

            using (TransactionScope tx = new TransactionScope())
            {
                comprasCN.ComprarPelicula(nifSocio, codBarrasPelicula);

                pelicula = peliculasCN.ObtenerPeliculaPorCodBarras(codBarrasPelicula, false, false);
                Assert.AreEqual(unidadesVenta - 1, pelicula.UnidadesVenta);
            }
        }
示例#5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string      codBarras;
        Pelicula    pelicula;
        PeliculasCN peliculasCN;
        bool        modalidadVenta, modalidadAlquiler;

        codBarras = Server.HtmlEncode(Request.QueryString["CodBarras"]);
        if (codBarras == null)
        {
            return;
        }

        pelicula = (Pelicula)Cache["Pelicula_" + codBarras];

        if (pelicula == null)
        {
            peliculasCN = new PeliculasCN();
            pelicula    = peliculasCN.ObtenerPeliculaPorCodBarras(codBarras, true, true);
            if (pelicula == null)
            {
                return;
            }

            Cache["Pelicula_" + codBarras] = pelicula;
        }

        // Mostrar info de película
        lblTitulo.InnerText = pelicula.Titulo;
        Caratula.Src        = "Caratula.aspx?CodBarras=" + codBarras + "&Ancho=300&Alto=380";

        if (pelicula.DisponibleAlquiler == 0)
        {
            containerAlquilar.Visible = false;
        }
        else
        {
            containerNotificar.Visible = false;
        }
        if (pelicula.DisponibleVenta == 0)
        {
            containerComprar.Visible = false;
        }

        Sinopsis.InnerText    = pelicula.Sinopsis;
        Duracion.InnerText    = pelicula.Duracion + " min";
        Evaluacion.Evaluacion = pelicula.PuntuacionMedia;
        Genero.InnerText      = GeneroToString(pelicula.Genero);

        VideoURL = pelicula.URLTrailer;

        lnkComprar.NavigateUrl  = "~/Secure/ComprarAlquilar.aspx?Accion=comprar&CodBarras=" + pelicula.CodBarras;
        lnkAlquilar.NavigateUrl = "~/Secure/ComprarAlquilar.aspx?Accion=alquilar&CodBarras=" + pelicula.CodBarras;

        modalidadAlquiler = modalidadVenta = false;
        if (pelicula.UnidadesVenta + pelicula.UnidadesVentaAlquiler > 0)
        {
            modalidadVenta = true;
        }
        if (pelicula.UnidadesAlquiler + pelicula.UnidadesVentaAlquiler > 0)
        {
            modalidadAlquiler = true;
        }

        if (modalidadVenta && modalidadAlquiler)
        {
            Modalidad.InnerText = "Venta y alquiler";
        }
        else if (modalidadAlquiler)
        {
            Modalidad.InnerText = "Alquiler";
        }
        else
        {
            Modalidad.InnerText = "Venta";
        }

        Reparto.DataSource = pelicula.ActoresPeliculas;
        Reparto.DataBind();
    }
示例#6
0
    public Pelicula Peliculas_ObtenerPeliculaPorCodBarras(string codBarras, bool incluirActores, bool incluirPuntuacionMedia)
    {
        PeliculasCN peliculasCN = new PeliculasCN();

        return(peliculasCN.ObtenerPeliculaPorCodBarras(codBarras, incluirActores, incluirPuntuacionMedia));
    }