Ejemplo n.º 1
0
 public void MapFromDomainObject(ReservaAPagar o)
 {
     this.PuertoDesde = o.PuertoDesde;
     this.PuertoHasta = o.PuertoHasta;
     this.Precio      = o.Precio;
     this.Nombre      = o.Nombre;
     this.Apellido    = o.Apellido;
     this.FechaSalida = o.FechaSalida;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Obtener reserva por ID.
        /// </summary>
        /// <returns></returns>

        public static ReservaAPagar GetReservaAPagarByID(string idReserva)
        {
            int codigoReserva;

            if (!int.TryParse(idReserva, out codigoReserva))
            {
                throw new Exception("El código de reserva solo puede contener numeros");
            }

            var    conn    = Repository.GetConnection();
            string comando = string.Format(@"SELECT rese_precio AS precio, " +
                                           "rv_fecha_salida AS fecha_salida, " +
                                           "(SELECT p.puer_nombre FROM [TIRANDO_QUERIES].Puerto p " +
                                           "JOIN [TIRANDO_QUERIES].Tramo t " +
                                           "ON t.tram_puerto_desde = p.puer_codigo " +
                                           "WHERE t.tram_recorrido = rv.rv_recorrido " +
                                           "AND t.tram_orden = 1) AS puerto_desde, " +
                                           "(SELECT p.puer_nombre " +
                                           "FROM [TIRANDO_QUERIES].Puerto p " +
                                           "JOIN [TIRANDO_QUERIES].Tramo t " +
                                           "ON t.tram_puerto_hasta = p.puer_codigo " +
                                           "WHERE t.tram_recorrido = rv.rv_recorrido " +
                                           "AND t.tram_orden = (SELECT MAX(tram_orden) " +
                                           "FROM [TIRANDO_QUERIES].Tramo t2 " +
                                           "WHERE t2.tram_recorrido = rv.rv_recorrido)) AS puerto_hasta, " +
                                           "c.clie_apellido, " +
                                           "c.clie_nombre, " +
                                           "rese_estado " +
                                           "FROM [TIRANDO_QUERIES].Reserva " +
                                           "JOIN [TIRANDO_QUERIES].Ruta_Viaje rv ON rese_ruta = rv.rv_codigo " +
                                           "JOIN [TIRANDO_QUERIES].Recorrido r ON rv.rv_recorrido = r.reco_codigo " +
                                           "JOIN [TIRANDO_QUERIES].Cliente c ON rese_cliente = c.clie_codigo " +
                                           "WHERE rese_codigo = {0} AND reco_invalido <> 1", codigoReserva);
            DataTable      dataTable;
            SqlDataAdapter dataAdapter;

            try
            {
                PasajeDAO.ValidarEstadoReserva(codigoReserva);

                dataAdapter = new SqlDataAdapter(comando, conn);
                dataTable   = new DataTable();

                dataAdapter.Fill(dataTable);

                if (dataTable.Rows.Count == 0)
                {
                    throw new Exception("No se encuentra registrada ninguna reserva con ese número");
                }

                DataRow registroReserva = dataTable.Rows[0];

                decimal precio          = decimal.Parse(registroReserva["precio"].ToString());
                string  fechaSalida     = registroReserva["fecha_salida"].ToString();
                string  puertoDesde     = registroReserva["puerto_desde"].ToString();
                string  puertoHasta     = registroReserva["puerto_hasta"].ToString();
                string  nombreCliente   = registroReserva["clie_nombre"].ToString();
                string  apellidoCliente = registroReserva["clie_apellido"].ToString();

                var reserva = new ReservaAPagar
                {
                    Apellido    = apellidoCliente,
                    FechaSalida = fechaSalida,
                    Nombre      = nombreCliente,
                    Precio      = precio,
                    PuertoDesde = puertoDesde,
                    PuertoHasta = puertoHasta
                };

                conn.Close();
                conn.Dispose();

                return(reserva);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }