Ejemplo n.º 1
0
        //----------------------------------------------------------------------BUSQUEDAS------------------------------------------------------------------------------------

        //LISTAR VIAJES NACICONALES
        public List <Viaje> ListarViajesNacionales()
        {
            //conexion
            SqlConnection conect = new SqlConnection(Conexion.Cnn);

            //sp
            SqlCommand sp = new SqlCommand("ListarViajesNacionales", conect);

            sp.CommandType = CommandType.StoredProcedure;

            //reader
            SqlDataReader reader;
            //Lista
            List <Viaje> lista = new List <Viaje>();

            try
            {
                conect.Open();
                reader = sp.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        ViajeNacional viaje = new ViajeNacional(Convert.ToInt32(reader[0]), ((PersistenciaCompania.getInstance()).BuscarCompania(reader[1].ToString())), ((PersistenciaTerminal.getInstance()).BuscarTerminal(reader[2].ToString())), ((PersistenciaEmpleado.getInstance().BuscarEmpleado(Convert.ToInt32(reader[3])))), Convert.ToDateTime(reader[4]), Convert.ToDateTime(reader[5]), Convert.ToInt32(reader[6]), Convert.ToInt32(reader[7]));
                        lista.Add(viaje);
                    }
                }
                return(lista);
            }
            catch { throw; }

            finally { conect.Close(); }
        }
Ejemplo n.º 2
0
        //BUSCAR VIAJE NACIONAL
        public ViajeNacional BuscarViajeNacional(int NViaje)
        {
            //conexion
            SqlConnection conect = new SqlConnection(Conexion.Cnn);

            //sp
            SqlCommand sp = new SqlCommand("BuscarViajeNacional", conect);

            sp.CommandType = CommandType.StoredProcedure;

            //parametro
            sp.Parameters.Add("@NViaje", NViaje);
            //reader
            SqlDataReader reader;

            ViajeNacional viaje = null;

            try
            {
                conect.Open();
                reader = sp.ExecuteReader();

                if (reader.HasRows)
                {
                    reader.Read();
                    viaje = new ViajeNacional(Convert.ToInt32(reader[0]), ((PersistenciaCompania.getInstance()).BuscarCompania(reader[1].ToString())), ((PersistenciaTerminal.getInstance()).BuscarTerminal(reader[2].ToString())), ((PersistenciaEmpleado.getInstance().BuscarEmpleado(Convert.ToInt32(reader[3])))), Convert.ToDateTime(reader[4]), Convert.ToDateTime(reader[5]), Convert.ToInt32(reader[6]), Convert.ToInt32(reader[7]));
                }
                return(viaje);
            }
            catch (Exception ex) { throw ex; }

            finally { conect.Close(); }
        }
Ejemplo n.º 3
0
        //******************************************************

        public void AgregarViajeNacional(ViajeNacional Vn)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.MiConexion);
            SqlCommand    oComando  = new SqlCommand("AgregarNacional", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter numViaje     = new SqlParameter("@numViaje", Vn.Numero);
            SqlParameter nomCompania  = new SqlParameter("@nomCompania", Vn.Compania.Nombre);
            SqlParameter destino      = new SqlParameter("@destino", Vn.Destino.Cod);
            SqlParameter fSalida      = new SqlParameter("@fSalida", Vn.FechaSalida);
            SqlParameter fArribo      = new SqlParameter("@fArribo", Vn.FechaArribo);
            SqlParameter CantAsientos = new SqlParameter("@CantAsientos", Vn.CantidadAsientos);
            SqlParameter ultEmpleado  = new SqlParameter("@ultEmpleado", Vn.Usuario.Ci);
            SqlParameter paradas      = new SqlParameter("@paradas", Vn.Paradas);

            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            int oAfectados = -1;

            oComando.Parameters.Add(numViaje);
            oComando.Parameters.Add(nomCompania);
            oComando.Parameters.Add(destino);
            oComando.Parameters.Add(fSalida);
            oComando.Parameters.Add(fArribo);
            oComando.Parameters.Add(CantAsientos);
            oComando.Parameters.Add(ultEmpleado);
            oComando.Parameters.Add(paradas);

            oComando.Parameters.Add(_Retorno);

            try
            {
                oConexion.Open();
                oComando.ExecuteNonQuery();
                oAfectados = (int)oComando.Parameters["@Retorno"].Value;
                if (oAfectados == -1)
                {
                    throw new Exception("El viaje ya existe.");
                }
                if (oAfectados == -2)
                {
                    throw new Exception("Debe haber una diferencia de 2 horas entre llegada y salida a un mismo destino.");
                }
                if (oAfectados == -6)
                {
                    throw new Exception("Error en Sql.");
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                oConexion.Close();
            }
        }
Ejemplo n.º 4
0
        public List <ViajeNacional> ListadoSinPartirNac()
        {
            int      numViaje;
            Compania nomCompania;
            Destino  destino;
            DateTime fSalida;
            DateTime fArribo;
            int      CantAsientos;
            Empleado ultEmpleado;
            int      paradas;

            List <ViajeNacional> _Lista    = new List <ViajeNacional>();
            SqlConnection        _Conexion = new SqlConnection(Conexion.MiConexion);
            SqlCommand           _Comando  = new SqlCommand("ListadoSinPartirNac", _Conexion);

            _Comando.CommandType = CommandType.StoredProcedure;
            SqlDataReader _Reader;

            try
            {
                _Conexion.Open();
                _Reader = _Comando.ExecuteReader();
                while (_Reader.Read())
                {
                    numViaje     = (int)_Reader["numViaje"];
                    nomCompania  = PersistenciaCompanias.GetInstancia().BuscarCompaniaTodas(_Reader["nomCompania"].ToString());
                    destino      = PersistenciaDestinos.GetInstancia().BuscarDestinoTodos(_Reader["destino"].ToString());
                    fSalida      = (DateTime)_Reader["fSalida"];
                    fArribo      = (DateTime)_Reader["fArribo"];
                    CantAsientos = (int)_Reader["CantAsientos"];
                    ultEmpleado  = PersistenciaEmpleados.GetInstancia().BuscarEmpleadoTodos(_Reader["ultEmpleado"].ToString());
                    paradas      = (int)_Reader["paradas"];

                    ViajeNacional Vn = new ViajeNacional(numViaje, fSalida, fArribo, CantAsientos, ultEmpleado, destino, nomCompania, paradas);
                    _Lista.Add(Vn);
                }
                _Reader.Close();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                _Conexion.Close();
            }
            return(_Lista);
        }
Ejemplo n.º 5
0
        public ViajeNacional BuscarViajeNacional(int pNumero)
        {
            int      numViaje;
            Compania nomCompania;
            Destino  destino;
            DateTime fSalida;
            DateTime fArribo;
            int      CantAsientos;
            Empleado ultEmpleado;
            int      paradas;

            ViajeNacional Vn        = null;
            SqlConnection oConexion = new SqlConnection(Conexion.MiConexion);
            SqlCommand    oComando  = new SqlCommand("BuscarViajeNacional", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;
            oComando.Parameters.AddWithValue("@numViaje", pNumero);
            SqlDataReader oReader;

            try
            {
                oConexion.Open();
                oReader = oComando.ExecuteReader();
                if (oReader.Read())
                {
                    numViaje     = (int)oReader["numViaje"];
                    nomCompania  = PersistenciaCompanias.GetInstancia().BuscarCompaniaTodas(oReader["nomCompania"].ToString());
                    destino      = PersistenciaDestinos.GetInstancia().BuscarDestinoTodos(oReader["destino"].ToString());
                    fSalida      = (DateTime)oReader["fSalida"];
                    fArribo      = (DateTime)oReader["fArribo"];
                    CantAsientos = (int)oReader["CantAsientos"];
                    ultEmpleado  = PersistenciaEmpleados.GetInstancia().BuscarEmpleadoTodos(oReader["ultEmpleado"].ToString());
                    paradas      = (int)oReader["paradas"];

                    Vn = new ViajeNacional(numViaje, fSalida, fArribo, CantAsientos, ultEmpleado, destino, nomCompania, paradas);
                }
                oReader.Close();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                oConexion.Close();
            }
            return(Vn);
        }
Ejemplo n.º 6
0
        //BAJA VIAJE NACIONAL
        public void BajaViajeNacional(ViajeNacional viajeNacional)
        {
            //conexion
            SqlConnection conect = new SqlConnection(Conexion.Cnn);

            //sp
            SqlCommand sp = new SqlCommand("BajaViajeNacional", conect);

            sp.CommandType = CommandType.StoredProcedure;

            //parametros
            sp.Parameters.Add("@NViaje", viajeNacional.pNumeroViaje);

            //retorno
            SqlParameter retorno = new SqlParameter("@retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            sp.Parameters.Add("@retorno", retorno);


            try
            {
                conect.Open();
                sp.ExecuteNonQuery();

                //retorno
                if ((int)retorno.Value == 1)
                {
                    throw new Exception("viaje nacional eliminado.");
                }
                else if ((int)retorno.Value == -2)
                {
                    throw new Exception("El viaje nacional " + viajeNacional.pNumeroViaje + " no existe.");
                }
                else if ((int)retorno.Value == -3)
                {
                    throw new Exception("Error inesperado.");
                }
            }
            catch { throw; }

            finally { conect.Close(); }
        }
Ejemplo n.º 7
0
        public void EliminarViajeNacional(ViajeNacional Vn)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.MiConexion);
            SqlCommand    oComando  = new SqlCommand("EliminarNacional", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter numViaje = new SqlParameter("@numViaje", Vn.Numero);
            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            int oAfectados = -1;

            oComando.Parameters.Add(numViaje);
            oComando.Parameters.Add(_Retorno);

            try
            {
                oConexion.Open();
                oComando.ExecuteNonQuery();
                oAfectados = (int)oComando.Parameters["@Retorno"].Value;
                if (oAfectados == -1)
                {
                    throw new Exception("No existe el viaje nacional ingresado.");
                }
                if (oAfectados == -6)
                {
                    throw new Exception("Error en Sql.");
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                oConexion.Close();
            }
        }
Ejemplo n.º 8
0
        //MODIFICAR VIAJE NACIONAL
        public void ModificarViajeNacional(ViajeNacional viajeNacional)
        {
            //conexion
            SqlConnection conect = new SqlConnection(Conexion.Cnn);

            //sp
            SqlCommand sp = new SqlCommand("ModificarViajeNacional", conect);

            sp.CommandType = CommandType.StoredProcedure;

            //parametros
            sp.Parameters.Add("@NViaje", viajeNacional.pNumeroViaje);
            sp.Parameters.Add("@NCompania", viajeNacional.pCompania.pNombre);
            sp.Parameters.Add("@Destino", viajeNacional.pDestino.pCiudad);
            sp.Parameters.Add("@EmpleadoMOG", viajeNacional.pEmpleado.pCedula);
            sp.Parameters.Add("@FPartida", viajeNacional.pFPartida);
            sp.Parameters.Add("@FDestino", viajeNacional.pFDestino);
            sp.Parameters.Add("@CantAsientos", viajeNacional.pCantAsientos);

            //retorno
            SqlParameter retorno = new SqlParameter("@retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            sp.Parameters.Add("@retorno", retorno);


            try
            {
                conect.Open();
                sp.ExecuteNonQuery();

                //retorno
                if ((int)retorno.Value == 1)
                {
                    throw new Exception("viaje nacional modificado.");
                }
                else if ((int)retorno.Value == -4)
                {
                    throw new Exception("El viaje nacional " + viajeNacional.pNumeroViaje + " no existe.");
                }
                else if ((int)retorno.Value == -3)
                {
                    throw new Exception("La compania " + viajeNacional.pCompania.pNombre + " no existe.");
                }
                else if ((int)retorno.Value == -2)
                {
                    throw new Exception("La terminal " + viajeNacional.pDestino.pCodigo + " no existe.");
                }
                else if ((int)retorno.Value == -1)
                {
                    throw new Exception("El empleado " + viajeNacional.pEmpleado.pCedula + " no existe.");
                }
                else if ((int)retorno.Value == -8)
                {
                    throw new Exception("Ya existe un viaje al mismo destino que parte con menos de 2 horas de diferencia.");
                }
                else if ((int)retorno.Value == -7)
                {
                    throw new Exception("Error inesperado.");
                }
            }
            catch { throw; }

            finally { conect.Close(); }
        }
Ejemplo n.º 9
0
 public void ParaQueSeVean(ViajeInternacional vi, ViajeNacional vn)
 {
 }
Ejemplo n.º 10
0
        //Botones
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            try
            {
                Destino destino = new ServicioTerminal().BuscarDestino(txtDestino.Text);
                if (destino == null)
                {
                    throw new Exception("No existe el destino ingresado");
                }

                Compania compania = new ServicioTerminal().BuscarCompaniaActiva(txtCompania.Text);
                if (compania == null)
                {
                    throw new Exception("No existe la compania ingresada");
                }

                DateTime salida = dtpSalida.Value;
                DateTime arribo = dtpArribo.Value;

                ViajeNacional nacional = new ViajeNacional();

                nacional.Numero           = Convert.ToInt32(txtNumero.Text.Trim());
                nacional.FechaSalida      = salida;
                nacional.FechaArribo      = arribo;
                nacional.CantidadAsientos = Convert.ToInt32(txtCapacidad.Text.Trim());
                nacional.Compania         = compania;
                nacional.Destino          = destino;
                nacional.Paradas          = Convert.ToInt32(txtParadas.Text.Trim());
                nacional.Usuario          = usuLogueado;


                new ServicioTerminal().AgregarViaje(nacional);
                Limpiar();
                lblError.Text = "Viaje Nacional " + nacional.Numero + " agregado correctamente";
            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                if (ex.Detail.InnerText == "")
                {
                    if (ex.Message.Length > 263)
                    {
                        lblError.Text = ex.Message.Substring(183, 80);
                    }
                    else if (ex.Message.Length > 80)
                    {
                        lblError.Text = ex.Message.Substring(ex.Message.Length - 80, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Message;
                    }
                }
                else
                {
                    if (ex.Detail.InnerText.Length > 80)
                    {
                        lblError.Text = ex.Detail.InnerText.Substring(0, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Detail.InnerText;
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Length > 80)
                {
                    lblError.Text = ex.Message.Substring(0, 80);
                }
                else
                {
                    lblError.Text = ex.Message;
                }
            }
        }
Ejemplo n.º 11
0
        //Validaciones
        private void txtNumero_Validating(object sender, CancelEventArgs e)
        {
            try
            {
                epErrores.Clear();
                lblError.Text = "";

                int num = 0;
                if (!int.TryParse(txtNumero.Text.Trim(), out num))
                {
                    throw new Exception("El numero debe estar compuesto unicamente por digitos.");
                }

                Viaje v = new ServicioTerminal().BuscarViaje(num);

                if (v == null)
                {
                    EstadoAgregar();
                    lblError.Text = "No se ha encontrado un viaje con el numero " + num + ", puede agregarlo si lo desea.";
                }
                if (v is ViajeInternacional)
                {
                    throw new Exception("El numero " + num + " corresponde a un viaje Internacional.");
                }

                if (v is ViajeNacional)
                {
                    unViajeNacional = (ViajeNacional)v;
                    EstadoEliminarModificar();

                    txtDestino.Text       = v.Destino.Cod;
                    txtDestinoCiudad.Text = v.Destino.Ciudad;
                    txtCompania.Text      = v.Compania.Nombre;
                    txtCapacidad.Text     = v.CantidadAsientos.ToString();
                    dtpSalida.Value       = v.FechaSalida;
                    dtpArribo.Value       = v.FechaArribo;
                    txtParadas.Text       = ((ViajeNacional)v).Paradas.ToString();
                    lblError.Text         = "Se ha encontrado el viaje.";
                }
            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                if (ex.Detail.InnerText == "")
                {
                    if (ex.Message.Length > 263)
                    {
                        lblError.Text = ex.Message.Substring(183, 80);
                    }
                    else if (ex.Message.Length > 80)
                    {
                        lblError.Text = ex.Message.Substring(ex.Message.Length - 80, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Message;
                    }
                }
                else
                {
                    if (ex.Detail.InnerText.Length > 80)
                    {
                        lblError.Text = ex.Detail.InnerText.Substring(0, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Detail.InnerText;
                    }
                }
            }
            catch (Exception ex)
            {
                epErrores.SetError(txtNumero, ex.Message);
                if (ex.Message.Length > 80)
                {
                    lblError.Text = ex.Message.Substring(0, 80);
                }
                else
                {
                    lblError.Text = ex.Message;
                }
            }
        }
Ejemplo n.º 12
0
        private void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                if (unViajeNacional == null)
                {
                    throw new Exception("No existe el viaje ingresado.");
                }

                //Creo otra variable por si la modificacion falla y luego quiero modificar el viaje.
                ViajeNacional unVN = new ViajeNacional();
                unVN.CantidadAsientos = unViajeNacional.CantidadAsientos;
                unVN.Compania         = unViajeNacional.Compania;
                unVN.Destino          = unViajeNacional.Destino;
                unVN.FechaArribo      = unViajeNacional.FechaArribo;
                unVN.FechaSalida      = unViajeNacional.FechaSalida;
                unVN.Numero           = unViajeNacional.Numero;
                unVN.Paradas          = unViajeNacional.Paradas;
                unVN.Usuario          = unViajeNacional.Usuario;

                unVN.FechaSalida      = dtpSalida.Value;
                unVN.FechaArribo      = dtpArribo.Value;
                unVN.CantidadAsientos = Convert.ToInt32(txtCapacidad.Text);

                unVN.Destino = new ServicioTerminal().BuscarDestino(txtDestino.Text);
                if (unVN.Destino == null)
                {
                    throw new Exception("No existe el destino ingresado");
                }
                unVN.Compania = new ServicioTerminal().BuscarCompaniaActiva(txtCompania.Text);
                if (unVN.Compania == null)
                {
                    throw new Exception("No existe la compania ingresada");
                }

                unVN.Paradas = Convert.ToInt32(txtParadas.Text);
                unVN.Usuario = usuLogueado;

                new ServicioTerminal().ModificarViaje(unVN);
                Limpiar();
                lblError.Text = "Viaje Nacional " + unVN.Numero + " modificado correctamente.";
            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                if (ex.Detail.InnerText == "")
                {
                    if (ex.Message.Length > 263)
                    {
                        lblError.Text = ex.Message.Substring(183, 80);
                    }
                    else if (ex.Message.Length > 80)
                    {
                        lblError.Text = ex.Message.Substring(ex.Message.Length - 80, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Message;
                    }
                }
                else
                {
                    if (ex.Detail.InnerText.Length > 80)
                    {
                        lblError.Text = ex.Detail.InnerText.Substring(0, 80);
                    }
                    else
                    {
                        lblError.Text = ex.Detail.InnerText;
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Length > 80)
                {
                    lblError.Text = ex.Message.Substring(0, 80);
                }
                else
                {
                    lblError.Text = ex.Message;
                }
            }
        }