public void Add(RutaDeViaje t) { try { var conn = Repository.GetConnection(); //Inserto la ruta de viaje SqlCommand comando = new SqlCommand(@"INSERT INTO TIRANDO_QUERIES.Ruta_Viaje(rv_recorrido,rv_crucero,rv_fecha_salida,rv_fecha_llegada_estimada) values(@recorrido,@crucero,@desde,@hasta_estimado)", conn); comando.Parameters.AddWithValue("@crucero", t.Crucero.Cod_Crucero); comando.Parameters.AddWithValue("@recorrido", t.Recorrido.Cod_Recorrido); comando.Parameters.AddWithValue("@desde", t.Fecha_Inicio); comando.Parameters.AddWithValue("@hasta_estimado", t.Fecha_Fin_Estimada); comando.ExecuteNonQuery(); comando.Dispose(); conn.Close(); conn.Dispose(); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar crear la ruta de viaje", ex); } }
public static List <RutaDeViaje> ObtenerPasajesSinFinalizar(int IDCrucero) { var conn = Repository.GetConnection(); SqlCommand comando = new SqlCommand( @"SELECT * FROM [TIRANDO_QUERIES].[Ruta_Viaje] " + "WHERE [rv_crucero] = @id_crucero AND [rv_fecha_llegada] IS NULL", conn); DataTable dataTable = new DataTable(); comando.Parameters.AddWithValue("@id_crucero", IDCrucero); SqlDataAdapter dataAdapter = new SqlDataAdapter() { SelectCommand = comando }; try { dataAdapter.Fill(dataTable); List <RutaDeViaje> viajes = new List <RutaDeViaje>(); foreach (DataRow fila in dataTable.Rows) { var viaje = new RutaDeViaje { Cod_Ruta = int.Parse(fila["rv_codigo"].ToString()), Crucero = new Crucero() { Cod_Crucero = IDCrucero }, Fecha_Inicio = (DateTime)fila["rv_fecha_salida"], Fecha_Fin = fila["rv_fecha_llegada"] is DBNull ? null : (DateTime?)fila["rv_fecha_llegada"], Fecha_Fin_Estimada = (DateTime)fila["rv_fecha_llegada_estimada"], Recorrido = new Recorrido() { Cod_Recorrido = int.Parse(fila["rv_recorrido"].ToString()) } }; viajes.Add(viaje); } return(viajes); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar obtener los pasajes del crucero", ex); } }
public static List <RutaDeViaje> GetAllByIDCrucero(int idCrucero) { var conn = Repository.GetConnection(); string comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Ruta_Viaje WHERE rv_crucero = {0} AND rv_fecha_llegada IS NULL", idCrucero); DataTable dataTable; SqlDataAdapter dataAdapter; try { dataAdapter = new SqlDataAdapter(comando, conn); dataTable = new DataTable(); dataAdapter.Fill(dataTable); List <RutaDeViaje> recorridos = new List <RutaDeViaje>(); foreach (DataRow fila in dataTable.Rows) { var rutaDeViaje = new RutaDeViaje() { Cod_Ruta = int.Parse(fila["rv_codigo"].ToString()), Crucero = null, Fecha_Inicio = (DateTime)fila["rv_fecha_salida"], Fecha_Fin = default(DateTime), Fecha_Fin_Estimada = (DateTime)fila["rv_fecha_llegada_estimada"], Recorrido = RecorridoDAO.GetByID(int.Parse(fila["rv_recorrido"].ToString())) }; recorridos.Add(rutaDeViaje); } ; return(recorridos); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar listar los recorridos", ex); } finally { conn.Close(); conn.Dispose(); } }
public void Edit(RutaDeViaje rutaDeViaje) { throw new NotImplementedException(); }
/// <summary> /// Metodo llamado desde la vista de compra de pasajes /// </summary> /// <param name="fechaPartida"></param> /// <param name="idPuertoSalida"></param> /// <param name="idPuertoLlegada"></param> /// <returns></returns> public List <RutaDeViaje> GetByFiltersPasaje(DateTime?fechaPartida, int idPuertoSalida, int idPuertoLlegada) { var conn = Repository.GetConnection(); SqlCommand comando = new SqlCommand(@"SELECT " + " Ruta.rv_codigo rv_codigo, " + " Ruta.rv_recorrido rv_recorrido, " + " Ruta.rv_fecha_salida rv_fecha_salida, " + " Ruta.rv_fecha_llegada_estimada rv_fecha_llegada_estimada, " + " Tramo_INICIAL.tram_puerto_desde, " + " Tramo_DESTINO.tram_puerto_hasta, " + " Ruta.rv_crucero rv_crucero " + "FROM [TIRANDO_QUERIES].Ruta_Viaje Ruta, [TIRANDO_QUERIES].Tramo Tramo_INICIAL, " + " [TIRANDO_QUERIES].Tramo Tramo_DESTINO, [TIRANDO_QUERIES].Recorrido Recorridos, " + " [TIRANDO_QUERIES].Crucero Crucero " + "WHERE " + " CONVERT(VARCHAR(10), Ruta.rv_fecha_salida, 111) = CONVERT(VARCHAR(10), @fecha_salida, 111) AND " + " Ruta.rv_recorrido = Recorridos.reco_codigo AND " + " Recorridos.reco_activo = 1 AND " + " Recorridos.reco_invalido <> 1 AND " + " Crucero.cruc_codigo = Ruta.rv_crucero AND " + " Crucero.cruc_activo = 1 AND " + " Tramo_INICIAL.tram_recorrido = Ruta.rv_recorrido AND " + " Tramo_DESTINO.tram_recorrido = Ruta.rv_recorrido AND " + " Tramo_INICIAL.tram_orden = 1 AND "+ " Tramo_INICIAL.tram_puerto_desde = @puerto_desde AND "+ " Tramo_DESTINO.tram_puerto_hasta = @puerto_destino AND "+ " ruta.rv_codigo NOT IN (SELECT DISTINCT rv_codigo FROM [TIRANDO_QUERIES].[Ruta_Viaje] Ruta " + " LEFT JOIN [TIRANDO_QUERIES].Crucero Crucero ON Ruta.rv_crucero = Crucero.cruc_codigo " + " JOIN [TIRANDO_QUERIES].Mantenimiento M ON M.mant_crucero = Crucero.cruc_codigo " + " WHERE M.mant_fecha_hasta > (SELECT getdate()) AND M.mant_fecha_hasta > Ruta.rv_fecha_salida)", conn); DataTable dataTable = new DataTable(); comando.Parameters.AddWithValue("@fecha_salida", fechaPartida); comando.Parameters.AddWithValue("@puerto_desde", idPuertoSalida); comando.Parameters.AddWithValue("@puerto_destino", idPuertoLlegada); SqlDataAdapter dataAdapter = new SqlDataAdapter() { SelectCommand = comando }; try { dataAdapter.Fill(dataTable); List <RutaDeViaje> recorridos = new List <RutaDeViaje>(); foreach (DataRow fila in dataTable.Rows) { var rutaDeViaje = new RutaDeViaje() { Cod_Ruta = int.Parse(fila["rv_codigo"].ToString()), Crucero = CruceroDAO.GetByID(int.Parse(fila["rv_crucero"].ToString())), Fecha_Inicio = (DateTime)fila["rv_fecha_salida"], Fecha_Fin = null, Fecha_Fin_Estimada = (DateTime)fila["rv_fecha_llegada_estimada"], Recorrido = RecorridoDAO.GetByID(int.Parse(fila["rv_recorrido"].ToString())) }; recorridos.Add(rutaDeViaje); } ; return(recorridos); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar listar las rutas de viaje", ex); } finally { conn.Close(); conn.Dispose(); } }
public List <RutaDeViaje> GetAllWithFilters(string likeFilter, string exactFilter, int?idDropdown, List <DateTime> fechasEntre) { var conn = Repository.GetConnection(); //SqlCommand comando = new SqlCommand(@"SELECT * FROM TIRANDO_QUERIES.Ruta_Viaje " + // "join TIRANDO_QUERIES.Crucero on rv_crucero = cruc_codigo " + // "join TIRANDO_QUERIES.Modelo_Crucero on cruc_modelo = mc_codigo " + // "where 1=1 ", conn); SqlCommand comando = new SqlCommand(@"SELECT rv_codigo,rv_fecha_salida,rv_fecha_llegada,rv_fecha_llegada_estimada, " + "rv_crucero,cruc_identificador,mc_detalle,rv_recorrido, " + //Traigo el puerto desde "(SELECT p1.puer_nombre FROM [TIRANDO_QUERIES].Tramo t " + "JOIN [TIRANDO_QUERIES].Puerto p1 ON p1.puer_codigo = t.tram_puerto_desde " + "JOIN [TIRANDO_QUERIES].Puerto p2 ON p2.puer_codigo = t.tram_puerto_hasta " + "WHERE r.rv_recorrido = t.tram_recorrido " + "AND t.tram_orden = 1 " + ") AS puerto_inicial, " + //Traigo el puerto hasta "(SELECT p2.puer_nombre FROM [TIRANDO_QUERIES].Tramo t " + "JOIN [TIRANDO_QUERIES].Puerto p1 ON p1.puer_codigo = t.tram_puerto_desde " + "JOIN [TIRANDO_QUERIES].Puerto p2 ON p2.puer_codigo = t.tram_puerto_hasta " + "WHERE r.rv_recorrido = t.tram_recorrido " + "AND t.tram_orden = (SELECT MAX(t2.tram_orden) FROM [TIRANDO_QUERIES].Tramo " + "t2 WHERE t.tram_recorrido = r.rv_recorrido) " + ") AS puerto_final " + " " + "FROM [TIRANDO_QUERIES].Ruta_Viaje r " + "JOIN [TIRANDO_QUERIES].Crucero c ON r.rv_crucero = c.cruc_codigo " + "JOIN [TIRANDO_QUERIES].Recorrido e ON r.rv_recorrido = e.reco_codigo " + "JOIN [TIRANDO_QUERIES].Modelo_Crucero mc ON mc.mc_codigo = c.cruc_modelo " + "WHERE e.reco_invalido <> 1 ", conn); DataTable dataTable = new DataTable(); if (!string.IsNullOrWhiteSpace(likeFilter)) { comando.CommandText += "AND (rv_codigo like '%' + @likeParameter + '%' OR " + "cruc_identificador like '%' + @likeParameter + '%' OR " + "mc_detalle like '%' + @likeParameter + '%') "; comando.Parameters.AddWithValue("@likeParameter", likeFilter); } if (!string.IsNullOrWhiteSpace(exactFilter)) { comando.CommandText += "AND rv_codigo = @exactFilter "; comando.Parameters.AddWithValue("@exactFilter", exactFilter); } if (idDropdown != null && idDropdown != 0) { comando.CommandText += "AND cruc_codigo = @codigoCrucero "; comando.Parameters.AddWithValue("@codigoCrucero", idDropdown.Value); } //Filtrar entre fechas. El primer item de la lista es DESDE, el segundo es HASTA if (fechasEntre != null && fechasEntre.Count > 0) { comando.CommandText += "AND rv_fecha_salida BETWEEN @desde AND @hasta "; comando.CommandText += "AND CAST(rv_fecha_llegada_estimada AS DATE) BETWEEN CAST(@desde AS DATE) AND CAST(@hasta AS DATE)"; comando.Parameters.AddWithValue("@desde", (DateTime)fechasEntre[0]); comando.Parameters.AddWithValue("@hasta", (DateTime)fechasEntre[1]); } SqlDataAdapter dataAdapter = new SqlDataAdapter() { SelectCommand = comando }; try { dataAdapter.Fill(dataTable); List <RutaDeViaje> recorridos = new List <RutaDeViaje>(); foreach (DataRow fila in dataTable.Rows) { var rutaDeViaje = new RutaDeViaje() { Cod_Ruta = int.Parse(fila["rv_codigo"].ToString()), Crucero = new Crucero() { Cod_Crucero = int.Parse(fila["rv_crucero"].ToString()), Identificador = fila["cruc_identificador"].ToString(), }, //CruceroDAO.GetByIDSinCabinas(int.Parse(fila["rv_crucero"].ToString())), Fecha_Inicio = (DateTime)fila["rv_fecha_salida"], Fecha_Fin = fila["rv_fecha_llegada"] is DBNull ? null : (DateTime?)fila["rv_fecha_llegada"], Fecha_Fin_Estimada = (DateTime)fila["rv_fecha_llegada_estimada"], Recorrido = new Recorrido() { Cod_Recorrido = int.Parse(fila["rv_recorrido"].ToString()), Tramos = new List <Tramo>() { new Tramo() { Puerto_Desde = new Puerto() { Cod_Puerto = 0, Nombre = fila["puerto_inicial"].ToString() }, Puerto_Hasta = new Puerto() { Cod_Puerto = 0, Nombre = fila["puerto_final"].ToString() }, } } } }; recorridos.Add(rutaDeViaje); } ; return(recorridos); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar listar las rutas de viaje", ex); } finally { conn.Close(); conn.Dispose(); } }