private void button2_Click(object sender, EventArgs e) { //traigo la estadia con sus items de factura si la estadia ya tiene checkout hecho. int idEstadia = 0; RepositorioEstadia repositorioEstadia = new RepositorioEstadia(); RepositorioEstadoReserva repoEstadoReserva = new RepositorioEstadoReserva(); Estadia estadia = null; EstadoReserva estadoReserva = null; if (textIdEstadia.Text != "") { idEstadia = int.Parse(textIdEstadia.Text); estadia = repositorioEstadia.getById(idEstadia); RepositorioReserva repoReserva = new RepositorioReserva(); Reserva reserva = repoReserva.getIdByIdEstadia(idEstadia); //buscar por estado reserva que este con check out ya realizado estadoReserva = repoEstadoReserva.getByIdEstadia(idEstadia); if (estadoReserva == null) { MessageBox.Show("La estadia ingresada no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if ((!estadoReserva.getTipoEstado().Equals("RCE") && !estadoReserva.getTipoEstado().Equals("RCCR")) | estadia.getFacturada() == true | reserva.getHotel().getIdHotel() != this.sesion.getHotel().getIdHotel()) { if (estadoReserva.getTipoEstado().Equals("RCI")) { MessageBox.Show("Todavia no se realizo el checkout de la estadia ingresada.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (estadoReserva.getTipoEstado().Equals("RF")) { MessageBox.Show("La estadia ya fue facturada.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (estadia.getFacturada() == true) { MessageBox.Show("La estadia ingresada ya fue facturada.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (reserva.getHotel().getIdHotel() != this.sesion.getHotel().getIdHotel()) { MessageBox.Show("La estadia ingresada no corresponde al hotel al cual el usuario esta logueado.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("La estadia ingresada no esta en estado para facturarse", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { //lleno los datos de la estadia aca se puede ver la cantidad de noches que de verdad se alojo. //List<Estadia> estadias = new List<Estadia>(); estadias.Add(estadia); dataGridView1.DataSource = estadias; dataGridView1.AutoResizeColumns(); dataGridView1.ClearSelection(); //lleno los consumibles por estadia en el datagrid2 //List<Consumible> consumiblesXEstadia = new List<Consumible>(); //repositorioEstadia.getConsumiblesXIdEstadia(estadia.getIdEstadia()).ForEach(i => consumiblesXEstadia.Add(new ConsumibleParaMostrar(i, ); consumiblesXEstadia = repoConsumibles.getByQuery(estadia.getIdEstadia()); dataGridView2.DataSource = consumiblesXEstadia; dataGridView2.AutoResizeColumns(); dataGridView2.ClearSelection(); } } else { MessageBox.Show("Por favor ingresar ID de estadia.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void buscarReservas() { dataGridReserva.DataSource = null; try { int codigoReserva = Utils.validateIntField(textCodigoReserva.Text, "Codigo de Reserva"); RepositorioReserva repoReserva = new RepositorioReserva(); Reserva reserva = repoReserva.getReservaByCodigoReserva(codigoReserva); if (reserva != null) { if (sesion != null && reserva.getHotel().getIdHotel() != sesion.getHotel().getIdHotel()) { MessageBox.Show("La reserva buscada no corresponde al hotel " + sesion.getHotel().getNombre() + ".", "Error al editar reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } EstadoReserva estadoDeLaReserva = reserva.getEstadoReserva(); List <String> estadosNoModificables = new List <String>(new String[] { "RCC", "RCR", "RCNS", "RCE", "RCI", "RCCR", "RF" }); bool noPuedeModificar = estadosNoModificables.Exists(estadoNoModificable => estadoNoModificable.Equals(estadoDeLaReserva.getTipoEstado())); if (noPuedeModificar) { MessageBox.Show("No puede modificar la reserva por que la misma ha alcanzado un estado no modificable.", "Error al editar reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DateTime fechaAhora = Utils.getSystemDatetimeNow(); DateTime fechaInicio = reserva.getFechaDesde(); if (((fechaInicio - fechaAhora).TotalDays > 1) && (fechaInicio > fechaAhora)) { this.buttonModificar.Enabled = true; this.buttonCancelar.Enabled = true; } else { MessageBox.Show("Las reservas pueden ser editadas hasta 24 horas antes de la fecha de inicio de la misma.", "Error al editar reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } List <Reserva> reservas = new List <Reserva>(); reservas.Add(reserva); dataGridReserva.DataSource = reservas; dataGridReserva.AutoResizeColumns(); this.AcceptButton = this.buttonModificar; } else { MessageBox.Show("No se ha encontrado la reserva que intenta modificar.", "Error al editar reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //catch (RequestInvalidoException exception) catch (Exception exception) { MessageBox.Show(exception.Message, "Verifique los datos ingresados", MessageBoxButtons.OK, MessageBoxIcon.Error); } }