public void insertar(RutaAerea r)
 {
     string[] parametros = { "@Ruta_Codigo", "@Ciudad_Origen_ID", "@Ciudad_Destino_ID", "@Ruta_Precio_Kg", "@Ruta_Precio_Pasaje", "@Ruta_Habilitada" };
     DatosSistema datos = new DatosSistema();
     datos.Ejecutar("[INFONIONIOS].[spInsertRutaAerea]",
         parametros,r.codigoRutaAerea,r.idCiudadOrigen,r.idCiudadDestino,r.precioKGRutaAerea,r.precioPasajeRutaAerea,r.habilitadaRutaAerea);
 }
        public formAMRutaAerea(RutaAerea ruta)
        {
            InitializeComponent();

            rutaActual = null;
            modoAlta = (ruta == null);
            if (!modoAlta)
            {
                rutaActual = ruta;
            }
        }
        private void btnGenerar_Click(object sender, EventArgs e)
        {
            try
            {
                string mensaje = string.Empty;
                if (cboMatriculas.SelectedIndex == -1) { mensaje += "Debe seleccionar una aeronave." + Environment.NewLine; }
                if (cboOrigen.SelectedIndex == -1) { mensaje += "Debe seleccionar una ciudad de origen." + Environment.NewLine; }
                if (cboDestino.SelectedIndex == -1) { mensaje += "Debe seleccionar una ciudad de destino." + Environment.NewLine; }
                if (cboOrigen.SelectedIndex == cboDestino.SelectedIndex) { mensaje += "Las ciudades no pueden ser iguales." + Environment.NewLine; }
                if (dtpFechaSalida.Value < ConfiguracionGlobal.FechaSistema) { mensaje += "La fecha debe ser posterior a la fecha actual." + Environment.NewLine; }
                if ((dtpFechaLlegadaEstimada.Value < dtpFechaSalida.Value.AddHours(1))) { mensaje += "El viaje tiene que durar más de una hora." + Environment.NewLine; }
                if ((dtpFechaLlegadaEstimada.Value > dtpFechaSalida.Value.AddDays(1))) { mensaje += "El viaje tiene que durar menos de un día." + Environment.NewLine; }
                if (!string.IsNullOrEmpty(mensaje)) { throw new Exception(mensaje); }

                Aeronave a = (Aeronave)cboMatriculas.SelectedItem;
                Ciudad origen = (Ciudad)cboOrigen.SelectedItem;
                Ciudad destino = (Ciudad)cboDestino.SelectedItem;

                RutaAerea ra = new RutaAerea().obtenerRutaAereaPorCiudades(origen.idCiudad, destino.idCiudad);
                if (ra == null) { throw new Exception(string.Format("No se ha encontrado una ruta aerea de {0} a {1}.",origen.nombreCiudad,destino.nombreCiudad)); }

                List<ServicioPorRuta> serviciosRuta = new ServicioPorRuta().obtenerListaPorIdRuta(ra.idRutaAerea);
                if (!serviciosRuta.Exists(sr => sr.idTipoServicio == a.idTipoServicio))
                {
                    throw new Exception(string.Format("El servicio de la aeronave no coincide con ninguno de la ruta aerea entre {0} y {1}.",origen.nombreCiudad,destino.nombreCiudad));
                }

                if (new Aeronave().tieneViajesEntreHorarios(dtpFechaSalida.Value, dtpFechaLlegadaEstimada.Value,a.idAeronave))
                {
                    dtpFechaSalida.Value = DateTime.Now;
                    actualizarExtremosFechas();
                    throw new Exception("La aeronave seleccionada no esta disponible en ese rango horario.");
                }

                var msg = MessageBox.Show("¿Está seguro que desea generar el viaje ingresado?", "Atención", MessageBoxButtons.YesNo);
                if (msg == DialogResult.Yes)
                {
                    new Viaje().generarViaje(a.idAeronave, ra.idRutaAerea, dtpFechaSalida.Value, dtpFechaLlegadaEstimada.Value);
                    MessageBox.Show("El viaje ha sido generado correctamente.", "OK");
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
        private void btnLlegada_Click(object sender, EventArgs e)
        {
            try
            {
                string mensaje = string.Empty;
                if (cboMatriculas.SelectedIndex == -1) { mensaje += "Debe seleccionar una matricula." + Environment.NewLine; }
                if (cboCiudadOrigen.SelectedIndex == -1) { mensaje += "Debe seleccionar una ciudad de origen." + Environment.NewLine; }
                if (cboCiudadDestino.SelectedIndex == -1) { mensaje += "Debe seleccionar una ciudad de destino." + Environment.NewLine; }
                if (dtpSalida.Value > ConfiguracionGlobal.FechaSistema) { mensaje += "La fecha de salida tiene que ser anterior a la fecha actual." + Environment.NewLine; }
                if (cboCiudadOrigen.SelectedValue == cboCiudadDestino.SelectedValue) { mensaje += "Las ciudades no pueden ser iguales."; }
                if (!string.IsNullOrEmpty(mensaje)) { throw new Exception(mensaje); }

                Aeronave a = (Aeronave)cboMatriculas.SelectedItem;
                RutaAerea ruta = new RutaAerea().obtenerRutaAereaPorCiudades((int)cboCiudadOrigen.SelectedValue, (int)cboCiudadDestino.SelectedValue);
                if (ruta == null)
                {
                    throw new Exception("No se ha encontrado la ruta aerea ingresada.");
                }

                Viaje v = new Viaje().obtenerViajePorAeroRutaYFechaSalida(a.idAeronave, ruta.idRutaAerea, dtpSalida.Value);
                if (v == null)
                {
                    throw new Exception("No se ha encontrado el viaje solicitado.");
                }

                if (v.fechaLlegadaViaje != DateTime.MinValue)
                {
                    throw new Exception("Ya se ha registrado la fecha de llegada del viaje ingresado.");
                }
                var frmInfo = new frmInfoAeronave(a, v);
                frmInfo.ShowDialog();
                limpiarCampos();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message,"Error");
            }
        }
        private void totalCompra()
        {
            total = 0;
            Aeronave a = new Aeronave().obtenerHabilitadasLista().Find(aer => aer.idAeronave == viajeCompra.idAeronave);
            TipoServicio ts = new TipoServicio().obtenerPorId(a.idTipoServicio);
            RutaAerea ra = new RutaAerea().obtenerRutaAereaPorId(viajeCompra.idRutaAerea);

            precioPorPasaje = (int)ra.precioPasajeRutaAerea + ((ts.porcentajeTipoServicio / 100) * (int)ra.precioPasajeRutaAerea);
            precioPorPasaje = Math.Round(precioPorPasaje, 2);

            total = precioPorPasaje * cantPasajes;

            if (kgsEncomienda > 0)
            {
                precioEncomienda = ((int)ra.precioKGRutaAerea * kgsEncomienda);
                precioEncomienda = Math.Round(precioEncomienda, 2);
                total += precioEncomienda;
            }
        }
        private void dgvRutaAerea_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == -1)
                return;

            RutaAerea ruta = new RutaAerea().obtenerRutaAereaPorId((int)dgvRutaAerea.Rows[e.RowIndex].Cells[0].Value);

            if (ruta != null)
            {
                if (e.ColumnIndex == 7)
                {
                    var frmAM = new formAMRutaAerea(ruta);
                    frmAM.ShowDialog();
                    this.actualizar(new RutaAerea().obtenerRutasAereasDGV());
                    this.limpiarFiltros();
                }
                else if (e.ColumnIndex == 8)
                {
                    if (!ruta.habilitadaRutaAerea) { MessageBox.Show("La ruta ya se encuentra inhabilitada.", "Error"); return; }

                    var respuesta = MessageBox.Show(string.Format("¿Está seguro que desea inhabilitar la ruta {0} que va de {1} a {2}?", ruta.codigoRutaAerea, dgvRutaAerea.Rows[e.RowIndex].Cells[4].Value.ToString(), dgvRutaAerea.Rows[e.RowIndex].Cells[5].Value.ToString()), "Atención", MessageBoxButtons.YesNo);
                    if (respuesta == DialogResult.Yes)
                    {
                        ruta.habilitadaRutaAerea = false;
                        ruta.actualizarRuta(ruta);

                        ruta.cancelarPorRutaInhabilitada(ruta, UsuarioLogueado.usuario);

                        this.actualizar(new RutaAerea().obtenerRutasAereasDGV());
                        this.limpiarFiltros();
                    }
                }
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                var mensajeError = String.Empty;

                if (nudCodigo.Value == Decimal.Zero) { mensajeError += "El codigo no puede ser 0." + Environment.NewLine; }
                if (nudPrecioKg.Value == Decimal.Zero) { mensajeError += "El precio base por KG no puede ser 0." + Environment.NewLine; }
                if (nudPrecioPasaje.Value == Decimal.Zero) { mensajeError += "El precio base por pasaje no puede ser 0." + Environment.NewLine; }
                if (cboCiudadOrigen.SelectedIndex == -1) { mensajeError += "No seleccionó una ciudad de origen." + Environment.NewLine; }
                if (cboCiudadDestino.SelectedIndex == -1) { mensajeError += "No seleccionó una ciudad de destino." + Environment.NewLine; }
                if (cboCiudadOrigen.SelectedIndex == cboCiudadDestino.SelectedIndex) { mensajeError += "La ciudad de origen y destino no pueden ser la misma." + Environment.NewLine; }

                if (!string.IsNullOrEmpty(mensajeError)) { throw new Exception(mensajeError); }

                if (modoAlta)
                {
                    if (new RutaAerea().existeRuta((int)nudCodigo.Value, null, null))
                    {
                        throw new Exception("Ya existe una ruta con ese codigo.");
                    }
                    if (new RutaAerea().existeRuta(null, (int)cboCiudadOrigen.SelectedValue, (int)cboCiudadDestino.SelectedValue))
                    {
                        throw new Exception("Ya existe una ruta con mismas ciudades de origen y destino.");
                    }

                    RutaAerea r = new RutaAerea();
                    r.codigoRutaAerea = (int)nudCodigo.Value;
                    r.idCiudadOrigen = (int)cboCiudadOrigen.SelectedValue;
                    r.idCiudadDestino = (int)cboCiudadDestino.SelectedValue;
                    r.habilitadaRutaAerea = !chkInhabilitado.Checked;
                    r.precioKGRutaAerea = (Decimal)nudPrecioKg.Value;
                    r.precioPasajeRutaAerea = (Decimal)nudPrecioPasaje.Value;

                    r.insertar(r);
                    r.idRutaAerea = r.obtenerIdPorCodigoYCiudades(r);
                    formServicioPorRuta frmS = new formServicioPorRuta(r, true);
                    frmS.ShowDialog();
                    Close();
                }
                else
                {
                    RutaAerea rutaModificada = rutaActual;
                    if (rutaModificada.codigoRutaAerea != nudCodigo.Value)
                    {
                        if (new RutaAerea().existeRuta((int)nudCodigo.Value, null, null))
                        {
                            throw new Exception("Ya existe una ruta con ese codigo.");
                        }
                    }
                    rutaModificada.codigoRutaAerea = nudCodigo.Value;
                    if (rutaModificada.idCiudadOrigen != (int)cboCiudadOrigen.SelectedValue || rutaModificada.idCiudadDestino != (int)cboCiudadDestino.SelectedValue)
                    {
                        if (new RutaAerea().existeRuta(null, (int)cboCiudadOrigen.SelectedValue, (int)cboCiudadDestino.SelectedValue))
                        {
                            throw new Exception("Ya existe una ruta con mismas ciudades de origen y destino.");
                        }
                    }
                    rutaModificada.idCiudadOrigen = (int)cboCiudadOrigen.SelectedValue;
                    rutaModificada.idCiudadDestino = (int)cboCiudadDestino.SelectedValue;
                    rutaModificada.precioKGRutaAerea = nudPrecioKg.Value;
                    rutaModificada.precioPasajeRutaAerea = nudPrecioPasaje.Value;
                    rutaModificada.habilitadaRutaAerea = !chkInhabilitado.Checked;

                    rutaModificada.actualizarRuta(rutaModificada);
                    formServicioPorRuta frmS = new formServicioPorRuta(rutaModificada, false);
                    frmS.ShowDialog();
                    Close();
                }

            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Error");
            }
        }
 public formServicioPorRuta(RutaAerea ruta, bool alta)
 {
     InitializeComponent();
     modoAlta = alta;
     rutaActual = ruta;
 }
        public RutaAerea obtenerRutaAereaPorCiudades(int o, int d)
        {
            RutaAerea r = new RutaAerea();
            DatosSistema datos = new DatosSistema();
            string[] param = { "@ciudadO","@ciudadD" };
            DataTable dt = datos.getDatosTabla("[INFONIONIOS].[spObtenerRutaAereaPorCiudades]", param, o,d);
            if (dt.Rows.Count != 0)
            {
                r.idRutaAerea = Int32.Parse(dt.Rows[0]["RUTA_AEREA_ID"].ToString());
                r.codigoRutaAerea = Decimal.Parse(dt.Rows[0]["RUTA_AEREA_CODIGO"].ToString());
                r.precioKGRutaAerea = Decimal.Parse(dt.Rows[0]["RUTA_AEREA_PRECIO_KG"].ToString());
                r.precioPasajeRutaAerea = Decimal.Parse(dt.Rows[0]["RUTA_AEREA_PRECIO_PASAJE"].ToString());
                r.idCiudadOrigen = Int32.Parse(dt.Rows[0]["CIUDAD_ORIGEN_ID"].ToString());
                r.idCiudadDestino = Int32.Parse(dt.Rows[0]["CIUDAD_DESTINO_ID"].ToString());
                r.habilitadaRutaAerea = Boolean.Parse(dt.Rows[0]["RUTA_AEREA_HABILITADA"].ToString());
            }
            else
            {
                return null;
            }

            return r;
        }
Beispiel #10
0
 public int obtenerIdPorCodigoYCiudades(RutaAerea r)
 {
     DataTable dt = this.obtenerRutasAereasFiltro((int)r.codigoRutaAerea, Decimal.Zero, Decimal.Zero, Decimal.Zero, Decimal.Zero, r.idCiudadOrigen, r.idCiudadDestino, null);
     return Int32.Parse(dt.Rows[0]["RUTA_AEREA_ID"].ToString());
 }
Beispiel #11
0
 public void cancelarPorRutaInhabilitada(RutaAerea r, Usuario u)
 {
     string[] parametros = { "@rutaId","@motivo","@usuarioId", "@fechaActual" };
     DatosSistema datos = new DatosSistema();
     datos.Ejecutar("[INFONIONIOS].[spCancelarPorRutaInhabilitada]", parametros, r.idRutaAerea, "La Ruta Aerea asociada ha sido inhabilitada.", u.idUsuario, ConfiguracionGlobal.FechaSistema);
 }
Beispiel #12
0
 public void actualizarRuta(RutaAerea rutaModificada)
 {
     string[] parametros = { "@id", "@codigo", "@ciudadO", "@ciudadD", "@precioKg", "@precioPasaje", "@habilitada" };
     DatosSistema datos = new DatosSistema();
     datos.Ejecutar("[INFONIONIOS].[spUpdateRutaAerea]", parametros, rutaModificada.idRutaAerea, rutaModificada.codigoRutaAerea, rutaModificada.idCiudadOrigen, rutaModificada.idCiudadDestino, rutaModificada.precioKGRutaAerea, rutaModificada.precioPasajeRutaAerea, rutaModificada.habilitadaRutaAerea);
 }
Beispiel #13
0
        public List<RutaAerea> obtenerTodasLista()
        {
            List<RutaAerea> rutas = new List<RutaAerea>();
            DataTable dt = this.obtenerRutasAereas();

            foreach (DataRow row in dt.Rows)
            {
                RutaAerea r = new RutaAerea();
                r.idRutaAerea = Int32.Parse(row["RUTA_AEREA_ID"].ToString());
                r.codigoRutaAerea = Decimal.Parse(row["RUTA_AEREA_CODIGO"].ToString());
                r.precioKGRutaAerea = Decimal.Parse(row["RUTA_AEREA_PRECIO_KG"].ToString());
                r.precioPasajeRutaAerea = Decimal.Parse(row["RUTA_AEREA_PRECIO_PASAJE"].ToString());
                r.idCiudadOrigen = Int32.Parse(row["CIUDAD_ORIGEN_ID"].ToString());
                r.idCiudadDestino = Int32.Parse(row["CIUDAD_DESTINO_ID"].ToString());
                r.habilitadaRutaAerea = Boolean.Parse(row["RUTA_AEREA_HABILITADA"].ToString());

                rutas.Add(r);
            }

            return rutas;
        }