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 button4_Click(object sender, EventArgs e) { //CHECK OUT int codReserva = 0; int idEstadia = 0; //si se va antes de la fecha de salida tengo que poner bien los dias porque dsp en la factura se hace algo con esto DateTime date = Utils.getSystemDatetimeNow(); RepositorioEstadia repoEstadia = new RepositorioEstadia(); RepositorioReserva repoReserva = new RepositorioReserva(); if (textBox1.Text != "") { codReserva = int.Parse(textBox1.Text.Trim()); //consigo del codigo de reserva el idEstadia idEstadia = repoReserva.getIdEstadiaByCodReserva(codReserva); if (idEstadia != 0) { //veo que este con RCI String estado = ""; estado = repoEstadia.getEstado(codReserva); Reserva reserva = repoReserva.getIdByIdEstadia(idEstadia); if (this.sesion.getHotel().getIdHotel() != reserva.getHotel().getIdHotel()) { MessageBox.Show("La reserva ingresada no pertenece al hotel en el que el usuario esta logueado.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (estado.Equals("RCI") | estado.Equals("RCCR")) { //Estadia estadia = new Estadia(idEstadia, this.sesion.getUsuario(), date); Estadia estadia = reserva.getEstadia(); estadia.setFechaSalida(date); estadia.setCantidadNoches(Convert.ToDecimal((date - reserva.getFechaDesde()).TotalDays)); estadia.setUsuarioOut(this.sesion.getUsuario()); repoEstadia.update(estadia); //hago update de EstadoReserva RepositorioEstadoReserva repoEstadoReserva = new RepositorioEstadoReserva(); //int idEstadoReserva = 0; //Reserva reserva = repoReserva.getIdByIdEstadia(estadia.getIdEstadia()); String desc = "Reserva Con Egreso"; String tipoEstado = "RCE"; EstadoReserva estadoReserva = new EstadoReserva(reserva.getIdReserva(), this.sesion.getUsuario(), reserva, tipoEstado, date, desc); repoEstadoReserva.update(estadoReserva); MessageBox.Show("Check out correcto, proceder a facturar Estadia.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show("La reserva ingresada no esta actualmente en estado 'Reserva con Ingreso' o 'Reserva con Consumibles Registrados'.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("La estadia asociada a la reserva ingresada no existe.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Ingrese un numero de reserva válido.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } //llamo a facturar estadia para que sea mas happy path /*using (AltaFacturaEstadia form = new AltaFacturaEstadia()) * { * var result = form.ShowDialog(); * * if (result == DialogResult.OK) * { * * } * }*/ }