예제 #1
0
        public double DevolverVenta(long idVenta)
        {
            double precio = 0;

            VentasDTO ventadto = null;

            ventadto = Read(idVenta);
            Venta venta = ventaDTOtoVenta(ventadto);

            if (ventadto != null) //Comprobación de que se ha realizado la lectura de la venta en la base de datos.
            {
                using (var context = new DatosDB())
                {
                    Devolucion devolucion = new Devolucion();

                    devolucion.ID             = venta.ID;
                    devolucion.NEntradas      = venta.NEntradas;
                    devolucion.NEntradasJoven = venta.NEntradasJoven;
                    devolucion.Precio         = venta.Precio;
                    devolucion.SesionID       = venta.SesionID;

                    context.Devoluciones.Add(devolucion);
                    context.SaveChanges();
                }
                precio = venta.Precio;
                Delete(venta.ID);
            }
            return(precio);
        }
예제 #2
0
        private Sesion ReadSesion(long idSesion)
        {
            Sesion sesion = null;

            using (var context = new DatosDB())
            {
                sesion = context.Sesiones.Where(s => s.SesionId == idSesion).FirstOrDefault();
            }
            return(sesion);
        }
예제 #3
0
        public Sala ReadSala(long idSala)
        {
            Sala sala = null;

            using (var context = new DatosDB())
            {
                sala = context.Salas.Find(idSala);
            }
            return(sala);
        }
예제 #4
0
        public Sesion ReadSesion(long idSesion)
        {
            Sesion sesion = null;

            using (var context = new DatosDB())
            {
                sesion = context.Sesiones.Find(idSesion);
            }
            return(sesion);
        }
예제 #5
0
        public IList <VentasDTO> List()
        {
            IList <VentasDTO> listaDTO;

            using (var context = new DatosDB())
            {
                IList <Venta> ventaLista = context.Ventas.ToList <Venta>();
                listaDTO = conversionLista(ventaLista);
            }
            return(listaDTO);
        }
예제 #6
0
        /// <summary>
        /// Calcula el número de entradas vendidas para la sala dada.
        /// </summary>
        /// <param name="idSala">Identificador de la sala.</param>
        /// <returns>Número de entradas vendidas.</returns>
        public int CalcularEntradasVendidasSala(long idSala, DateTime fecha)
        {
            int resultado = 0;

            DateTime fechaInicio = new DateTime(fecha.Year, fecha.Month, fecha.Day, Constantes.HORA_INICIO, Constantes.MINUTO_INICIO, 0, 0);
            DateTime fechaFin    = new DateTime(fecha.Year, fecha.Month, fecha.Day, Constantes.HORA_FIN, Constantes.MINUTO_FIN, 0, 0);

            using (var context = new DatosDB())
            {
                resultado = context.Database.SqlQuery <int>("select sum(v.NEntradas) as totalVentas from Ventas as v,Sesions s,Salas sl where s.SalaID=sl.SalaID and v.SesionID=s.ID and s.fecha between  convert(datetime,@dateI) and convert(datetime,@dateF) and sl.SalaID=@idSala group by sl.SalaID", new SqlParameter("dateI", fechaInicio), new SqlParameter("dateF", fechaFin), new SqlParameter("idSala", idSala)).FirstOrDefault();
            }
            return(resultado);
        }
예제 #7
0
        public VentasDTO Read(long idVenta)
        {
            Venta     venta = null;
            VentasDTO DTO   = null;

            using (var context = new DatosDB())
            {
                venta = context.Ventas.Find(idVenta);
                DTO   = ventaToDTO(venta);
            }

            return(DTO);
        }
예제 #8
0
        /// <summary>
        /// Calcula el importe total de las ventas de una sesión dada.
        /// </summary>
        /// <param name="idSesion">Identificador de la sesión.</param>
        /// <returns>Importe total en euros.</returns>
        public double CalcularTotalVentasSesion(long idSesion)
        {
            double   resultado   = 0.0;
            Sesion   s           = ReadSesion(idSesion);
            DateTime fechaInicio = new DateTime(s.fecha.Year, s.fecha.Month, s.fecha.Day, Constantes.HORA_INICIO, Constantes.MINUTO_INICIO, 0, 0);
            DateTime fechaFin    = new DateTime(s.fecha.Year, s.fecha.Month, s.fecha.Day, Constantes.HORA_FIN, Constantes.MINUTO_FIN, 0, 0);

            using (var context = new DatosDB())
            {
                resultado = context.Database.SqlQuery <double>("select sum(v.precio) as totalVentas from Ventas as v,Sesions s,Salas sl where s.SalaID=sl.SalaID and v.SesionID=s.ID and s.fecha between  convert(datetime,@dateI) and convert(datetime,@dateF) and s.ID=@idSesion ", new SqlParameter("dateI", fechaInicio), new SqlParameter("dateF", fechaFin), new SqlParameter("idSesion", idSesion)).FirstOrDefault();
            }
            return(resultado);
        }
예제 #9
0
        public IList <SesionDTO> List()
        {
            IList <SesionDTO> resultado = new List <SesionDTO>();

            using (var context = new DatosDB())
            {
                foreach (Sesion sesion in context.Sesiones.ToList <Sesion>())
                {
                    resultado.Add(SesionToSesionDTO(sesion));
                }
            }

            return(resultado);
        }
예제 #10
0
        public VentasDTO Create(VentasDTO venta)
        {
            Venta v = ventaDTOtoVenta(venta);

            using (var context = new DatosDB())
            {
                v = context.Ventas.Add(v);
                context.SaveChanges();
                venta = ventaToDTO(v);
            }


            return(venta);
        }
예제 #11
0
        //cambio de entradas,implica cambio de sesion
        //venta ya existente id distinto de menos uno update
        // Venta Update(int idVenta,Sesion sesion);
        public VentasDTO Update(long idVenta, VentasDTO venta)
        {
            Venta     nuevaVenta = ventaDTOtoVenta(venta);
            VentasDTO cambio     = null;

            using (var context = new DatosDB())
            {
                Venta antiguaventa = context.Ventas.Find(idVenta);
                context.Entry(antiguaventa).CurrentValues.SetValues(nuevaVenta);
                context.SaveChanges();
                cambio = ventaToDTO(antiguaventa);
            }

            return(cambio);//devuelve objeto cambiado si existia una venta con ese id sino un null
        }
예제 #12
0
        public SesionDTO Cerrar(long id)
        {
            Sesion s = ReadSesion(id);

            if (s.Abierto)
            {
                using (var context = new DatosDB())
                {
                    s         = context.Sesiones.Find(id);
                    s.Abierto = false;

                    context.SaveChanges();
                }
            }
            return(SesionToSesionDTO(s));
        }
예제 #13
0
        public VentasDTO Delete(long idVenta)
        {
            Venta     venta = null;
            Venta     devolucion;
            VentasDTO v = null;

            using (var context = new DatosDB())
            {
                devolucion = context.Ventas.Find(idVenta);
                venta      = context.Ventas.Remove(devolucion);
                context.SaveChanges();
                v = ventaToDTO(venta);
            }

            return(v);
        }
예제 #14
0
        public IList <VentasDTO> List(long idSesion)
        {
            IList <VentasDTO> listaDTO = new List <VentasDTO>();

            using (var context = new DatosDB())
            {
                IList <Venta> ventaLista = context.Ventas.ToList <Venta>();
                foreach (Venta venta in ventaLista)
                {
                    if (venta.SesionID == idSesion)
                    {
                        listaDTO.Add(ventaToDTO(venta));
                    }
                }
            }
            return(listaDTO);//devuelve una lista  de las sesion en una sala
        }