public bool InsertarCierreTemporalHabitacion(CierreTemporalHabitacion Cierre)
        {
            try
            {
                DatabaseConnection.GetInstance()
                .ExecuteProcedureNonQuery("INSERTAR_CIERRE_TEMPORAL_HABITACION", GenerateParamsDML(Cierre));
                LogUtils.LogInfo("Se cerrará temporalmente la habitación " + Cierre.Habitacion.Número + " del hotel " + Session.Hotel.Nombre);
                MessageBox.Show("Se cerrará temporalmente la habitación " + Cierre.Habitacion.Número + " del hotel " + Session.Hotel.Nombre
                                + " desde el " + Cierre.Inicio.ToString("dd/MM/yyyy") + " hasta el "
                                + Cierre.Fin.ToString("dd/MM/yyyy"), "INFO");
                return(true);
            }
            catch (SqlException Sex)
            {
                if (Sex.Message.StartsWith("50001"))
                {
                    MessageBox.Show("Esa habitación ya tiene un cierre temporal durante ese margen de fechas", "ERROR");
                }
                else
                {
                    MessageBox.Show("Error SQL desconocido " + Sex.Message, "ERROR");
                }

                return(false);
            }
            catch (Exception Ex)
            {
                LogUtils.LogError(Ex);
                MessageBox.Show("Hubo un error al intentar cerrar una habitación. Revise el log", "ERROR");
                return(false);
            }
        }
        private SqlParameter[] GenerateParamsDML(CierreTemporalHabitacion Cierre)
        {
            List <SqlParameter> Params = new List <SqlParameter>();

            Params.Add(new SqlParameter("@id_rol_user", Session.Rol.Id));
            Params.Add(new SqlParameter("@inicio", Cierre.Inicio));
            Params.Add(new SqlParameter("@fin", Cierre.Fin));
            Params.Add(new SqlParameter("@id_habitacion", Cierre.Habitacion.Id));
            Params.Add(new SqlParameter("@motivo", Cierre.Descripción));

            return(Params.ToArray());
        }
Exemple #3
0
        private void button3_Click(object sender, EventArgs e)
        {
            string Inicio      = textBox2.Text;
            string Fin         = textBox3.Text;
            string Descripción = textBox4.Text;
            bool   ReservadaEnPeriodo;
            string ErrMsg = "";

            if (Inicio.Equals(""))
            {
                ErrMsg += "Debe ingresar la fecha de inicio del cierre temporal\n";
            }
            if (Fin.Equals(""))
            {
                ErrMsg += "Debe ingresar la fecha de fin del cierre temporal\n";
            }
            if (Descripción.Equals(""))
            {
                ErrMsg += "Debe ingresar el motivo del cierre temporal\n";
            }
            if (!Inicio.Equals("") && !Fin.Equals(""))
            {
                ReservadaEnPeriodo = new HabitacionDAO().IsHabitacionReservadaEnPeriodo(
                    DateTime.ParseExact(Inicio, "dd/MM/yyyy", CultureInfo.InvariantCulture),
                    DateTime.ParseExact(Fin, "dd/MM/yyyy", CultureInfo.InvariantCulture),
                    habitacion);
                if (ReservadaEnPeriodo)
                {
                    ErrMsg += "La habitación tiene una reserva en ese período!";
                }
            }

            if (!ErrMsg.Equals("")) // hay error
            {
                MessageBox.Show(ErrMsg, "ERROR");
            }
            else
            {
                // procesamos el ingreso
                CierreTemporalHabitacion Cierre = new CierreTemporalHabitacion(null,
                                                                               DateTime.ParseExact(Inicio, "dd/MM/yyyy", CultureInfo.InvariantCulture),
                                                                               DateTime.ParseExact(Fin, "dd/MM/yyyy", CultureInfo.InvariantCulture),
                                                                               habitacion, Descripción);

                if (new CierreTemporalHabitacionDAO().InsertarCierreTemporalHabitacion(Cierre))
                {
                    this.Close();
                }
            }
        }