public void TestMethodIngresarVenta()
        {
            var gestorDAO = new GestorDAOSql();
            var ventaDAO = new VentaDAOSql(gestorDAO);

            var empleado = new Empleado();
            empleado.ID = 2;

            var pasajero = new Pasajero();
            pasajero.ID = 3;

            var bus = new Bus();
            bus.ID = 3;

            var conductor = new Conductor();
            conductor.ID = 2;

            var ruta = new Ruta();
            ruta.ID = 1;

            var itinerario = new Itinerario("19/11/2015", "23:30:00", 20, bus, conductor, ruta);
            itinerario.ID = 22;

            var venta = new Venta("23", "1234324", "S99930", itinerario, empleado, pasajero, 30.5m);

            Assert.AreEqual(true, ventaDAO.Ingresar(venta));
        }
        public ActionResult NuevaVenta(FormCollection frm)
        {
            MantenedorPasajeroServicio objpasajeroid = new MantenedorPasajeroServicio();
            MantenedorEmpleadoServicio objempleado = new MantenedorEmpleadoServicio();
            IngresarItinerarioServicio objitinerario = new IngresarItinerarioServicio();

            Venta venta = new Venta();

            venta.FechaCompra = frm["Fecha"];
            venta.Asiento = frm["Asiento"];
            venta.NumeroBoleto = frm["NumeroBoleto"];
            venta.CodigoSerie = frm["CodigoSerie"];
            venta.Estado = Convert.ToBoolean(frm["Estado"]);
            venta.Precio = Convert.ToInt32(frm["Precio"]);

            var objpas = Convert.ToInt16(Request.Form["listarpasajeros"]);
            venta.Pasajero = objpasajeroid.BuscarID(objpas);

            var objemp = Convert.ToInt16(Request.Form["listarempleados"]);
            venta.Empleado = objempleado.Buscar(objemp);

            var objiti = Convert.ToInt16(Request.Form["listaritinerarios"]);
            venta.Itinerario = objitinerario.Buscar(objiti);

            Boolean inserto = objRealizarVenta.Ingresar(venta);

            if (inserto)
            {
                return RedirectToAction("MostrarVenta", "Venta", new { mensaje = "Se registró correctamente la Venta." });
            }
            else
            {
                return RedirectToAction("RealizarVenta", "Venta", new { error = "No se pudo insertar." });
            }
        }
        public List<Venta> Listar()
        {
            SqlCommand comando = null;
            string procedimientoAlmacenado = "sp_ListarTotalVentas";
            var listaVentas = new List<Venta>();
            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                var dataReader = comando.ExecuteReader();

                while (dataReader.Read())
                {
                    var venta = new Venta();

                    var pasajero = new Pasajero();
                    pasajero.Nombres = dataReader[0].ToString();
                    pasajero.ApellidoPaterno = dataReader[1].ToString();
                    pasajero.ApellidoMaterno = dataReader[2].ToString();

                    venta.Pasajero = pasajero;
                    venta.FechaCompra = dataReader[3].ToString();
                    venta.CantidadTotal = Convert.ToDecimal(dataReader[4]);

                    listaVentas.Add(venta);
                }
            }
            catch (SqlException e)
            {

                throw e;
            }

            return listaVentas;
        }
        public bool Ingresar(Venta venta)
        {
            SqlCommand comando = null;
            string procedimientoAlmacenado = "sp_InsertarVenta";

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                comando.Parameters.AddWithValue("@prmFechaCompra", Convert.ToDateTime(venta.FechaCompra));
                comando.Parameters.AddWithValue("@prmAsiento", venta.Asiento);
                comando.Parameters.AddWithValue("@prmNumeroBoleto", venta.NumeroBoleto);
                comando.Parameters.AddWithValue("@prmCodigoSerie", venta.CodigoSerie);
                comando.Parameters.AddWithValue("@prmidEmpleado", venta.Empleado.ID);
                comando.Parameters.AddWithValue("@prmidPasajero", venta.Pasajero.ID);
                comando.Parameters.AddWithValue("@prmidItinerario", venta.Itinerario.ID);
                comando.Parameters.AddWithValue("@prmPrecio", venta.Precio);
                comando.Parameters.AddWithValue("@prmEstado", venta.Estado);
                comando.Parameters.AddWithValue("@prmIGV", venta.CalcularIGV());
                comando.Parameters.AddWithValue("@prmDescuento", venta.Descuento());
                comando.Parameters.AddWithValue("@prmPrecioTotal", venta.PrecioTotal());
                comando.Parameters.AddWithValue("@prmPuntos", venta.Pasajero.Puntos);

                if (comando.ExecuteNonQuery() > 0)
                    return true;
            }
            catch (SqlException e)
            {
                throw e;
            }
            finally { comando.Connection.Close(); }

            return false;
        }
 public bool Ingresar(Venta venta)
 {
     var gestorDAOSql = new FabricaDAOSql().CrearGestorDAO();
     var ventaDAOSql = new FabricaDAOSql().CrearVentaDAO(gestorDAOSql);
     venta.Pasajero.SumarPuntos();
     try
     {
         return ventaDAOSql.Ingresar(venta);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public List<Venta> MostrarVenta()
        {
            SqlCommand comando = null;
            string procedimientoAlmacenado = "sp_MostrarPasaje";
            var mostrarVenta = new List<Venta>();
            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                var dataReader = comando.ExecuteReader();

                while (dataReader.Read())
                {
                    var pasajero = new Pasajero();
                    pasajero.Nombres = dataReader[14].ToString();
                    pasajero.ApellidoPaterno = dataReader[15].ToString();
                    pasajero.ApellidoMaterno = dataReader[16].ToString();

                    Ciudad origen = new Ciudad();
                    origen.Nombre = dataReader[34].ToString();

                    Ciudad destino = new Ciudad();
                    destino.Nombre = dataReader[37].ToString();

                    Ruta ruta = new Ruta();
                    ruta.Origen = origen;
                    ruta.Destino = destino;

                    Itinerario itinerario = new Itinerario();
                    itinerario.HoraSalida = dataReader[22].ToString();
                    itinerario.Ruta = ruta;

                    Venta venta = new Venta();

                    venta.FechaCompra = dataReader[1].ToString();
                    venta.Asiento = dataReader[2].ToString();
                    venta.NumeroBoleto = dataReader[3].ToString();
                    venta.CodigoSerie = dataReader[4].ToString();
                    venta.Pasajero = pasajero;
                    venta.Itinerario = itinerario;

                    venta.CantidadTotal = Convert.ToDecimal(dataReader["PrecioTotal"]);

                    mostrarVenta.Add(venta);
                }
            }
            catch (SqlException e)
            {

                throw e;
            }

            return mostrarVenta;
        }