protected void BtnModificar_Click(object sender, EventArgs e)
    {
        try
        {
            string _Codigo = Convert.ToString(TBCodigo.Text);
            string _Ciudad = Convert.ToString(TBCiudad.Text);
            string _Pais   = Convert.ToString(DDLPais.Text);

            List <Facilidades> _Facilidades = new List <Facilidades>();
            _Facilidades = (List <Facilidades>)Session["Facilidades"];

            Terminales unaTer = new Terminales(_Codigo, _Ciudad, _Pais, _Facilidades);

            ILogicaTerminales FTerminal = FabricaLogica.getLogicaTerminal();

            FTerminal.Modificar_Terminal(unaTer);

            LblError.ForeColor = System.Drawing.Color.Blue;
            LblError.Text      = "La Terminal " + Convert.ToString(unaTer.Codigo) + " ha sido modificada correctamente.";

            LimpioFormulario();
        }

        catch (Exception ex)
        {
            LblError.ForeColor = System.Drawing.Color.Red;
            LblError.Text      = ex.Message;
        }
    }
    protected void BtnModificar_Click(object sender, EventArgs e)
    {
        try
        {
            int _Numero = Convert.ToInt16(TBNumero.Text);

            Terminales _Terminal = (from unaTerminal in (List <Terminales>)Session["Terminales"]
                                    where unaTerminal.Codigo == DDLTerminal.SelectedValue
                                    select unaTerminal).First();

            Companias _Compania = (from unaCompania in (List <Companias>)Session["Companias"]
                                   where unaCompania.Nombre == DDLCompania.SelectedValue
                                   select unaCompania).First();

            int      diapartida     = Convert.ToDateTime(TBFechaPartida.Text).Day;
            int      mespartida     = Convert.ToDateTime(TBFechaPartida.Text).Month;
            int      aniopartida    = Convert.ToDateTime(TBFechaPartida.Text).Year;
            int      horapartida    = Convert.ToInt16(DDLHoraPartida.Text);
            int      minutospartida = Convert.ToInt16(DDLMinutosPartida.Text);
            int      diaarribo      = Convert.ToDateTime(TBFechaArribo.Text).Day;
            int      mesarribo      = Convert.ToDateTime(TBFechaArribo.Text).Month;
            int      anioarribo     = Convert.ToDateTime(TBFechaArribo.Text).Year;
            int      horaarribo     = Convert.ToInt16(DDLHoraArribo.Text);
            int      minutosarribo  = Convert.ToInt16(DDLMinutosArribo.Text);
            DateTime _Fechapartida  = new DateTime(aniopartida, mespartida, diapartida, horapartida, minutospartida, 0);
            DateTime _Fechaarribo   = new DateTime(anioarribo, mesarribo, diaarribo, horaarribo, minutosarribo, 0);

            int _CantAsientos = Convert.ToInt16(TBCantAsientos.Text);

            Empleados _Empleado = (Empleados)Session["Empleado"];

            bool _Servicio = false;
            if (DDLServicio.SelectedIndex == 1)
            {
                _Servicio = true;
            }

            string _Documentacion = TBDocumentacion.Text;

            Internacionales unInter = new Internacionales(_Numero, _Compania, _Terminal, _Fechapartida, _Fechaarribo, _CantAsientos, _Empleado, _Servicio, _Documentacion);

            ILogicaViajes FViaje = FabricaLogica.getLogicaViaje();

            FViaje.Modificar_Viaje(unInter);

            LblError.ForeColor = System.Drawing.Color.Blue;
            LblError.Text      = "El Viaje " + Convert.ToString(unInter.Numero) + " ha sido modificado correctamente.";

            LimpioFormulario();
        }

        catch (Exception ex)
        {
            LblError.ForeColor = System.Drawing.Color.Red;
            LblError.Text      = ex.Message;
        }
    }
        //Operaciones
        public Internacionales Buscar_Viaje(int pCodViaje)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Buscar_ViajeInternacional", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            oComando.Parameters.AddWithValue("@numero", pCodViaje);

            Internacionales unInter = null;

            try
            {
                oConexion.Open();

                SqlDataReader _Reader = oComando.ExecuteReader();

                if (_Reader.HasRows)
                {
                    _Reader.Read();

                    int        _numero        = (int)_Reader["numero"];
                    Companias  _compania      = PersistenciaCompania.GetInstancia().BuscarTodos_Compania((string)_Reader["compania"]);
                    Terminales _terminal      = PersistenciaTerminales.GetInstancia().BuscarTodos_Terminal((string)_Reader["destino"]);
                    DateTime   _fechapartida  = (DateTime)_Reader["fecha_partida"];
                    DateTime   _fechaarribo   = (DateTime)_Reader["fecha_arribo"];
                    int        _asientos      = (int)_Reader["asientos"];
                    Empleados  _empleado      = PersistenciaEmpleado.GetInstancia().BuscarTodos_Empleado((string)_Reader["empleado"]);
                    bool       _servicio      = (bool)_Reader["servicio"];
                    string     _documentacion = (string)_Reader["documentacion"];

                    unInter = new Internacionales(_numero, _compania, _terminal, _fechapartida, _fechaarribo, _asientos, _empleado, _servicio, _documentacion);

                    _Reader.Close();
                }
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }


            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            finally
            {
                oConexion.Close();
            }

            return(unInter);
        }
    public void Modificar_Terminal(Terminales unaTerminal)
    {
        try
        {
            FabricaLogica.getLogicaTerminal().Modificar_Terminal(unaTerminal);
        }

        catch (Exception ex)
        {
            this.GenerarSoapException(ex);
        }
    }
Ejemplo n.º 5
0
    protected void BtnAlta_Click(object sender, EventArgs e)
    {
        try
        {
            int _Numero = Convert.ToInt32(TBNumero.Text);

            Terminales _Terminal = (from unaTerminal in (List <Terminales>)Session["Terminales"]
                                    where unaTerminal.Codigo == DDLTerminal.SelectedValue
                                    select unaTerminal).First();

            Companias _Compania = (from unaCompania in (List <Companias>)Session["Companias"]
                                   where unaCompania.Nombre == DDLCompania.SelectedValue
                                   select unaCompania).First();

            int      diapartida     = Convert.ToDateTime(TBFechaPartida.Text).Day;
            int      mespartida     = Convert.ToDateTime(TBFechaPartida.Text).Month;
            int      aniopartida    = Convert.ToDateTime(TBFechaPartida.Text).Year;
            int      horapartida    = Convert.ToInt16(DDLHoraPartida.Text);
            int      minutospartida = Convert.ToInt16(DDLMinutosPartida.Text);
            int      diaarribo      = Convert.ToDateTime(TBFechaArribo.Text).Day;
            int      mesarribo      = Convert.ToDateTime(TBFechaArribo.Text).Month;
            int      anioarribo     = Convert.ToDateTime(TBFechaArribo.Text).Year;
            int      horaarribo     = Convert.ToInt16(DDLHoraArribo.Text);
            int      minutosarribo  = Convert.ToInt16(DDLMinutosArribo.Text);
            DateTime _Fechapartida  = new DateTime(aniopartida, mespartida, diapartida, horapartida, minutospartida, 0);
            DateTime _Fechaarribo   = new DateTime(anioarribo, mesarribo, diaarribo, horaarribo, minutosarribo, 0);

            int _CantAsientos = Convert.ToInt16(TBCantAsientos.Text);

            Empleados _Empleado = (Empleados)Session["Empleado"];

            int _Paradas = Convert.ToInt16(TBParadas.Text);

            Nacionales unNac = new Nacionales(_Numero, _Compania, _Terminal, _Fechapartida, _Fechaarribo, _CantAsientos, _Empleado, _Paradas);

            ILogicaViajes FViaje = FabricaLogica.getLogicaViaje();

            FViaje.Alta_Viaje(unNac);

            LblError.ForeColor = System.Drawing.Color.Blue;
            LblError.Text      = "El Viaje " + Convert.ToString(unNac.Numero) + " ha sido ingresado a la base de datos correctamente.";

            LimpioFormulario();
        }

        catch (Exception ex)
        {
            LblError.ForeColor = System.Drawing.Color.Red;
            LblError.Text      = ex.Message;
        }
    }
        internal Terminales BuscarTodos_Terminal(string pCodTerminal)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Buscar_Terminal", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            oComando.Parameters.AddWithValue("@codigo", pCodTerminal);

            Terminales unaTer = null;

            try
            {
                oConexion.Open();

                SqlDataReader _Reader = oComando.ExecuteReader();

                if (_Reader.HasRows)
                {
                    _Reader.Read();

                    string        _codigo      = (string)_Reader["codigo"];
                    string        _ciudad      = (string)_Reader["ciudad"];
                    string        _pais        = (string)_Reader["pais"];
                    List <string> _facilidades = new List <string>();
                    _facilidades = PersistenciaFacilidades.CargoFacilidades(pCodTerminal);

                    unaTer = new Terminales(_codigo, _ciudad, _pais, _facilidades);

                    _Reader.Close();
                }
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            finally
            {
                oConexion.Close();
            }

            return(unaTer);
        }
        public void Eliminar_Terminal(Terminales unaTer)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Eliminar_Terminal", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            oComando.Parameters.AddWithValue("@codigo", unaTer.Codigo);

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

            oRetorno.Direction = ParameterDirection.ReturnValue;
            oComando.Parameters.Add(oRetorno);

            int oAfectados = -1;

            try
            {
                oConexion.Open();
                oComando.ExecuteNonQuery();

                oAfectados = (int)oComando.Parameters["@Retorno"].Value;

                if (oAfectados == -1)
                {
                    throw new Exception("La terminal ingresada no existe en la base de datos");
                }
                if (oAfectados == -2)
                {
                    throw new Exception("Error al eliminar la terminal en la base de datos");
                }
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                throw new Exception("Problemas con la base de datos: " + ex.Message);
            }

            finally
            {
                oConexion.Close();
            }
        }
    public Terminales Buscar_Terminal(string pCodigo)
    {
        Terminales _unaTerminal = null;

        try
        {
            _unaTerminal = FabricaLogica.getLogicaTerminal().Buscar_Terminal(pCodigo);
        }

        catch (Exception ex)
        {
            this.GenerarSoapException(ex);
        }

        return(_unaTerminal);
    }
        internal static void Alta_Facilidad(string pFacilidad, Terminales pTer, SqlTransaction _pTransaccion)
        {
            SqlCommand oComando = new SqlCommand("Alta_Facilidades", _pTransaccion.Connection);

            oComando.CommandType = CommandType.StoredProcedure;

            oComando.Parameters.AddWithValue("@terminal", pTer.Codigo);
            oComando.Parameters.AddWithValue("@nombre", pFacilidad);

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

            oRetorno.Direction = ParameterDirection.ReturnValue;
            oComando.Parameters.Add(oRetorno);


            try
            {
                oComando.Transaction = _pTransaccion;

                oComando.ExecuteNonQuery();

                int retorno = Convert.ToInt32(oRetorno.Value);

                if (retorno == -1)
                {
                    throw new Exception("La terminal ingresada no existe en la base de datos o está dada de baja");
                }
                if (retorno == -2)
                {
                    throw new Exception("La facilidad ingresada ya existe en la base de datos");
                }
                if (retorno == -3)
                {
                    throw new Exception("Error al crear la terminal en la base de datos");
                }
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <Internacionales> Listar_Todos_Viajes_Int()
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Listar_Todos_Viajes_Internacionales", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;
            List <Internacionales> _Lista = new List <Internacionales>();

            try
            {
                oConexion.Open();
                SqlDataReader _Reader = oComando.ExecuteReader();
                while (_Reader.Read())
                {
                    int        _numero        = (int)_Reader["numero"];
                    Companias  _compania      = PersistenciaCompania.GetInstancia().BuscarTodos_Compania((string)_Reader["compania"]);
                    Terminales _terminal      = PersistenciaTerminales.GetInstancia().BuscarTodos_Terminal((string)_Reader["destino"]);
                    DateTime   _fechapartida  = (DateTime)_Reader["fecha_partida"];
                    DateTime   _fechaarribo   = (DateTime)_Reader["fecha_arribo"];
                    int        _asientos      = (int)_Reader["asientos"];
                    Empleados  _empleado      = PersistenciaEmpleado.GetInstancia().BuscarTodos_Empleado((string)_Reader["empleado"]);
                    bool       _servicio      = (bool)_Reader["servicio"];
                    string     _documentacion = (string)_Reader["documentacion"];

                    Internacionales viaje = new Internacionales(_numero, _compania, _terminal, _fechapartida, _fechaarribo, _asientos, _empleado, _servicio, _documentacion);
                    _Lista.Add(viaje);
                }
                _Reader.Close();
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            finally
            {
                oConexion.Close();
            }

            return(_Lista);
        }
    protected void BtnBuscar_Click(object sender, EventArgs e)
    {
        if (TBCodigo.Text != "")
        {
            try
            {
                LblError.Text = "";

                string _Codigo = Convert.ToString(TBCodigo.Text);

                ILogicaTerminales FTerminal = FabricaLogica.getLogicaTerminal();

                Terminales unaTer = FTerminal.Buscar_Terminal(_Codigo);

                Session["Terminal"] = unaTer;

                if (unaTer == null)
                {
                    Session["Facilidades"] = new List <Facilidades>();
                    ActivoFormularioAlta();
                }

                else
                {
                    TBCiudad.Text = unaTer.Ciudad;
                    DDLPais.Text  = unaTer.Pais;

                    Session["Facilidades"] = unaTer.ListaFacilidades;

                    LBFacilidades.DataSource    = unaTer.ListaFacilidades;
                    LBFacilidades.DataTextField = "Facilidad";
                    LBFacilidades.DataBind();

                    ActivoFormularioModificacion();
                }
            }

            catch (Exception ex)
            {
                LblError.ForeColor = System.Drawing.Color.Red;
                LblError.Text      = ex.Message;
            }
        }
    }
        public List <Terminales> Listar_Terminales()
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Listar_Terminales", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            List <Terminales> ListaTerminales = new List <Terminales>();

            try
            {
                oConexion.Open();
                SqlDataReader oReader = oComando.ExecuteReader();

                if (oReader.HasRows)
                {
                    while (oReader.Read())
                    {
                        Terminales Ter = Buscar_Terminal(oReader["codigo"].ToString());
                        ListaTerminales.Add(Ter);
                    }
                }

                oReader.Close();
            }

            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                throw new Exception("Problemas con la base de datos: " + ex.Message);
            }

            finally
            {
                oConexion.Close();
            }

            return(ListaTerminales);
        }
        private void BtnAlta_Click(object sender, EventArgs e)
        {
            try
            {
                Terminales _unaTerminal = new Terminales();
                _unaTerminal.Codigo = TBCodigo.Text.Trim();
                _unaTerminal.Pais   = CBPais.Text;
                _unaTerminal.Ciudad = TBCiudad.Text.Trim();

                List <string> _listaFacilidades = new List <string>();
                foreach (string unaFacilidad in LBFacilidades.Items)
                {
                    _listaFacilidades.Add(unaFacilidad);
                }

                _unaTerminal.ListaFacilidades = _listaFacilidades.ToArray();

                new AppWinAdministracion.WSTerminalRef.WSTerminal().Alta_Terminal(_unaTerminal);
                LblError.Text = "Terminal dada de alta con éxito";

                this.ActivoPorDefecto();
            }

            catch (System.Web.Services.Protocols.SoapException ex)
            {
                int aux = ex.Message.IndexOf("ERROR: ");
                LblError.Text = ex.Message.Substring(aux, 80);
            }

            catch (Exception ex)
            {
                if (ex.Message.Length > 80)
                {
                    LblError.Text = ex.Message.Substring(0, 80);
                }
                else
                {
                    LblError.Text = ex.Message;
                }
            }
        }
    protected void BtnEliminar_Click(object sender, EventArgs e)
    {
        try
        {
            Terminales unaTer = (Terminales)Session["Terminal"];

            ILogicaTerminales FTerminal = FabricaLogica.getLogicaTerminal();

            FTerminal.Eliminar_Terminal(unaTer);

            LblError.ForeColor = System.Drawing.Color.Blue;
            LblError.Text      = "La Terminal " + Convert.ToString(unaTer.Codigo) + " ha sido eliminada correctamente.";

            LimpioFormulario();
        }

        catch (Exception ex)
        {
            LblError.ForeColor = System.Drawing.Color.Red;
            LblError.Text      = ex.Message;
        }
    }
        private void TBCodigo_Validating(object sender, CancelEventArgs e)
        {
            try
            {
                Terminales _unaTerminal = null;

                _unaTerminal = new AppWinAdministracion.WSTerminalRef.WSTerminal().Buscar_Terminal(TBCodigo.Text);

                if (_unaTerminal == null)
                {
                    this.ActivoAgregar();
                }
                else
                {
                    _objTerminal = _unaTerminal;
                    this.ActivoActualizacion();
                }
            }

            catch (System.Web.Services.Protocols.SoapException ex)
            {
                int aux = ex.Message.IndexOf("ERROR: ");
                LblError.Text = ex.Message.Substring(aux, 80);
            }

            catch (Exception ex)
            {
                if (ex.Message.Length > 80)
                {
                    LblError.Text = ex.Message.Substring(0, 80);
                }
                else
                {
                    LblError.Text = ex.Message;
                }
            }
        }
        private void ActivoPorDefecto()
        {
            BtnAlta.Enabled      = false;
            BtnBaja.Enabled      = false;
            BtnModificar.Enabled = false;

            TBCodigo.Text        = "";
            CBPais.SelectedIndex = -1;
            TBCiudad.Text        = "";
            TBFacilidad.Text     = "";
            LBFacilidades.Items.Clear();

            TBCodigo.Enabled    = true;
            CBPais.Enabled      = false;
            TBCiudad.Enabled    = false;
            TBFacilidad.Enabled = false;
            BtnAgregar.Enabled  = false;
            BtnQuitar.Enabled   = false;
            //LBFacilidades.Enabled = false;

            TBCodigo.Focus();

            _objTerminal = null;
        }
        public void Eliminar_Terminal(Terminales Ter)
        {
            IPersistenciaTerminales FTerminal = FabricaPersistencia.getPersistenciaTerminal();

            FTerminal.Eliminar_Terminal(Ter);
        }
        public void Alta_Terminal(Terminales Ter)
        {
            IPersistenciaTerminales FTerminal = FabricaPersistencia.getPersistenciaTerminal();

            FTerminal.Alta_Terminal(Ter);
        }
        public void Modificar_Terminal(Terminales unaTer)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.STR);
            SqlCommand    oComando  = new SqlCommand("Modificar_Terminal", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            oComando.Parameters.AddWithValue("@codigo", unaTer.Codigo);
            oComando.Parameters.AddWithValue("@ciudad", unaTer.Ciudad);
            oComando.Parameters.AddWithValue("@pais", unaTer.Pais);

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

            oRetorno.Direction = ParameterDirection.ReturnValue;
            oComando.Parameters.Add(oRetorno);

            SqlTransaction _transaccion = null;

            try
            {
                oConexion.Open();

                _transaccion = oConexion.BeginTransaction();

                oComando.Transaction = _transaccion;

                oComando.ExecuteNonQuery();

                if (Convert.ToInt32(oRetorno.Value) == -1)
                {
                    throw new Exception("La terminal ingresada no existe en la base de datos");
                }
                if (Convert.ToInt32(oRetorno.Value) == -2)
                {
                    throw new Exception("Error al eliminar la terminal en la base de datos");
                }


                PersistenciaFacilidades.Eliminar_Facilidades(unaTer, _transaccion);

                foreach (string unaFac in unaTer.ListaFacilidades)
                {
                    PersistenciaFacilidades.Alta_Facilidad(unaFac, unaTer, _transaccion);
                }

                _transaccion.Commit();
            }


            catch (SqlException)
            {
                throw new Exception("La base de datos no se encuentra disponible. Contacte al administrador.");
            }

            catch (Exception ex)
            {
                _transaccion.Rollback();
                throw new Exception("Problemas con la base de datos: " + ex.Message);
            }

            finally
            {
                oConexion.Close();
            }
        }
        public void Modificar_Terminal(Terminales Ter)
        {
            IPersistenciaTerminales FTerminal = FabricaPersistencia.getPersistenciaTerminal();

            FTerminal.Modificar_Terminal(Ter);
        }
 private void BtnDeshacer_Click(object sender, EventArgs e)
 {
     _objTerminal = null;
     this.ActivoPorDefecto();
 }