private void button4_Click(object sender, EventArgs e)
        {
            List <FetchCondition> condiciones = new List <FetchCondition>();

            if (textBox1.Text != "")
            {
                FetchCondition condicionNombre = new FetchCondition();
                condicionNombre.setLike("hoteles.nombre", textBox1.Text);
                condiciones.Add(condicionNombre);
            }

            if (textBox3.Text != "")
            {
                FetchCondition condicionCiudad = new FetchCondition();
                condicionCiudad.setLike("hoteles.ciudad", textBox3.Text);
                condiciones.Add(condicionCiudad);
            }

            if (textBox4.Text != "")
            {
                FetchCondition condicionPais = new FetchCondition();
                condicionPais.setLike("hoteles.pais", textBox4.Text);
                condiciones.Add(condicionPais);
            }

            if (textBox2.Text != "")
            {
                FetchCondition condicionEstrellas = new FetchCondition();
                condicionEstrellas.setLike("hoteles.cant_estrella", textBox2.Text);
                condiciones.Add(condicionEstrellas);
            }
            Listar(condiciones);
        }
예제 #2
0
        public override void preInsert()
        {
            List <Cliente> clientes = EntityManager.getEntityManager().findAllBy <Cliente>("mail", mail);

            if (clientes.Count != 0)
            {
                throw new ValidationException("Email duplicado");
            }
            if (mail.isValidEmail() != true)
            {
                throw new ValidationException("Formato de email invalido");
            }
            List <FetchCondition> condiciones_repetidos    = new List <FetchCondition>();
            FetchCondition        condicion_documento_tipo = new FetchCondition();

            condicion_documento_tipo.setEquals("documento_tipo_id", documento_tipo.id.ToString());
            FetchCondition condicion_documento_nro = new FetchCondition();

            condicion_documento_nro.setEquals("documento_nro", documento_nro.ToString());
            condiciones_repetidos.Add(condicion_documento_tipo);
            condiciones_repetidos.Add(condicion_documento_nro);

            List <Cliente> clientes_repetidos = EntityManager.getEntityManager().findList <Cliente>(condiciones_repetidos);

            if (clientes_repetidos.Count != 0)
            {
                throw new ValidationException("Este cliente ya se encontraba registrado con anterioridad, verifique el Tipo y Numero de documento");
            }
        }
예제 #3
0
        public void Filtrar()
        {
            List <FetchCondition> condiciones = new List <FetchCondition>();

            FetchCondition condicionNombre = new FetchCondition();

            condicionNombre.setLike("clientes.nombre", txt_Filtro_Nombre.Text);
            condiciones.Add(condicionNombre);

            FetchCondition condicionApellido = new FetchCondition();

            condicionApellido.setLike("clientes.apellido", txt_Filter_Apellido.Text);
            condiciones.Add(condicionApellido);

            FetchCondition condicionMail = new FetchCondition();

            condicionMail.setLike("clientes.mail", txt_Filter_Mail.Text);
            condiciones.Add(condicionMail);

            FetchCondition condicionIdentificacion = new FetchCondition();

            condicionIdentificacion.setLike("clientes.documento_nro", txt_Filter_Documento.Text);
            condiciones.Add(condicionIdentificacion);

            if (comboBox2.Text != "")
            {
                FetchCondition condicionTipoIdentificacion = new FetchCondition();
                condicionTipoIdentificacion.setEquals("clientes.documento_tipo_id", (comboBox2.SelectedValue as TipoDocumento).id.ToString());
                condiciones.Add(condicionTipoIdentificacion);
            }

            Listar(condiciones);
        }
        public override void preSave()
        {
            if (String.IsNullOrEmpty(frente))
            {
                throw new ValidationException("El frente es obligatorio");
            }

            List <FetchCondition> condiciones = new List <FetchCondition>();
            FetchCondition        condicionId = new FetchCondition();

            condicionId.setNotEquals("habitaciones.id", id);
            condiciones.Add(condicionId);
            FetchCondition condicionHotel = new FetchCondition();

            condicionHotel.setEquals("habitaciones.hotel_id", hotel.id);
            condiciones.Add(condicionHotel);
            FetchCondition condicionHabitacion = new FetchCondition();

            condicionHabitacion.setEquals("habitaciones.numero", numero);
            condiciones.Add(condicionHabitacion);

            List <Habitacion> habitaciones = EntityManager.getEntityManager().findList <Habitacion>(condiciones);

            if (habitaciones.Count != 0)
            {
                throw new ValidationException("Numero de habitacion duplicado");
            }
        }
        public void Facturar_load(object sender, EventArgs e)
        {
            //
            List <FetchCondition> condiciones = new List <FetchCondition>();
            FetchCondition        condicionNoSinEspecificar = new FetchCondition();

            condicionNoSinEspecificar.setNotEquals("id", 1); //Sin especificar id = 1
            condiciones.Add(condicionNoSinEspecificar);

            BindingSource formas_pago_binding = new BindingSource();

            formas_pago_binding.DataSource = EntityManager.getEntityManager().findList <FormaDePago>(condiciones);
            cmb_FormaDePago.DataSource     = formas_pago_binding;
            //


            //ConsumibleItemsUnidades que es la manera de representarlo visiblemente en el datagrid
            consumiblesEstadia.ForEach(i => this.itemsVisibles.Add(new ConsumibleItemsUnidades(i)));

            //Insert de factura porque sino de otro modo no podria insertar los items sin el id de la misma
            factura               = new Factura();
            factura.fecha         = (DateTime.Parse(estadia.fecha_inicio).AddDays(estadia.cant_noches)).ToString();
            factura.forma_pago_id = 1;
            factura.estadia       = estadia;

            Reserva reserva = EntityManager.getEntityManager().findBy <Reserva>("reservas.id", estadia.reserva.id.ToString());

            cliente = reserva.cliente;

            factura.cliente = cliente;

            factura.save();
            setTexts();


            txt_Usuario.Text = cliente.nombre.ToString() + " " + cliente.apellido.ToString();
            Habitacion habitacionPosta = reserva.obtener_una_habitacion();

            hotel = habitacionPosta.hotel;
            //Registro de los dias no hospedados
            setItemHabitacionNoHospedada();
            //Registro de los dias hospedados
            setItemHabitacionHospedada();

            //Si el regimen es All inclusive o All inclusive moderado, registro del descuento de los consumibles
            if (reserva.regimen.id == 1 || reserva.regimen.id == 2)
            {
                setdescuentoAllInclusive();
            }

            dataGridView1.DataSource = new BindingSource(this.itemsVisibles, null);
            float total = 0;

            foreach (ConsumibleItemsUnidades item in this.itemsVisibles)
            {
                total += item.monto;
            }
            label9.Text = "Total: " + total;
        }
예제 #6
0
        private void Paginar()
        {
            List <FetchCondition> condiciones         = new List <FetchCondition>();
            FetchCondition        condicionPaginacion = new FetchCondition();

            condicionPaginacion.setBetween("clientes.id", inicio.ToString(), final.ToString());
            condiciones.Add(condicionPaginacion);
            Listar(new List <FetchCondition>(condiciones));
        }
예제 #7
0
        }                                   //[bit]


        public override void preSave()
        {
            if (String.IsNullOrEmpty(username))
            {
                throw new ValidationException("El username es obligatorio");
            }


            if (String.IsNullOrEmpty(nombre))
            {
                throw new ValidationException("El nombre es obligatorio");
            }

            if (String.IsNullOrEmpty(apellido))
            {
                throw new ValidationException("El apellido es obligatorio");
            }

            if (String.IsNullOrEmpty(fecha_nac))
            {
                throw new ValidationException("La fecha de nacimiento es obligatoria");
            }

            if (String.IsNullOrEmpty(calle))
            {
                throw new ValidationException("La calle es obligatoria");
            }

            if (String.IsNullOrEmpty(telefono))
            {
                throw new ValidationException("el telefono es obligatorio");
            }

            List <FetchCondition> condiciones = new List <FetchCondition>();
            FetchCondition        condicionId = new FetchCondition();

            condicionId.setNotEquals("usuarios.id", id);
            condiciones.Add(condicionId);
            FetchCondition condicionUsername = new FetchCondition();

            condicionUsername.setEquals("usuarios.username", username);
            condiciones.Add(condicionUsername);

            List <Usuario> usuarios = EntityManager.getEntityManager().findList <Usuario>(condiciones);

            if (usuarios.Count != 0)
            {
                throw new ValidationException("Nombre de usuario duplicado");
            }

            if (mail.isValidEmail() != true)
            {
                throw new ValidationException("Formato de email invalido");
            }
        }
        private void button4_Click(object sender, EventArgs e)
        {
            List <FetchCondition> condiciones = new List <FetchCondition>();

            FetchCondition condicionNombre = new FetchCondition();

            condicionNombre.setLike("roles.descripcion", textBox1.Text);
            condiciones.Add(condicionNombre);

            Listar(condiciones);
        }
        public bool estaLibre(String fecha1, String fecha2)
        {
            FetchCondition condicion_hotel = new FetchCondition();

            condicion_hotel.setEquals("hotel_id", id);

            {
                List <FetchCondition> condiciones     = new List <FetchCondition>();
                FetchCondition        condicion_fecha = new FetchCondition();
                condicion_fecha.setBetween("'" + fecha1 + "'", "fecha_desde", "fecha_hasta");
                condiciones.Add(condicion_fecha);
                condiciones.Add(condicion_hotel);

                List <HotelBaja> hoteles_bajas = EntityManager.getEntityManager().findList <HotelBaja>(condiciones);

                if (hoteles_bajas.Count != 0)
                {
                    return(false);
                }
            }

            {
                List <FetchCondition> condiciones     = new List <FetchCondition>();
                FetchCondition        condicion_fecha = new FetchCondition();
                condicion_fecha.setBetween("'" + fecha2 + "'", "fecha_desde", "fecha_hasta");
                condiciones.Add(condicion_fecha);
                condiciones.Add(condicion_hotel);

                List <HotelBaja> hoteles_bajas = EntityManager.getEntityManager().findList <HotelBaja>(condiciones);

                if (hoteles_bajas.Count != 0)
                {
                    return(false);
                }
            }

            {
                List <FetchCondition> condiciones     = new List <FetchCondition>();
                FetchCondition        condicion_fecha = new FetchCondition();
                condicion_fecha.setBetween("fecha_desde", "'" + fecha1 + "'", "'" + fecha2 + "'");
                condiciones.Add(condicion_fecha);
                condiciones.Add(condicion_hotel);

                List <HotelBaja> hoteles_bajas = EntityManager.getEntityManager().findList <HotelBaja>(condiciones);

                if (hoteles_bajas.Count != 0)
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //Lista de roles (sin incluir guest)
            List <FetchCondition> condiciones      = new List <FetchCondition>();
            FetchCondition        condicionNoGuest = new FetchCondition();

            condicionNoGuest.setNotEquals("id", 3); //Guest id = 3
            condiciones.Add(condicionNoGuest);

            BindingSource roles_binding = new BindingSource();

            roles_binding.DataSource = EntityManager.getEntityManager().findList <Rol>(condiciones);
            comboBox1.DataSource     = roles_binding;

            //Lista de hoteles
            BindingSource hoteles_binding = new BindingSource();

            hoteles_binding.DataSource = EntityManager.getEntityManager().findAll <Hotel>();
            comboBox4.DataSource       = hoteles_binding;

            //Lista de tipos de documentos
            BindingSource documentos_binding = new BindingSource();

            documentos_binding.DataSource = EntityManager.getEntityManager().findAll <TipoDocumento>();
            comboBox3.DataSource          = documentos_binding;
            comboBox3.DisplayMember       = "descripcion";

            //Bindings
            if (!esAlta)
            {
                //Lista de roles que ya poseia
                List <RolUsuario> roles_usuario = EntityManager.getEntityManager().findAllBy <RolUsuario>("usuario_id", usuario.id.ToString());
                roles_usuario.ForEach(r => listBox1.Items.Add(r));
            }

            textBox1.DataBindings.Add("Text", usuario, "username");
            textBox3.DataBindings.Add("Text", usuario, "nombre");
            textBox8.DataBindings.Add("Text", usuario, "documento_nro");
            textBox4.DataBindings.Add("Text", usuario, "apellido");
            textBox5.DataBindings.Add("Text", usuario, "mail");
            textBox6.DataBindings.Add("Text", usuario, "telefono");
            textBox7.DataBindings.Add("Text", usuario, "calle");
            textBox9.DataBindings.Add("Text", usuario, "nro_Calle");
            dateTimePicker1.DataBindings.Add("Text", usuario, "fecha_nac", true);
            comboBox2.DataBindings.Add("SelectedIndex", usuario, "estado");
        }
예제 #11
0
        private void btn_Filtrar_Click(object sender, EventArgs e)
        {
            List <FetchCondition> condiciones = new List <FetchCondition>();

            FetchCondition condicionNumero = new FetchCondition();

            condicionNumero.setLike("numero", textBox1.Text);
            condiciones.Add(condicionNumero);

            FetchCondition condicionPiso = new FetchCondition();

            condicionPiso.setLike("piso", textBox3.Text);
            condiciones.Add(condicionPiso);

            if (cmb_Hoteles.Text != "")
            {
                FetchCondition condicionHotel    = new FetchCondition();
                Hotel          hotelSeleccionado = cmb_Hoteles.SelectedItem as Hotel;
                condicionHotel.setEquals("hoteles.id", hotelSeleccionado.id.ToString());
                condiciones.Add(condicionHotel);
            }

            if (cmb_TipoHabitacion.Text != "")
            {
                FetchCondition condicionTipoHabitacion    = new FetchCondition();
                TipoHabitacion tipoHabitacionSeleccionada = cmb_TipoHabitacion.SelectedItem as TipoHabitacion;
                condicionTipoHabitacion.setEquals("habitaciones_tipos.id", tipoHabitacionSeleccionada.id.ToString());
                condiciones.Add(condicionTipoHabitacion);
            }

            if (comboBox1.Text != "")
            {
                FetchCondition condicionVistaExterior = new FetchCondition();
                condicionVistaExterior.setEquals("frente", comboBox1.Text);
                condiciones.Add(condicionVistaExterior);
            }

            Listar(condiciones);
        }
        private void button4_Click(object sender, EventArgs e)
        {
            List <FetchCondition> condiciones = new List <FetchCondition>();

            FetchCondition condicionUsername = new FetchCondition();

            condicionUsername.setLike("usuarios.username", textBox1.Text);
            condiciones.Add(condicionUsername);

            FetchCondition condicionNombre = new FetchCondition();

            condicionNombre.setLike("usuarios.nombre", textBox2.Text);
            condiciones.Add(condicionNombre);

            FetchCondition condicionApellido = new FetchCondition();

            condicionApellido.setLike("usuarios.apellido", textBox3.Text);
            condiciones.Add(condicionApellido);

            FetchCondition condicionMail = new FetchCondition();

            condicionMail.setLike("usuarios.mail", textBox8.Text);
            condiciones.Add(condicionMail);

            FetchCondition condicionIdentificacion = new FetchCondition();

            condicionIdentificacion.setLike("usuarios.documento_nro", textBox4.Text);
            condiciones.Add(condicionIdentificacion);

            if (comboBox1.Text != "")
            {
                FetchCondition condicionTipoIdentificacion = new FetchCondition();
                condicionTipoIdentificacion.setEquals("usuarios.documento_tipo_id", (comboBox1.SelectedValue as TipoDocumento).id.ToString());
                condiciones.Add(condicionTipoIdentificacion);
            }

            Listar(condiciones);
        }
        private void btn_Cancelar_Click(object sender, EventArgs e)
        {
            Reserva reserva = EntityManager.getEntityManager().findBy <Reserva>("reservas.id", txt_NroReserva.Text);

            if (reserva == null)
            {
                MessageBox.Show("La reserva no existe");
                return;
            }

            if (reserva.reserva_estado == 6)
            {
                MessageBox.Show("No se puede cancelar una reserva ingresada");
                return;
            }

            DateTime fecha = DateTime.Parse(dateTimePicker1.Text);

            if (DateTime.Compare(DateTime.Parse(reserva.fecha_inicio), fecha) < 0)
            {
                MessageBox.Show("No se puede cancelar una reserva una vez comenzada");
                return;
            }

            List <FetchCondition> condiciones    = new List <FetchCondition>();
            FetchCondition        fetchCondition = new FetchCondition();

            fetchCondition.setEquals("reserva_id", reserva.id);
            condiciones.Add(fetchCondition);
            List <ReservaCancelada> viajasCancelaciones = EntityManager.getEntityManager().findList <ReservaCancelada>(condiciones);

            if (viajasCancelaciones.Count != 0)
            {
                MessageBox.Show("La reserva ya había sido cancelada anteriormente");
                return;
            }

            ReservaCancelada reservaCancelada = new ReservaCancelada();

            reservaCancelada.fecha   = fecha.ToString();
            reservaCancelada.reserva = reserva;
            reservaCancelada.motivo  = txt_Motivo.Text;
            reservaCancelada.usuario = txt_Usuario.Text;

            if (SesionActual.rol_usuario.rol.id == 2) //Recepcionista
            {
                reserva.reserva_estado = 3;
            }
            if (SesionActual.rol_usuario.rol.id == 3) //Guest
            {
                reserva.reserva_estado = 4;
            }

            try
            {
                reserva.save();
                reservaCancelada.save();
            }
            catch (ValidationException exception)
            {
                MessageBox.Show(exception.Message);
                return;
            }
            catch (SqlException exception)
            {
                MessageBox.Show(exception.Message);
                return;
            }

            MessageBox.Show("La reserva " + txt_NroReserva.Text + " fue cancelada");

            Close();
        }
예제 #14
0
        protected void VisitBinary(Expression e, FetchFilter filter)
        {

            if (e is BinaryExpression)
            {
                BinaryExpression b = e as BinaryExpression;
                FetchFilter newFilter;
                FetchCondition cond = new FetchCondition();
                switch (b.NodeType)
                {
                    case ExpressionType.And:
                    case ExpressionType.AndAlso:
                        newFilter = new FetchFilter(FetchFilterType.And);
                        this.VisitBinary(b.Left, newFilter);
                        this.VisitBinary(b.Right, newFilter);
                        filter.Filters.Add(newFilter);
                        break;
                    case ExpressionType.Or:
                    case ExpressionType.OrElse:
                        newFilter = new FetchFilter(FetchFilterType.Or);
                        this.VisitBinary(b.Left, newFilter);
                        this.VisitBinary(b.Right, newFilter);
                        filter.Filters.Add(newFilter);
                        break;
                    case ExpressionType.Equal:
                        cond.ConditionOperator = FetchConditionOperator.Equal;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    case ExpressionType.NotEqual:
                        cond.ConditionOperator = FetchConditionOperator.NotEqual;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    case ExpressionType.LessThan:
                        cond.ConditionOperator = FetchConditionOperator.LowerThan;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    case ExpressionType.LessThanOrEqual:
                        cond.ConditionOperator = FetchConditionOperator.LowerEqual;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    case ExpressionType.GreaterThan:
                        cond.ConditionOperator = FetchConditionOperator.GreaterThan;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    case ExpressionType.GreaterThanOrEqual:
                        cond.ConditionOperator = FetchConditionOperator.GreaterEqual;
                        SetConditionalValues(cond, b);
                        filter.Conditions.Add(cond);
                        break;
                    default:
                        throw new NotSupportedException(string.Format("The binary operator '{0}' is not supported", b.NodeType));
                }
            }
            else
            {
                //not binaryexpression, boolean constant?
                throw new ArgumentException();
            }
        }
예제 #15
0
 private void SetConditionalValues(FetchCondition cond, BinaryExpression b)
 {
     MemberExpression mexp = b.Left as MemberExpression;
     if (mexp.Member.Name.Equals("Value"))
     {
         // need to go one level deeper
         cond.Attribute = (mexp.Expression as MemberExpression).Member.Name;
     }
     else
     {
         cond.Attribute = mexp.Member.Name;
     }
     
     object value = Expression.Lambda(b.Right).Compile().DynamicInvoke();
     // check for null comparison
     if (value == null)
     {
         if (cond.ConditionOperator == FetchConditionOperator.Equal)
             cond.ConditionOperator = FetchConditionOperator.Null;
         else if (cond.ConditionOperator == FetchConditionOperator.NotEqual)
             cond.ConditionOperator = FetchConditionOperator.NotNull;
         else
             throw new Exception("Strange null-comparison");
     }
     else
     {
         cond.Values.Add(Expression.Lambda(b.Right).Compile().DynamicInvoke());
     }
 }