Example #1
0
 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);
         }
     }
 }
Example #2
0
 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;
     }
 }
Example #3
0
        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);
            }
        }
Example #4
0
        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();
            }
        }
Example #5
0
 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);
     }
 }