Ejemplo n.º 1
0
        public static void Add(Crucero crucero)
        {
            crucero.Identificador = crucero.Identificador.ToUpper().Trim();

            try
            {
                var conn = Repository.GetConnection();

                //Inserto la cabina y obtengo el id
                SqlCommand comando = new SqlCommand(@"INSERT INTO TIRANDO_QUERIES.Crucero(cruc_identificador, cruc_fabricante, cruc_modelo, cruc_activo) VALUES(@identificador, @fabricante, @modelo, @activo) "
                                                    + "SELECT CAST(scope_identity() AS int)", conn);
                comando.Parameters.AddWithValue("@identificador", crucero.Identificador);
                comando.Parameters.Add("@fabricante", SqlDbType.Int);
                comando.Parameters["@fabricante"].Value = crucero.Fabricante.Cod_Fabricante;
                comando.Parameters.Add("@modelo", SqlDbType.Int);
                comando.Parameters["@modelo"].Value = crucero.Modelo_Crucero.Cod_Modelo;
                crucero.Activo = true;
                comando.Parameters.Add("@activo", SqlDbType.Bit);
                comando.Parameters["@activo"].Value = crucero.Activo;
                int idCrucero = (Int32)comando.ExecuteScalar();

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

                //Inserto las cabinas en base con el id de cabina
                CabinaDAO.Add(crucero.Cabinas, idCrucero);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar crear el crucero", ex);
            }
        }
Ejemplo n.º 2
0
        public static void Edit(IList <Cabina> cabinas, int idCrucero)
        {
            var cabinasAnteriores = CabinaDAO.GetAllForId(idCrucero);
            var cabinasNuevas     = cabinas.Except(cabinasAnteriores).ToList();

            CabinaDAO.Add(cabinasNuevas, idCrucero);
        }
Ejemplo n.º 3
0
        public static List <Crucero> GetAll()
        {
            var            conn    = Repository.GetConnection();
            string         comando = @"SELECT * FROM TIRANDO_QUERIES.Crucero WHERE cruc_activo = 1";
            DataTable      dataTable;
            SqlDataAdapter dataAdapter;

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

                dataAdapter.Fill(dataTable);
                List <Crucero> cruceros = new List <Crucero>();

                foreach (DataRow fila in dataTable.Rows)
                {
                    var idCrucero    = int.Parse(fila["cruc_codigo"].ToString());
                    var idFabricante = int.Parse(fila["cruc_fabricante"].ToString());
                    var idModelo     = int.Parse(fila["cruc_modelo"].ToString());

                    var crucero = new Crucero
                    {
                        Cod_Crucero    = idCrucero,
                        Cabinas        = CabinaDAO.GetAllForId(idCrucero),
                        Identificador  = fila["cruc_identificador"].ToString(),
                        Fabricante     = FabricanteDAO.GetByID(idFabricante),
                        Modelo_Crucero = ModeloCruceroDAO.GetByID(idModelo),
                        Activo         = bool.Parse(fila["cruc_activo"].ToString())
                    };

                    cruceros.Add(crucero);
                }

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

                return(cruceros);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar listar los fabricantes", ex);
            }
        }
Ejemplo n.º 4
0
        public static Crucero GetByID(int id)
        {
            var            conn    = Repository.GetConnection();
            string         comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Crucero WHERE cruc_codigo = {0}", id);
            DataTable      dataTable;
            SqlDataAdapter dataAdapter;

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

                dataAdapter.Fill(dataTable);

                DataRow registroCrucero = dataTable.Rows[0];

                var idCrucero    = int.Parse(registroCrucero["cruc_codigo"].ToString());
                var idModelo     = int.Parse(registroCrucero["cruc_modelo"].ToString());
                var idFabricante = int.Parse(registroCrucero["cruc_fabricante"].ToString());

                var crucero = new Crucero
                {
                    Cod_Crucero    = idCrucero,
                    Activo         = bool.Parse(registroCrucero["cruc_activo"].ToString()),
                    Identificador  = registroCrucero["cruc_identificador"].ToString(),
                    Modelo_Crucero = ModeloCruceroDAO.GetByID(idModelo),
                    Cabinas        = CabinaDAO.GetAllForId(idCrucero),
                    Fabricante     = FabricanteDAO.GetByID(idFabricante)
                };

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

                return(crucero);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar obtener el crucero", ex);
            }
        }
Ejemplo n.º 5
0
        public static List <Crucero> GetAllWithFilters(string likeFilter, string exactFilter, int?idDropdown)
        {
            DataTable      dataTable = new DataTable();
            SqlDataAdapter dataAdapter;

            SqlConnection conn    = Repository.GetConnection();
            SqlCommand    comando = new SqlCommand(@"select * from TIRANDO_QUERIES.Crucero " +
                                                   "join TIRANDO_QUERIES.Modelo_Crucero on cruc_modelo = mc_codigo " +
                                                   "join TIRANDO_QUERIES.Fabricante on cruc_fabricante = fabr_codigo " +
                                                   "where 1=1", conn);

            if (!string.IsNullOrWhiteSpace(likeFilter))
            {
                //Nombre de fabricante, modelo o identificador de crucero
                comando.CommandText += "AND (mc_detalle like '%' + @likeParameter + '%' OR " +
                                       "     cruc_identificador like '%' + @likeParameter + '%') ";
                comando.Parameters.AddWithValue("@likeParameter", likeFilter);
            }

            if (!string.IsNullOrWhiteSpace(exactFilter))
            {
                int codigoCrucero;
                if (int.TryParse(exactFilter, out codigoCrucero))
                {
                    comando.CommandText += "AND (cruc_codigo = @exactFilter) ";
                    comando.Parameters.AddWithValue("@exactFilter", codigoCrucero);
                }
                else
                {
                    throw new Exception("El campo código de crucero sólo admite datos numéricos");
                }
            }

            if (idDropdown != null && idDropdown != 0)
            {
                //Id de fabricante
                comando.CommandText += "AND fabr_codigo = @idFabricante ";
                comando.Parameters.AddWithValue("@idFabricante", idDropdown.Value);
            }

            try
            {
                dataAdapter = new SqlDataAdapter(comando);
                dataAdapter.Fill(dataTable);
                List <Crucero> cruceros = new List <Crucero>();

                foreach (DataRow fila in dataTable.Rows)
                {
                    var idCrucero    = int.Parse(fila["cruc_codigo"].ToString());
                    var idFabricante = int.Parse(fila["cruc_fabricante"].ToString());
                    var idModelo     = int.Parse(fila["cruc_modelo"].ToString());

                    var crucero = new Crucero
                    {
                        Cod_Crucero    = idCrucero,
                        Cabinas        = CabinaDAO.GetAllForId(idCrucero),
                        Identificador  = fila["cruc_identificador"].ToString(),
                        Fabricante     = FabricanteDAO.GetByID(idFabricante),
                        Modelo_Crucero = ModeloCruceroDAO.GetByID(idModelo),
                        Activo         = bool.Parse(fila["cruc_activo"].ToString())
                    };

                    cruceros.Add(crucero);
                }

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

                return(cruceros);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrio un error al intentar listar los puertos", ex);
            }
        }
Ejemplo n.º 6
0
        public static List <Crucero> GetAllByFechas(DateTime?fecha_Inicio, DateTime?fecha_Fin_Estimada)
        {
            var conn = Repository.GetConnection();

            SqlCommand comando = new SqlCommand(
                @"SELECT DISTINCT cruc_codigo, cruc_fabricante, cruc_modelo, cruc_activo, cruc_identificador " +
                "FROM [TIRANDO_QUERIES].Crucero c " +
                "WHERE cruc_activo = 1 " +
                "AND cruc_codigo NOT IN " +
                "(SELECT m.mant_crucero FROM [TIRANDO_QUERIES].Mantenimiento m " +
                "WHERE @fecha_desde BETWEEN m.mant_fecha_desde AND m.mant_fecha_hasta " +
                "AND @fecha_hasta_estimada BETWEEN m.mant_fecha_desde AND m.mant_fecha_hasta " +
                "UNION ALL " +
                "SELECT rv.rv_crucero FROM [TIRANDO_QUERIES].Ruta_Viaje rv " +
                "WHERE @fecha_desde BETWEEN rv.rv_fecha_salida AND rv.rv_fecha_llegada_estimada " +
                "AND @fecha_hasta_estimada BETWEEN rv.rv_fecha_salida AND rv.rv_fecha_llegada_estimada) ", conn);

            DataTable dataTable = new DataTable();

            comando.Parameters.AddWithValue("@fecha_desde", fecha_Inicio.Value);
            comando.Parameters.AddWithValue("@fecha_hasta_estimada", fecha_Fin_Estimada.Value);

            SqlDataAdapter dataAdapter = new SqlDataAdapter()
            {
                SelectCommand = comando
            };

            try
            {
                dataAdapter.Fill(dataTable);
                List <Crucero> cruceros = new List <Crucero>();

                foreach (DataRow fila in dataTable.Rows)
                {
                    var idCrucero    = int.Parse(fila["cruc_codigo"].ToString());
                    var idFabricante = int.Parse(fila["cruc_fabricante"].ToString());
                    var idModelo     = int.Parse(fila["cruc_modelo"].ToString());

                    var crucero = new Crucero
                    {
                        Cod_Crucero    = idCrucero,
                        Cabinas        = CabinaDAO.GetAllForId(idCrucero),
                        Identificador  = fila["cruc_identificador"].ToString(),
                        Fabricante     = FabricanteDAO.GetByID(idFabricante),
                        Modelo_Crucero = ModeloCruceroDAO.GetByID(idModelo),
                        Activo         = bool.Parse(fila["cruc_activo"].ToString())
                    };

                    cruceros.Add(crucero);
                }

                return(cruceros);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar listar los fabricantes", ex);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }