Exemple #1
0
        /// <summary>
        /// Método que recolhe os dados preenchidos pelo usuário, valida as datas para não estarem inválidas e após isso, envia a requisição de locação para o servidor através da interface de Web Service
        /// </summary>
        private void botaoConfirmar_Click(object sender, EventArgs e)
        {
            Locacao  loc            = new Locacao();
            DateTime retirada       = dateDataRetirada.Value.Date;
            int      retiradaHora   = dateHoraRetirada.Value.Hour;
            int      retiradaMinuto = dateHoraRetirada.Value.Minute;
            TimeSpan tsRetirada     = new TimeSpan(retiradaHora, retiradaMinuto, 0);

            retirada = retirada.Date + tsRetirada;
            DateTime devolucao       = dateDataDevolucao.Value.Date;
            int      devolucaoHora   = dateHoraDevolucao.Value.Hour;
            int      devolucaoMinuto = dateHoraDevolucao.Value.Minute;
            TimeSpan tsDevolucao     = new TimeSpan(devolucaoHora, devolucaoMinuto, 0);

            devolucao = devolucao.Date + tsDevolucao;
            loc.setDataHoraRetirada(retirada);
            loc.setDataHoraDevolucao(devolucao);
            loc.setIdadeCondutor(Convert.ToInt32(spinnerIdadeCondutor.Text));
            loc.setLocalDevolucao(boxLocalDevolucao.Text);
            loc.setLocalRetirada(boxLocalRetirada.Text);
            loc.setNomeCondutor(boxNomeMotorista.Text);
            loc.setNumeroCartao(boxNumeroCartao.Text);
            loc.setParcelasCartao(Convert.ToInt32(spinnerNumeroParcelas.Text));
            loc.setIdVeiculoReferencia(selecionado.getIdVeiculo());
            int comparacao = devolucao.CompareTo(retirada);

            if (comparacao <= 0)
            {
                MessageBox.Show("A devolução está sendo agendada para antes da data de retirada.", "Incorreto!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                DateTime hoje = DateTime.Today;
                comparacao = hoje.CompareTo(retirada);
                if (comparacao >= 1)
                {
                    MessageBox.Show("A retirada está sendo marcada para antes de agora.", "Incorreto!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    WebServiceCliente wsc = new WebServiceCliente();
                    bool sucesso          = wsc.EfetuarLocacao(loc);
                    if (sucesso)
                    {
                        MessageBox.Show("Locação efetuada com sucesso.", "Finalizado!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Dispose();
                    }
                    else
                    {
                        MessageBox.Show("Locação não realizada. Na data e horário solicitados já há uma reserva.", "Tente novamete", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Método de inicialização da janela.
        /// Também consulta os veículos no Servidor e lista-os para seleção
        /// </summary>
        public JanelaLocarVeiculo()
        {
            InitializeComponent();
            WebServiceCliente wsc = new WebServiceCliente();

            veiculos = wsc.RecuperarVeiculos();
            if (veiculos.Count != 0)
            {
                comboVeiculos.DataSource    = veiculos;
                comboVeiculos.DisplayMember = "descricaoParaCombo";
            }
        }
        /// <summary>
        /// Método de inicialização da janela.
        /// Também consulta os veículos no Servidor e lista-os para seleção
        /// </summary>
        public JanelaRelatorioLocacoes()
        {
            InitializeComponent();
            panelLocacoes.Visible = false;
            WebServiceCliente wsc      = new WebServiceCliente();
            List <Veiculo>    veiculos = wsc.RecuperarVeiculos();

            if (veiculos.Count != 0)
            {
                comboVeiculos.DataSource    = veiculos;
                comboVeiculos.DisplayMember = "descricaoParaCombo";
            }
        }
        /// <summary>
        /// Método que recupera as locações para o veículo selecionado, exibindo-os após trocar o Panel
        /// </summary>
        private void botaoAvancar_Click(object sender, EventArgs e)
        {
            if (comboVeiculos.SelectedItem == null)
            {
                MessageBox.Show("Selecione um carro", "Cliente", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                listaLocacoes.Clear();
                Veiculo selecionado = (Veiculo)comboVeiculos.SelectedItem;
                labelLocVeic.Text = "Relatório de Locações para o Veículo " + selecionado.getIdVeiculo()
                                    + "-" + selecionado.getModelo();

                WebServiceCliente wsc      = new WebServiceCliente();
                List <Locacao>    locacoes = wsc.RecuperarLocacoesPorVeiculo(selecionado.getIdVeiculo());

                foreach (Locacao l in locacoes)
                {
                    String linha = "De " + l.getDataHoraRetirada().Day.ToString();
                    linha = linha + "/" + l.getDataHoraRetirada().Month.ToString();
                    linha = linha + "/" + l.getDataHoraRetirada().Year.ToString();
                    linha = linha + " as " + l.getDataHoraRetirada().Hour.ToString() + ":";
                    if (l.getDataHoraRetirada().Minute < 10)
                    {
                        linha = linha + "0";
                    }
                    linha = linha + l.getDataHoraRetirada().Minute.ToString();

                    linha = linha + " com retirada no " + l.getLocalRetirada();

                    linha = linha + " e devolução " + l.getDataHoraDevolucao().Day.ToString();
                    linha = linha + "/" + l.getDataHoraDevolucao().Month.ToString();
                    linha = linha + "/" + l.getDataHoraDevolucao().Year.ToString();
                    linha = linha + " as " + l.getDataHoraDevolucao().Hour.ToString() + ":";
                    if (l.getDataHoraDevolucao().Minute < 10)
                    {
                        linha = linha + "0";
                    }
                    linha = linha + l.getDataHoraDevolucao().Minute.ToString();

                    linha = linha + " no " + l.getLocalDevolucao();

                    listaLocacoes.Items.Add(linha);
                }
                panelCarro.Visible    = false;
                panelLocacoes.Visible = true;
            }
        }