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 Itinerario(string FechaSalida, string HoraSalida, decimal Precio, Bus Bus, Conductor Conductor, Ruta Ruta)
 {
     this.FechaSalida = FechaSalida;
     this.HoraSalida = HoraSalida;
     this.Precio = Precio;
     this.Bus = Bus;
     this.Conductor = Conductor;
     this.Ruta = Ruta;
     Estado = true;
 }
        public void TestMethodIngresarItinerario()
        {
            var gestorDAO = new GestorDAOSql();
            var itinerarioDAO = new ItinerarioDAOSql(gestorDAO);

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

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

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

            var itinerario = new Itinerario("13/11/2015", "21:30:00", 20, bus, conductor, ruta);

            Assert.AreEqual(true, itinerarioDAO.Ingresar(itinerario));
        }
        public void TestMethodIngresarItinerario()
        {
            var gestorDAO = new GestorDAOSql();
            var itinerarioDAO = new FabricaDAOSql().CrearItinerarioDAO(gestorDAO);

            var bus = new Bus();
            bus.ID = 1;
            bus.Placa = "PER-0793";

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

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

            var itinerario = new Itinerario("9/11/2015", "21:30:00", 20, bus, conductor, ruta);

            var itinerarioServicio = new IngresarItinerarioServicio();

            Assert.AreEqual(false, itinerarioServicio.Ingresar(itinerario));
        }
        public void TestMethodValidarItinerario()
        {
            var conductor = new Conductor();

            var bus = new Bus();
            bus.ID = 1;
            bus.Placa = "PER-0793";

            var gestorDAOSql = new GestorDAOSql();
            var itinerarioDAOSql = new ItinerarioDAOSql(gestorDAOSql);

            conductor.ID = 1;

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

            var itinerario = new Itinerario("9/11/2015", "21:30:00", 20, bus, conductor, ruta);

            conductor.Itinerarios = itinerarioDAOSql.Listar();

            Assert.AreEqual(false, conductor.ValidarItinerario(itinerario));
        }
        public Ruta BuscarID(int id)
        {
            string procedimientoAlmacenado = "sp_BuscarRutaxID";
            SqlCommand comando = null;
            Ruta ruta = null;

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                comando.Parameters.AddWithValue("@prmId", id);

                gestorDAO.AbrirConexion();

                SqlDataReader dataReader = comando.ExecuteReader();

                if (dataReader.Read())
                {
                    var origen = new Ciudad(dataReader[6].ToString());
                    origen.ID = Convert.ToInt32(dataReader[3]);
                    var destino = new Ciudad(dataReader[9].ToString());
                    destino.ID = Convert.ToInt32(dataReader[4]);

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

                    ruta.ID = Convert.ToInt16(dataReader[0]);

                }
            }
            catch (SqlException e)
            {
                throw e;
            }
            finally { gestorDAO.CerrarConexion(); }

            return ruta;
        }
        public Itinerario Buscar(int id)
        {
            string procedimientoAlmacenado = "sp_BuscarItinerarioxID";
            SqlCommand comando = null;
            Itinerario itinerario = null;

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                comando.Parameters.AddWithValue("@prmId", id);

                gestorDAO.AbrirConexion();

                SqlDataReader dataReader = comando.ExecuteReader();

                if (dataReader.Read())
                {
                    var conductor = new Conductor(dataReader.GetString(17), dataReader.GetString(18), dataReader.GetString(19), dataReader.GetString(20), dataReader.GetDateTime(21).ToString(), dataReader.GetString(22));
                    var tipoServicio = new TipoServicio(dataReader.GetString(30), dataReader.GetString(31));
                    var origen = new Ciudad(dataReader.GetString(34));
                    var destino = new Ciudad(dataReader.GetString(37));
                    var ruta = new Ruta(origen, destino, Convert.ToInt16(dataReader["TimepoEstimado"]));
                    var bus = new Bus(Convert.ToInt16(dataReader["Pisos"]), dataReader.GetString(11), dataReader.GetString(12), dataReader.GetString(13), tipoServicio);
                    itinerario = new Itinerario(dataReader["FechaSalida"].ToString(), dataReader["HoraSalida"].ToString(), Convert.ToDecimal(dataReader["Precio"]), bus, conductor, ruta);

                    itinerario.ID = Convert.ToInt16(dataReader["idItinerario"]);

                }
            }
            catch (SqlException e)
            {
                throw e;
            }
            finally { gestorDAO.CerrarConexion(); }

            return itinerario;
        }
        public List<Ruta> Listar(string nombre)
        {
            SqlCommand comando = null;
            var listaruta = new List<Ruta>();
            string procedimientoAlmacenado = "sp_ListarRuta";

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                comando.Parameters.AddWithValue("@prmNombre", nombre);

                gestorDAO.AbrirConexion();

                var dataReader = comando.ExecuteReader();

                while (dataReader.Read())
                {
                    var origen = new  Ciudad(dataReader["Nombre"].ToString());
                    origen.ID = Convert.ToInt32(dataReader["Origen"]);
                    var destino = new Ciudad(dataReader["Nombre"].ToString());
                    destino.ID = Convert.ToInt32(dataReader["Destino"]);
                    var ruta = new Ruta(

                        origen,destino,
                        Convert.ToDouble(dataReader["TiempoEstimado"])

                        );

                    listaruta.Add(ruta);
                }
            }
            catch (Exception e)
            {

                throw e;
            }
            finally { gestorDAO.CerrarConexion(); }

            return listaruta;
        }
 public bool Ingresar(Ruta ruta)
 {
     throw new NotImplementedException();
 }
 public bool Eliminar(Ruta ruta)
 {
     throw new NotImplementedException();
 }
 public bool Modificar(Ruta ruta)
 {
     throw new NotImplementedException();
 }
        public List<Ruta> Listar()
        {
            string procedimientoAlmacenado = "sp_ListarRutaID";
            SqlCommand comando = null;

            List<Ruta> listar = new List<Ruta>();

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                SqlDataReader dataReader = comando.ExecuteReader();

                while (dataReader.Read())
                {
                    var origen = new Ciudad(dataReader[6].ToString());
                    origen.ID = Convert.ToInt32(dataReader[3]);
                    var destino = new Ciudad(dataReader[9].ToString());
                    destino.ID = Convert.ToInt32(dataReader[4]);

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

                    ruta.ID = Convert.ToInt16(dataReader[0]);
                    listar.Add(ruta);
                }
            }
            catch (SqlException e)
            {
                throw e;
            }
            finally { gestorDAO.CerrarConexion(); }

            return listar;
        }
        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;
        }
        public List<Itinerario> Listar()
        {
            SqlCommand comando = null;
            string procedimientoAlmacenado = "sp_ListarItinerario";
            var listaItinerarios = new List<Itinerario>();

            try
            {
                comando = gestorDAO.ObtenerComandoSP(procedimientoAlmacenado);

                var dataReader = comando.ExecuteReader();

                while (dataReader.Read())
                {
                    var conductor = new Conductor(dataReader.GetString(17), dataReader.GetString(18), dataReader.GetString(19), dataReader.GetString(20), dataReader.GetDateTime(21).ToString(), dataReader.GetString(22));
                    var tipoServicio = new TipoServicio(dataReader.GetString(30), dataReader.GetString(31));
                    var origen = new Ciudad(dataReader.GetString(34));
                    var destino = new Ciudad(dataReader.GetString(37));
                    var ruta = new Ruta(origen, destino, Convert.ToInt16(dataReader["TimepoEstimado"]));
                    var bus = new Bus(Convert.ToInt16( dataReader["Pisos"]), dataReader.GetString(11), dataReader.GetString(12), dataReader.GetString(13), tipoServicio);
                    var itinerario = new Itinerario(dataReader["FechaSalida"].ToString(), dataReader["HoraSalida"].ToString(), Convert.ToDecimal(dataReader["Precio"]), bus, conductor, ruta);

                    itinerario.ID = Convert.ToInt16(dataReader["idItinerario"]);
                    listaItinerarios.Add(itinerario);
                }
            }
            catch (SqlException e)
            {

                throw e;
            }

            return listaItinerarios;
        }