private bool checarDatas(reserva n) { using (hotelEntities ef = new hotelEntities()) { var listaReservas = ef.vw_reservas .Where(e => e.numero == this.temp_quarto.numero && DateTime.Compare(e.dt_inicio, n.dt_termino) <= 0 && DateTime.Compare(e.dt_termino, n.dt_inicio) >= 0) .ToList(); int max = this.Operacao == 'n' ? 0 : 1; if (listaReservas.Count > max) { MessageBox.Show( "Há reservas em conflito!", "Cadastrar Reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } else { return(true); } } }
private void preencherCampos(int _id) { this.escolhidoId = _id; using (hotelEntities ef = new hotelEntities()) { reserva r = ef.reserva.Find(_id); txtCliente.Text = r.cliente.primeiro_nome + r.cliente.ultimo_nome; this.temp_cliente = r.cliente; txtQuarto.Text = r.quarto.numero.ToString(); this.temp_quarto = r.quarto; txtDtInicio.Value = r.dt_inicio; txtDtTermino.Value = r.dt_termino; } }
private bool checarCampos(out reserva r) { DateTime dt_inicio = DateTime.MinValue, dt_termino = DateTime.MinValue; string mensagem = ""; if (txtCliente.Text.Equals("") || this.temp_cliente == null) { mensagem += "Cliente\n"; } if (txtQuarto.Text.Equals("") || this.temp_quarto == null) { mensagem += "Quarto\n"; } if (!DateTime.TryParse(txtDtInicio.Value.ToString(), out dt_inicio)) { mensagem += "Data de Início\n"; } if (!DateTime.TryParse(txtDtTermino.Value.ToString(), out dt_termino)) { mensagem += "Data de Término\n"; } if (dt_inicio.CompareTo(dt_termino) > 0) { mensagem += "Data de término anterior a data de início\n"; } if (!mensagem.Equals("")) { MessageBox.Show( "As seguintes informações estão inválidas:\n" + mensagem, "Salvar Reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); r = null; return(false); } else { using (hotelEntities ef = new hotelEntities()) { r = new reserva(); r.dt_cadastro = DateTime.Now; r.dt_inicio = dt_inicio; r.dt_termino = dt_termino; r.ativo = true; } return(true); } }
private void btnSalvar_Click(object sender, EventArgs e) { reserva r; bool valido; valido = checarCampos(out r); if (valido) { valido = checarDatas(r); } if (valido && this.Operacao == 'n') { using (hotelEntities ef = new hotelEntities()) { r.cliente = ef.cliente.Find(this.temp_cliente.id); r.quarto = ef.quarto.Find(this.temp_quarto.id); ef.reserva.Add(r); ef.SaveChanges(); } } if (valido && this.Operacao == 'e') { int _id = this.escolhidoId; using (hotelEntities ef = new hotelEntities()) { reserva novo = ef.reserva.Find(_id); novo.cliente = ef.cliente.Find(this.temp_cliente.id); novo.quarto = ef.quarto.Find(this.temp_quarto.id); novo.dt_inicio = r.dt_inicio; novo.dt_termino = r.dt_termino; ef.SaveChanges(); } } if (valido) { limparCampos(); tcReserva.SelectedTab = tpgReservas; CarregarGrid(); } }
private void btnOk_Click(object sender, EventArgs e) { if (dgvReservas.CurrentRow != null) { int _id = Convert.ToInt32(dgvReservas.CurrentRow.Cells["ID"].Value.ToString()); using (hotelEntities ef = new hotelEntities()) { this.escolhido = ef.reserva.Find(_id); } this.DialogResult = DialogResult.OK; } else { MessageBox.Show( "Nenhuma reserva foi selecionada!", "Pesquisar Reserva", MessageBoxButtons.OK, MessageBoxIcon.Error); } }