private void buttonContinuar_Click(object sender, EventArgs e)
 {
     Pasaje nuevoPasaje = new Pasaje();
     nuevoPasaje.vuelo = selectedVuelo();
     DatosVuelo datosVuelo = new DatosVuelo(nuevoPasaje);
     datosVuelo.ShowDialog();
 }
        public bool agregarPasaje(Pasaje pasaje)
        {
            bool seAgrego = true;
            if (pasajeNoElegido(pasaje))
            {
                string[] row1 = new string[] { ((Int32)pasaje.codigo).ToString(), ((Int32)pasaje.compraId).ToString() };

                if(lstPasajes.Count >0){
                foreach (Pasaje pas in lstPasajes) {

                    if (pas.compraId != pasaje.compraId) { MessageBox.Show("La Compra no coincide", "Error", MessageBoxButtons.OK);
                    seAgrego = false;
                    }
                }
            }
                if (seAgrego == true)
                {
                    dtgPasajes.Rows.Add(row1);
                    lstPasajes.Add(pasaje);
                }

            }
            else { MessageBox.Show("El pasaje ya fue seleccionado", "Error", MessageBoxButtons.OK);
            seAgrego = false;
            }

            return seAgrego;
        }
예제 #3
0
        public void Guardar_pasaje(Pasaje pasaje)
        {
            //especifico que SP voy a ejecutar
            SqlCommand cmd = new SqlCommand("SANTI_EL_LIDER.Pasaje_Guardar", db.Connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Transaction = db.Transaccion;
            //seteo los parametros que recibe el stored procedure
            cmd.Parameters.AddWithValue("@id", SqlDbType.Int).Value = pasaje.Id > 0 ? pasaje.Id : -1;
            cmd.Parameters.AddWithValue("@codigo", SqlDbType.Int).Value = pasaje.Codigo;
            cmd.Parameters.AddWithValue("@precio", SqlDbType.Float).Value = pasaje.Precio;
            cmd.Parameters.AddWithValue("@id_detalle_compra", SqlDbType.Int).Value = pasaje.DetalleCompra.Id;
            cmd.Parameters.AddWithValue("@id_cliente", SqlDbType.Int).Value = pasaje.Cliente.Id;
            cmd.Parameters.AddWithValue("@id_butaca", SqlDbType.Int).Value = pasaje.Butaca.Id;

            if (pasaje.Id > 0)
                cmd.ExecuteNonQuery();
            else
            {
                SqlDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                {
                    pasaje.Id = Convert.ToInt32(sdr["nuevo"].ToString());
                }
                sdr.Close();
            }
        }
예제 #4
0
        private void reservar_Click(object sender, RoutedEventArgs e)
        {
            if(this.textoAsiento.Text != "")
            {
                try
                {
                    string fechaVenta = DateTime.Today.ToString("dd-MM-yyyy");

                    Pasaje pasaje = new Pasaje(ViajeDiarioFacade.buscarPorId(this.idDiario), Convert.ToInt32(this.textoTotal.Text.ToString()), fechaVenta, Convert.ToInt32(this.textoAsiento.Text.ToString()), "VIGENTE");
                    if (textoNombre.Text != "")
                    {
                        pasaje.cliente = ClienteFacade.buscarPorRut(this.textoCliente.Text.ToString());
                    }
                    PasajeFacade.guardar(pasaje);

                    okAlerta alert = new okAlerta();
                    alert.show("Viaje reservado exitosamente.");
                }
                catch (Exception ex)
                {
                    validar alert = new validar();
                    alert.show("No se pudo realizar la reserva del viaje.");
                }
            }
            else
            {
                validar alert = new validar();
                alert.show("Seleccione un asiento para el viaje");
            }
        }
예제 #5
0
 public ActionResult Create(Pasaje reg)
 {
     //ejecutar
     ViewBag.resp = servicio.agregar_asiento(reg);
     //enviar a la vista
     //      return View(reg);
     return(RedirectToAction("Respuesta"));
 }
예제 #6
0
 public Pasaje ValidarPasaje(Pasaje _pasaje)
 {
     _pasaje.ValidarTipoDocumento();
     _pasaje.ValidarNroDocumento();
     _pasaje.ValidarTipoClase();
     _pasaje.CalcularPrecio();
     return(_pasaje);
 }
        private void CargarDatos()
        {
            _pasaje            = new Pasaje();
            _pasaje.Cli_Id     = _cliente.Id;
            _pasaje.Ser_Codigo = _servicio.Ser_Codigo;
            _pasaje.Pas_Precio = Convert.ToInt32(txtPrecio.Text);

            _pasaje.Pas_Asiento = Convert.ToInt32(boton.Content);
        }
예제 #8
0
        public List <Pasaje> listar2()
        {
            lista = new List <Pasaje>();
            Pasaje aux;

            AccesoDatos datos = new AccesoDatos();

            try
            {
                datos.SetearQery("select P.ID, P.CodBoleto, V.CodViaje, V.Precio, P.CantBoletos, P.TotalPrecio from Pasajes P inner join Viajes V on P.IdViaje=V.ID");

                datos.ejecutarLector();

                while (datos.lector.Read())
                {
                    aux = new Pasaje();

                    //aux.Nombre = (string)lector["nombre"]; OTRA FORMA DE ASIGNACION

                    aux.IdBoleto = datos.lector.GetInt32(0);

                    aux.CodBoleto = datos.lector.GetString(1);

                    aux.Viaje          = new Viaje();
                    aux.Viaje.CodViaje = datos.lector.GetString(2);
                    aux.Viaje.Costo    = datos.lector.GetDecimal(3);


                    aux.CantBoletos = datos.lector.GetInt32(4);
                    aux.PrecioTotal = datos.lector.GetDecimal(5);

                    //if (!Convert.IsDBNull(datos.lector["Estado"]))


                    //if (!Convert.IsDBNull(datos.lector["FechaNac"]))
                    //    aux.FechaNacimiento = datos.lector.GetSqlDateTime(3);

                    //if (!Convert.IsDBNull(datos.lector["Estado"]))
                    //    aux.Estado = datos.lector.GetSqlBoolean(3);

                    lista.Add(aux);
                }

                return(lista);
            }


            catch (Exception ex)
            {
                throw ex;
            }

            finally
            {
                datos.cerrarConexion();
            }
        }
        /// <summary>
        /// Envia un correo con el pasaje reservado al usuario especificado
        /// </summary>
        /// <param name="u">Usuario al que se le envia el correo</param>
        /// <param name="p">Pasaje a enviar en el correo</param>
        public void EnviarPasajeReservado(Usuario u, Pasaje p, ConfirmarPagoModel cpm)
        {
            try
            {
                // obtengo el pasaje en PDF en base64
                string pdfBase64 = new PdfHelper().GenerarPasaje(u, p, cpm);

                // crea el correo para enviar
                EmailDTO email = new EmailDTO()
                {
                    // datos de quien envia
                    sender = new EmailInvolvedDTO()
                    {
                        email = ConfigurationManager.AppSettings["SendinBlueMailSenderEmail"],
                        name  = ConfigurationManager.AppSettings["SendinBlueMailSenderName"],
                    },
                    // asunto
                    subject = ConfigurationManager.AppSettings["SendinBlueMailSubject"],
                    // contenido html (ya no lo uso porque uso un template)
                    //htmlContent = emailHtml,

                    // ID del template a usar
                    templateId = 1,
                };

                // Establesco la lista de destinatarios (que en realidad es uno solo)
                email.to.Add(
                    new EmailInvolvedDTO()
                {
                    email = u.persona.correo,
                    name  = u.persona.nombre,
                }
                    );

                //agrego el archivo adjunto
                email.attachment.Add(
                    new EmailAttachmentBase64DTO()
                {
                    name    = "pasaje_" + p.id + ".pdf",
                    content = pdfBase64,
                }
                    );

                //agrego los parametros que se usan en el template
                [email protected]("nombre", u.persona.nombre);

                string json = Newtonsoft.Json.JsonConvert.SerializeObject(email);

                // envio la peticion HTTP con los datos a la API de SendinBlue
                HttpResponseMessage response = Task.Run(() => client.PostAsJsonAsync("smtp/email", email)).Result;
                response.EnsureSuccessStatusCode();
            }
            catch (Exception e)
            {
                throw new Exception("Ocurrió un error al enviar el correo. " + e.Message);
            }
        }
예제 #10
0
 public void Cancelar(Pasaje pasaje, string motivo,  int codigo_devolucion)
 {
     SqlCommand cmd = new SqlCommand("SANTI_EL_LIDER.Pasaje_Cancelar", db.Connection);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Transaction = db.Transaccion;
     cmd.Parameters.AddWithValue("@id_pasaje", SqlDbType.Int).Value = pasaje.Id;
     cmd.Parameters.AddWithValue("@motivo", SqlDbType.VarChar).Value = motivo;
     cmd.Parameters.AddWithValue("@codigo_devolucion", SqlDbType.Int).Value = codigo_devolucion;
     cmd.ExecuteNonQuery();
 }
예제 #11
0
 public Nuevo_Pasaje(Compra_Pasaje.Viaje viaje, bool hay_discapacitado)
 {
     this.viaje = viaje;
     this.pasaje = null;
     this.yaExisteDiscapacitado = hay_discapacitado;
     InitializeComponent();
     cargarCombosSexo();
     listado_butacas.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
     cargarTablaButacas();
 }
예제 #12
0
    private void AddPasaje(Pasaje pasaje)
    {
        ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)Session[ConstantesDeSesion.VIATICO_EN_EDICION];

        var nuevos_pasajes = pasajes();// new List<Pasaje>(viatico_en_edicion.Pasajes);

        nuevos_pasajes.Add(pasaje);

        viatico_en_edicion.Pasajes = nuevos_pasajes.ToArray();
    }
예제 #13
0
 public void removePasaje(int id)
 {
     using (BDpasajesEntities context = new BDpasajesEntities())
     {
         Pasaje pasaje = (from q in context.Pasaje
                          where q.pas_codigo == id
                          select q).First();
         context.DeleteObject(pasaje);
         context.SaveChanges();
     }
 }
예제 #14
0
        public void Insert_Pasaje(Pasaje pasaje)
        {
            if (cn_connection.State != ConnectionState.Open)
            {
                cn_connection.Open();
            }
            string     sql_Text    = "INSERT INTO Pasaje ([Cli_DNI],[Ser_Codigo],[Pas_Asiento],[Pas_Precio],[Pas_FechaHora]) VALUES('" + pasaje.Cli_DNI + "','" + pasaje.Ser_Codigo + "','" + pasaje.Pas_Asiento + "','" + pasaje.Pas_Precio + "','" + pasaje.Pas_FechaHora.ToString("yyyy-MM-dd HH:mm:ss") + "')";
            SqlCommand cmd_Command = new SqlCommand(sql_Text, cn_connection);

            cmd_Command.ExecuteNonQuery();
        }
예제 #15
0
        public void Delete_Pasaje(Pasaje pasaje)
        {
            if (cn_connection.State != ConnectionState.Open)
            {
                cn_connection.Open();
            }
            string     sql_Text    = "DELETE FROM Pasaje WHERE(Pas_Codigo = " + pasaje.Pas_Codigo + ")";
            SqlCommand cmd_Command = new SqlCommand(sql_Text, cn_connection);

            cmd_Command.ExecuteNonQuery();
        }
예제 #16
0
        public void Update_Pasaje(Pasaje pasaje)
        {
            if (cn_connection.State != ConnectionState.Open)
            {
                cn_connection.Open();
            }
            string     sql_Text    = "UPDATE Pasaje SET [Cli_DNI] = '" + pasaje.Cli_DNI + "', [Ser_Codigo] = '" + pasaje.Ser_Codigo + "', [Pas_Asiento] = '" + pasaje.Pas_Asiento + "', [Pas_Precio] = '" + pasaje.Pas_Asiento + "', [Pas_FechaHora] = '" + pasaje.Pas_FechaHora.ToString("yyyy-MM-dd HH:mm:ss") + "' WHERE Pas_Codigo = " + pasaje.Pas_Codigo;
            SqlCommand cmd_Command = new SqlCommand(sql_Text, cn_connection);

            cmd_Command.ExecuteNonQuery();
        }
예제 #17
0
 private void BindDatosViaje(List <Pasaje> pasajes)
 {
     if (pasajes.Any())
     {
         Pasaje pa = pasajes[0];
         _cliente            = pa.Cliente;
         lbCodRecorrido.Text = pa.Viaje.Recorrido.Codigo;
         lbCodCrucero.Text   = pa.Viaje.Crucero.Codigo;
         lbFechaSalida.Text  = pa.Viaje.FechaSalida.ToString();
         lbFechaLlegada.Text = pa.Viaje.FechaLlegadaEstimada.ToString();
     }
 }
        private void btnPagar_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrWhiteSpace(txtReserva.Text))
            {
                MessageBox.Show("Debe completar todos los campos", "Error: Campos incompletos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            else
            {
                DatosPagoReserva datosPagoReserva = new DatosPagoReserva();
                int codigoReserva = Convert.ToInt32(txtReserva.Text);

                //obtengo el pasaje de esa reserva
                int codigoPasaje = datosPagoReserva.obtenerPasajeDeUnaReserva(codigoReserva);
                if (codigoPasaje == -1)
                {
                    MessageBox.Show("No existe una reserva con ese número de código", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (codigoPasaje == -2)
                {
                    MessageBox.Show("La reserva ya fue cancelada por haber expirado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (codigoPasaje == -3)
                {
                    MessageBox.Show("El pasaje de esta reserva fue cancelado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (codigoPasaje == -4)
                {
                    MessageBox.Show("El pasaje de esta reserva ya fue pagado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    DatosMediosDePago datosMediosDePago = new DatosMediosDePago();

                    //creo el pasaje de la reserva con su codigo y el codigo del cliente
                    Pasaje pasaje = new Pasaje();
                    pasaje.setCodigoPasaje(codigoPasaje);
                    pasaje.setCodigoCliente(datosMediosDePago.obtenerCodigoClienteDeUnPasajePersistido(codigoPasaje));
                    pasaje.setPrecio(datosMediosDePago.obtenerPrecioDeUnPasaje(codigoPasaje));

                    //creo la compra y le agrego el pasaje de la reserva
                    Compra compra = new Compra(true);
                    compra.agregarPasaje(pasaje);

                    //paso a otro form para que ingrese el medio de pago
                    frmMedioDePago frm = new frmMedioDePago(compra);

                    frm.FormClosed += frm_FormClosed;
                    frm.Show();
                    this.Hide();
                }
            }
        }
예제 #19
0
        private Linea cargarLinea(SqlDataReader reader)
        {
            var objL = new Linea();
            var objT = new Tramo();
            var objP = new Pasaje();

            objL.objT = new Tramo()
            {
                id = Convert.ToInt32(reader["idTramo"])
            };
            return(objL);
        }
예제 #20
0
 private void RegistrarPasaje(Pasaje pasajero)
 {
     if (dgvVuelos.SelectedRows.Count == 1)
     {
         _pasajesServicio.RegistrarPasaje(_pasaje);
         MessageBox.Show("La operación se realizó con éxito");
         CerrarForm();
     }
     else
     {
         MessageBox.Show("Debe seleccionar un Vuelo", "Información");
     }
 }
예제 #21
0
        public void guardar(Pasaje objP, Omnibus objO, Horario objH, Ciudad objOrigen, Ciudad objDestino)
        {
            var param = new List <SqlParameter>();
            var costo = new SqlParameter();

            costo.ParameterName = "@costo";
            costo.Value         = objP.costo;
            param.Add(costo);
            var fecha = new SqlParameter();

            fecha.ParameterName = "@fecha";
            fecha.Value         = objP.fecha;
            param.Add(fecha);
            var idOmnibus = new SqlParameter();

            idOmnibus.ParameterName = "@idOmnibus";
            idOmnibus.Value         = objO.id;
            param.Add(idOmnibus);
            var origen = new SqlParameter();

            origen.ParameterName = "@idCiudadOrigen";
            origen.Value         = objOrigen.id;
            param.Add(origen);
            var destino = new SqlParameter();

            destino.ParameterName = "@idCiudadDestino";
            destino.Value         = objDestino.id;
            param.Add(destino);
            var horario = new SqlParameter();

            horario.ParameterName = "@idHorario";
            horario.Value         = objH.id;
            param.Add(horario);
            var con = AbrirConexion();
            var trn = con.BeginTransaction();

            try
            {
                var filasAfectadas = EjecutaNonQuery("INSERT INTO pasaje (costo, fecha, idOmnibus, idHorario, idCiudadOrigen, idCiudadDestino) VALUES (@costo, @fecha, @idOmnibus, @idHorario, @idCiudadOrigen, @idCiudadDestino)", CommandType.Text, param, con, trn);

                trn.Commit();
            }
            catch (Exception ex)
            {
                trn.Rollback();
            }
            finally
            {
                CerrarConexion(con);
            }
        }
예제 #22
0
        private void btnBuscarAceptar1_Click(object sender, EventArgs e)
        {
            Pasaje pasaje = new Pasaje();

            if (txtBuscarId.Text.Equals(string.Empty) || txtBuscarId.Text.Equals("id no encontrada"))
            {
                txtBuscarId.Text = "0";
            }
            try
            {
                pasaje.Id = Convert.ToInt32(txtBuscarId.Text);
                if (pasaje.Read1())
                {
                    if (!pasaje.RutPasajero.Equals(string.Empty))
                    {
                        groupBox4.Visible        = true;
                        txtBuscarNombre.Text     = pasaje.NombrePasajero;
                        txtBuscarAccidentes.Text = pasaje.TelefonoAccidente;
                        txtBuscarDestino.Text    = pasaje.DestinoViaje;
                        txtBuscarDireccion.Text  = pasaje.DireccionPasajero;
                        txtBuscarFecha.Text      = pasaje.FechaViaje.ToShortDateString();
                        txtBuscarId.Text         = Convert.ToString(pasaje.Id);
                        txtBuscarNacimiento.Text = pasaje.FechaNacimiento.ToShortDateString();
                        txtBuscarPersonal.Text   = pasaje.TelefonoPersonal;
                        txtBuscarRut.Text        = pasaje.RutPasajero;
                        if (pasaje.Sexo.Equals(0))
                        {
                            pasaje.Sexo = "Masculino";
                        }
                        else
                        {
                            pasaje.Sexo = "Femenino";
                        }
                        txtBuscarSexo.Text = pasaje.Sexo;
                    }
                    if (pasaje.RutPasajero == null)
                    {
                        txtBuscarId.Text = "id no encontrada";
                    }
                }
                else
                {
                    txtBuscarId.Text = "id no encontrada";
                }
            }
            catch
            {
                txtBuscarId.Text = "id no encontrada";
            }
        }
예제 #23
0
        static public Pasaje epasajeAPasaje(EPasaje Epas)
        {
            Pasaje pas = new Pasaje();

            pas.IdPasaje        = Epas.IdPasaje;
            pas.Asientos        = Epas.Asientos;
            pas.Documento       = Epas.Documento;
            pas.TipoDocuemtno   = Epas.TipoDocuemtno;
            pas.IdUsuario       = Epas.IdUsuario;
            pas.IdViaje         = Epas.IdViaje;
            pas.IdParadaDestino = Epas.IdParadaDestino;
            pas.IdParadaOrigen  = Epas.IdParadaOrigen;
            return(pas);
        }
예제 #24
0
        static public EPasaje pasajeAEPasaje(Pasaje pas)
        {
            EPasaje Epas = new EPasaje();

            Epas.IdPasaje        = pas.IdPasaje;
            Epas.Asientos        = pas.Asientos;
            Epas.Documento       = pas.Documento;
            Epas.TipoDocuemtno   = pas.TipoDocuemtno;
            Epas.IdUsuario       = pas.IdUsuario;
            Epas.IdViaje         = pas.IdViaje;
            Epas.IdParadaDestino = pas.IdParadaDestino;
            Epas.IdParadaOrigen  = pas.IdParadaOrigen;
            return(Epas);
        }
예제 #25
0
        public void ActualizarPasaje(Pasaje p)
        {
            using (var tx = DBHelper.GetDBHelper().IniciarTransaccion())
            {
                try
                {
                    var sql = $"UPDATE Pasaje SET TipoDNI = '{p.TipoDocumento.Id}', NroDNI = '{p.NroDocumento.NroDocumento}'," +
                              $" TipoPasaje = {p.IdTipoPasaje.Id},NroVuelo = {p.Vuelo.NroVuelo}, FechaHoraSalida = '{p.Vuelo.FechaHoraSalida}'" +
                              $",FechaHoraLlegada ='{p.Vuelo.FechaHoraLlegada}',IdAeropuertoSalida = {p.AeropuertoOrigen.IdAeropuerto} ";
                    if (p.TieneMotivo())
                    {
                        sql += $", MotivoViaje ='{p.Motivo}'";
                    }
                    if (p.TienePrecio())
                    {
                        sql += $", Precio={p.Precio}";
                    }
                    sql += $" where NroPasaje = {p.Id}";
                    DBHelper.GetDBHelper().EjecutarUpdateTransaccionSQL(sql);

                    /*
                     * sql = $"INSERT INTO BugsHistorico (fecha_historico, titulo, descripcion, id_bug, id_usuario_responsable, id_producto, id_estado";
                     * if (b.TienePrioridad())
                     *  sql += ", id_prioridad";
                     * if (b.TieneCriticidad())
                     *  sql += ", id_criticidad";
                     * sql += $") VALUES('{DateTime.Today.ToString("yyyy-MM-dd")}', '{b.Titulo}', '{b.Descripcion}', {b.Id}, " +
                     * $"{b.UsuarioResponsable.Id}, {b.Producto.Id},  {b.Estado.Id}";
                     * if (b.TienePrioridad())
                     *  sql += $", {b.Prioridad.Id}";
                     * if (b.TieneCriticidad())
                     *  sql += $", {b.Criticidad.Id}";
                     * sql += ")";
                     * DBHelper.GetDBHelper().EjecutarTransaccionSQL(sql);*/
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    //el Rollback lo que me haria es que, cuando yo quiero hacer 2 o + sentencias que cada una depende de la anterior y si falla una
                    //de ellas las anteriores se borraran no se ejecutaran
                    tx.Rollback();
                    throw new ApplicationException("No se pudo editar el pasaje.");
                }
                finally
                {
                    DBHelper.GetDBHelper().CloseConnection();
                }
            }
        }
예제 #26
0
    public void QuitarPasajeDelListado(int id_pasaje)
    {
        ComisionDeServicio viatico_en_edicion = (ComisionDeServicio)HttpContext.Current.Session[ConstantesDeSesion.VIATICO_EN_EDICION];

        List <Pasaje> pasajes_existentes = new List <Pasaje>(viatico_en_edicion.Pasajes);

        Pasaje pasaje_a_borrar = pasajes_existentes.Find(p => p.Id == (int)id_pasaje);

        pasajes_existentes.Remove(pasaje_a_borrar);

        viatico_en_edicion.Pasajes = pasajes_existentes.ToArray();

        this.ControlGrillaEstadias.MostrarTablaDeEstadias(viatico_en_edicion);
        this.ControlGrillaPasajes.MostrarTablaDePasajes(viatico_en_edicion);
    }
예제 #27
0
 public formEditarPasaje(formPasajes frmPasajes, PasajesFiltros f)
 {
     _pasajerosServicio = new PasajerosServicio();
     _pasajesServicio   = new PasajesServicio();
     //_pasajero = new Pasajero();
     _frmPasajes                 = frmPasajes;
     _tipoDocumentosServicio     = new TipoDocumentosServicio();
     _tipoPasajesServicio        = new TipoPasajesServicio();
     _aeropuertosServicioOrigen  = new AeropuertosServicio();
     _aeropuertosServicioDestino = new AeropuertosServicio();
     _embarquesServicio          = new EmbarquesServicio();
     _vuelosServicio             = new VuelosServicio();
     _pasaje = _pasajesServicio.ObtenerPasaje(f);
     InitializeComponent();
 }
예제 #28
0
 protected void btnGuardar_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         Pasaje objP = new Pasaje()
         {
             costo  = Convert.ToInt32(txtCosto.Text),
             fecha  = Convert.ToDateTime(clndFecha.SelectedDate),
             origen = new Ciudad()
             {
                 id = Convert.ToInt32(ddlCiudadOrigen.SelectedValue)
             },
             destino = new Ciudad()
             {
                 id = Convert.ToInt32(ddlCiudadDestino.SelectedValue)
             },
             objO = new Omnibus()
             {
                 id = Convert.ToInt32(ddlOmnibus.SelectedValue)
             },
             objH = new Horario()
             {
                 id = Convert.ToInt32(ddlHorario.SelectedValue)
             },
         };
         var res = new gestoraPasaje().agegarPasaje(objP, objP.objO, objP.objH, objP.origen, objP.destino);
         {
             if (res.estaCorrecto)
             {
                 cargarOmnibus();
                 cargarPasajes();
                 lblExito.Text = "El pasaje ha sido guardado";
             }
             else
             {
                 foreach (var err in res.errores)
                 {
                     Page.Validators.Add(new CustomValidator()
                     {
                         ValidationGroup = "Alta",
                         IsValid         = false,
                         ErrorMessage    = err,
                     });
                 }
             }
         }
     }
 }
예제 #29
0
 public Pasaje FindById(int id)
 {
     SqlCommand cmd = new SqlCommand("SANTI_EL_LIDER.Pasaje_FindById", db.Connection);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Transaction = db.Transaccion;
     //seteo los parametros que recibe el stored procedure
     cmd.Parameters.AddWithValue("@id", SqlDbType.Int).Value = id;
     SqlDataReader sdr = cmd.ExecuteReader();
     Pasaje compraSeleccionada = new Pasaje();
     while (sdr.Read())
     {
         compraSeleccionada = LoadObject(sdr);
     }
     sdr.Close();
     return compraSeleccionada;
 }
예제 #30
0
        private void guardarPasaje()
        {
            CompraDAO compraDAO = CompraDAO.getInstance();
            Pasaje    pasaje    = new Pasaje();

            pasaje.clienteDNI = Convert.ToInt64(this.tb_DNI.Text);
            pasaje.butacaNRO  = this.butacaSeleccionada.nro;
            pasaje.viajeID    = this.formPrincipal.viajeSeleccionado.ID;
            //pasaje.precio = compraDAO.calcularPrecioPasaje(this.formPrincipal.viajeSeleccionado.ID);

            if (this.cb_Discapacitado.Text.Equals("Si"))
            {
                this.hayDiscapacitado = true;
            }

            this.pasajes.Add(pasaje);
        }
예제 #31
0
        private Pasaje cargarPasaje(SqlDataReader reader)
        {
            var objP = new Pasaje();
            var objO = new Omnibus();
            var objH = new Horario();
            var objC = new Ciudad();
            var objT = new Tramo();

            objP.fecha = Convert.ToDateTime(reader["fecha"]);
            objP.costo = Convert.ToInt32(reader["costo"]);

            var idCiudad  = new ciudadMapper().obtenerPorId(objC.id);
            var idHorario = new horarioMapper().obtenerPorId(objH.id);
            var idOmnibus = new omnibusMapper().obtenerPorId(objO.id);

            return(objP);
        }
예제 #32
0
        private Pasaje Listar(DataRow fila)
        {
            var pasaje = new Pasaje();

            pasaje.Id     = Convert.ToInt32(fila["NroPasaje"].ToString());
            pasaje.Motivo = fila["MotivoViaje"].ToString();
            if (fila["Precio"].ToString() != null)
            {
                pasaje.Precio = Convert.ToInt32(fila["Precio"].ToString());
            }
            pasaje.NroDocumento = new Pasajero()
            {
                NroDocumento    = fila["NroDNI"].ToString(),
                Apellido        = fila["Apellido"].ToString(),
                Nombre          = fila["Nombre"].ToString(),
                Telefono        = fila["Telefono"].ToString(),
                Email           = fila["Mail"].ToString(),
                FechaNacimiento = Convert.ToDateTime(fila["FechaNacimiento"].ToString()),
                TipoDocumento   = new TipoDocumento()
                {
                    Id = fila["TipoDNI"].ToString(),
                    //Descripcion = fila["Descripcion"].ToString()
                }
            };
            pasaje.TipoDocumento = pasaje.NroDocumento.TipoDocumento;
            pasaje.IdTipoPasaje  = new TipoPasaje()
            {
                Id      = Convert.ToInt32(fila["IdTipoPasaje"].ToString()),
                Detalle = fila["Descripcion"].ToString()
            };
            pasaje.AeropuertoOrigen = new Aeropuerto();
            pasaje.AeropuertoOrigen.IdAeropuerto  = Convert.ToInt32(fila["IdAeropuertoOrigen"].ToString());
            pasaje.AeropuertoOrigen.Nombre        = fila["AeropuertoOrigen"].ToString();
            pasaje.AeropuertoOrigen.Domicilio     = fila["Origen"].ToString();
            pasaje.AeropuertoDestino              = new Aeropuerto();
            pasaje.AeropuertoDestino.IdAeropuerto = Convert.ToInt32(fila["IdAeropuertoDestino"].ToString());
            pasaje.AeropuertoDestino.Nombre       = fila["AeropuertoDestino"].ToString();
            pasaje.AeropuertoDestino.Domicilio    = fila["Destino"].ToString();

            /*pasaje.Vuelo = new VueloV2();
             * pasaje.Vuelo.Estado = new Estado();
             * pasaje.Vuelo.Estado.IdEstado = Convert.ToInt32(fila["Estado"].ToString());*/
            /*pasaje.Embarque = new EmbarqueV2();
             * pasaje.Embarque.PuertaEmbarque = Convert.ToInt32(fila["PuertaEmbarque"].ToString());*/
            return(pasaje);
        }
예제 #33
0
        public void AltaDeUnPasaje(Pasaje un_pasaje)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@IdComisionDeServicio", un_pasaje.ComisionDeServicio.Id);
            parametros.Add("@Fecha", un_pasaje.FechaDeViaje);
            parametros.Add("@Origen", un_pasaje.Origen.Id);
            parametros.Add("@Destino", un_pasaje.Destino.Id);
            parametros.Add("@Precio", un_pasaje.Precio);
            parametros.Add("@MedioDeTransporte", un_pasaje.MedioDeTransporte.Id);
            parametros.Add("@MedioDePago", un_pasaje.MedioDePago.Id);
            parametros.Add("@Baja", un_pasaje.Baja);
            parametros.Add("@usuario", un_pasaje.Baja);
            var id = conexion_bd.EjecutarEscalar("dbo.VIA_AltaPasaje", parametros);

            un_pasaje.Id = (int)((Decimal)id);
        }
예제 #34
0
        public void Registrar(Pasaje p)
        {
            using (var tx = DBHelper.GetDBHelper().IniciarTransaccion())
            {
                try
                {
                    var sql = $"INSERT INTO Pasaje (TipoPasaje, TipoDNI, NroDNI";
                    if (p.TienePrecio())
                    {
                        sql += ", Precio";
                    }
                    if (p.TieneMotivo())
                    {
                        sql += ", MotivoViaje";
                    }
                    sql += $",NroVuelo,FechaHoraSalida,FechaHoraLlegada,IdAeropuertoSalida) " +
                           $"VALUES({p.IdTipoPasaje.Id}, '{p.TipoDocumento.Id}', '{p.NroDocumento.NroDocumento}'";
                    if (p.TienePrecio())
                    {
                        sql += $", {p.Precio}";
                    }
                    if (p.TieneMotivo())
                    {
                        sql += $", '{p.Motivo}'";
                    }
                    sql += $",{p.Vuelo.NroVuelo},'{p.Vuelo.FechaHoraSalida}','{p.Vuelo.FechaHoraLlegada}',{p.AeropuertoOrigen.IdAeropuerto})";
                    p.Id = DBHelper.GetDBHelper().EjecutarTransaccionSQL(sql);



                    tx.Commit();
                }
                catch (Exception ex)
                {
                    //el Rollback lo que me haria es que, cuando yo quiero hacer 2 o + sentencias que cada una depende de la anterior y si falla una
                    //de ellas las anteriores se borraran no se ejecutaran
                    tx.Rollback();
                    throw new ApplicationException("No se pudo registrar el pasaje.");
                }
                finally
                {
                    DBHelper.GetDBHelper().CloseConnection();
                }
            }
        }
        public DatosVuelo(Pasaje pasaje)
        {
            this.pasaje = pasaje;
            InitializeComponent();

            textBoxAvion.Text = pasaje.vuelo.aeronave.ToString();
            textBoxFechaSalida.Text = pasaje.vuelo.fechaSalida.ToString();
            textBoxFechaLlegada.Text = pasaje.vuelo.fechaLlegada.ToString();

            Ruta ruta = DAORuta.getRuta((int) pasaje.vuelo.ruta);
            textBoxCiudadDestino.Text = ruta.ciudadDestinoNombre;
            textBoxCiudadOrigen.Text = ruta.ciudadOrigenNombre;
            textBoxTipoServicio.Text = ruta.tipoServicioNombre;

            kgDisponibles = DAOVuelo.getKgDisponibles((int)pasaje.vuelo.id);
            textBoxKilogramosDisponibles.Text = kgDisponibles.ToString();
            butacasDisponibles = DAOButaca.getButacasDisponibles((int)pasaje.vuelo.id).Count;
            textBoxPasajesDisponibles.Text = butacasDisponibles.ToString();
        }
예제 #36
0
 private void bajaPasaje(DateTime fechaServicio, DateTime fechaBaja, Button button)
 {
     if (fechaServicio > fechaBaja)
     {
         Pasaje oPasaje = _pasajeRepositorio.traerAsiento(Convert.ToInt32(button.Content), oServicio.ser_codigo);
         _pasajeRepositorio.removePasaje(oPasaje.pas_codigo);
         gridPrincipalPasajes.Children.Clear();
         userControls.uGestionVentas.uPasajeUnPiso pasajes = new userControls.uGestionVentas.uPasajeUnPiso();
         pasajes.CodigoServicio = oServicio.ser_codigo;
         pasajes.NombreUsuario  = nombreUsuario;
         pasajes.CodigoEmpresa  = (int)oAutobus.emp_codigo;;
         gridPrincipalPasajes.Children.Add(pasajes);
         MessageBox.Show("Pasaje dado de Baja!", "Venta de Pasajes", MessageBoxButton.OK, MessageBoxImage.Asterisk);
     }
     else
     {
         MessageBox.Show("No se puede dar de baja el Pasaje, el Servicio ya fue realizado", "Venta de Pasaje", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
예제 #37
0
        private Button generarAsientoVacio(int numeroAsiento)
        {
            Button botonAsiento = new Button
            {
                Background  = Brushes.Black,
                Foreground  = Brushes.White,
                FontWeight  = FontWeights.Bold,
                Content     = numeroAsiento.ToString(),
                Margin      = new Thickness(1),
                Width       = 50,
                Height      = 50,
                FontSize    = 15,
                BorderBrush = Brushes.Transparent,
                Name        = "btnAsiento_" + numeroAsiento
            };

            botonAsiento.Click += new RoutedEventHandler(btnAsiento_Click);

            if (_servicioRepositorio.servicioConVentas(oServicio.ser_codigo) == true)
            {
                Pasaje oPasaje = _pasajeRepositorio.traerAsiento(numeroAsiento, oServicio.ser_codigo);

                if (oPasaje != null)
                {
                    Cliente oCliente = new Cliente();
                    oCliente = _clienteRepositorio.buscarCliente(oPasaje.cli_dni);

                    botonAsiento.Background = Brushes.Red;
                    ToolTip tt = new ToolTip();
                    tt.Content = "Cliente: " + oCliente.cli_nombre + " " + oCliente.cli_apellido
                                 + "\nDNI: " + oCliente.cli_dni
                                 + "\nTelefono: " + oCliente.cli_telefono
                                 + "\nEmail: " + oCliente.cli_email;
                    botonAsiento.ToolTip = tt;
                    asientoOcupado++;
                }
                else
                {
                    botonAsiento.Cursor = Cursors.Hand;
                }
            }
            return(botonAsiento);
        }
예제 #38
0
        internal static void CrearPasaje(Pasaje pasaje, int idReunion)
        {
            try
            {
                DbCommand cmd = db.GetStoredProcCommand("IBVD_CrearPasaje");

                db.AddInParameter(cmd, "Index", DbType.Int32, pasaje.GetId());
                db.AddInParameter(cmd, "CodigoBiblia", DbType.String, pasaje.Biblia.Codigo);
                db.AddInParameter(cmd, "Libro", DbType.Int32, pasaje.Libro.Numero);
                db.AddInParameter(cmd, "Pasaje", DbType.String, pasaje.PasajeTexto);
                db.AddInParameter(cmd, "ReunionId", DbType.Int32, idReunion);

                db.ExecuteNonQuery(cmd);
            }
            catch (Exception ex)
            {
                throw new DataAccessException("Error al crear el pasaje en la base de datos: BibliaMapper.GetLibrosData", ex);
            }
        }
 private void dataGridViewVuelos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     Pasaje nuevoPasaje = new Pasaje();
     nuevoPasaje.vuelo = selectedVuelo();
     DatosVuelo datosVuelo = new DatosVuelo(nuevoPasaje);
     datosVuelo.ShowDialog();
 }
        private void btnNext_Click(object sender, EventArgs e)
        {
            ClienteDAO dao = new ClienteDAO();
            if (enRevision == null)
                enRevision = new Cliente();

            enRevision.Dni = Convert.ToInt32(txtDni.Text);
            enRevision.Nombre = txtNombre.Text;
            enRevision.Apellido = txtApellido.Text;
            enRevision.Direccion = txtDireccion.Text;
            enRevision.Mail = txtMail.Text;
            enRevision.Telefono = Convert.ToInt32(txtTelefono.Text);
            enRevision.FechaNac = new DateTime(cmbAnio.SelectedIndex + 1900, cmbMes.SelectedIndex+1, (int)cmbDia.SelectedValue);
            dao.Guardar_cliente(enRevision);
            //save
            Random rnd = new Random();
            int codigo = rnd.Next(10000000, 99999999); // creates a 8 digit random no.
            if (indice <= cant_pasajes)
            {
                if (butaca_elegida == null) {
                    MessageBox.Show("Debe elegir una butaca");
                    return;
                }
                Pasaje pasaje = new Pasaje();
                pasaje.Butaca = butaca_elegida;
                pasaje.Cliente = enRevision;
                pasaje.Codigo = codigo;
                pasajes.Add(pasaje);
                butacas_disponibles.Remove(butaca_elegida);
            }
            else
            {
                Paquete paq = new Paquete();
                paq.Kgs = kgs;
                paq.Cliente = enRevision;
                paquete = paq;
            }
            indice++;
            if (indice > total)
            {
                //paso al form de pago
                Pago form = new Pago(pasajes, paquete, viaje);
                form.Show();
                this.Hide();
            }
            else
            {
                SetCaption();
                ClearFields();
            }
        }
        public bool pasajeNoElegido(Pasaje pasaje)
        {
            bool retorno= true;

            foreach (Pasaje pas in lstPasajes) {

                if (pas.codigo == pasaje.codigo) { retorno = false; }
            }

            return retorno;
        }
예제 #42
0
        public Pasaje LoadObject(SqlDataReader reader)
        {
            Pasaje pasaje = new Pasaje();
            pasaje.Id = Convert.ToInt32(reader["id"].ToString());
            pasaje.Codigo = Convert.ToInt32(reader["codigo"].ToString());
            pasaje.Precio=Convert.ToDouble(reader["precio"].ToString());
            pasaje.Cliente = new ClienteDAO().Cliente_FindById(Convert.ToInt32(reader["id_cliente"].ToString()));
            pasaje.Butaca = new ButacaDAO().Butaca_FindById(Convert.ToInt32(reader["id_butaca"].ToString()));
            pasaje.DetalleCompra = new DetalleCompraDAO().DetalleCompra_FindById(Convert.ToInt32(reader["id_detalle_compra"].ToString()));

            return pasaje;
        }
예제 #43
0
        private void b_guardar_Click(object sender, EventArgs e)
        {
            String err = "";
            if (this.butaca == null)
                err = err + "Debe seleccionar una butaca \n";
            if (dni.Text.Trim().Equals(""))
                err = err + "Debe ingresar el DNI del pasajero \n";
            if(nombre.Text.Trim().Equals(""))
                err = err + "Debe ingresar el nombre del pasajero \n";
            if (apellido.Text.Trim().Equals(""))
                err = err + "Debe ingresar el apellido del pasajero \n";
            if (((ComboboxItem)combo_sexo.SelectedItem) == null)
                err = err + "Debe seleccionar el sexo del pasajero \n";
            if (fechaNacimientoMayorActual())
                err = err + "La fecha de nacimiento no puede ser posterior a la fecha actual \n";
            if (discapacidad.Checked && this.yaExisteDiscapacitado)
                err = err + "Ya se ha ingresado un pasajero con discapacidad. Solo puede haber uno por compra. \n";

            String err_cliente = evaluaClienteEnViaje();
            err = (err_cliente.Trim().Equals("")) ? err : err + err_cliente + " \n";

            if (!err.Equals(""))
            {
                MessageBox.Show(err, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            int id_cliente_generado = grabaCliente();
            int id_pasaje_provisorio = guardaButacaProvisoria(this.butaca.id_butaca, id_cliente_generado, this.viaje.id_viaje);

            Pasaje pas = new Pasaje();
            pas.viaje = this.viaje;
            pas.cliente = this.cliente;
            pas.butaca = this.butaca;
            pas.id_provisorio = id_pasaje_provisorio;
            pas.pas_discapacitado = discapacidad.Checked;

            this.pasaje = pas;

            Nuevo_Pasaje.ActiveForm.Close();
        }