private void FornecedorToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            FrmConsultaClienteVeiculo formConsultaClienteVeiculo = FormResolve.Resolve <FrmConsultaClienteVeiculo>();

            formConsultaClienteVeiculo.ShowDialog();
            formConsultaClienteVeiculo.Dispose();
        }
        private void BtnVeiculoCliente_Click(object sender, EventArgs e)
        {
            FrmConsultaClienteVeiculo formConsultaClienteVeiculo = FormResolve.Resolve <FrmConsultaClienteVeiculo>();

            formConsultaClienteVeiculo.ShowDialog();
            if (formConsultaClienteVeiculo.clienteVeiculoId != 0 || formConsultaClienteVeiculo.clienteId != 0)
            {
                FrmCadastroClienteVeiculo formCadastroClienteVeiculo = FormResolve.Resolve <FrmCadastroClienteVeiculo>();
                formCadastroClienteVeiculo.clienteVeiculoId = formConsultaClienteVeiculo.clienteVeiculoId;
                formCadastroClienteVeiculo.clienteId        = formConsultaClienteVeiculo.clienteId;
                formCadastroClienteVeiculo.ShowDialog();
                formCadastroClienteVeiculo.Dispose();
            }
        }
        private void BtnLocalizar_Click(object sender, EventArgs e)
        {
            FrmConsultaClienteVeiculo formConsultaClienteVeiculo = FormResolve.Resolve <FrmConsultaClienteVeiculo>();

            formConsultaClienteVeiculo.ShowDialog();
            if (formConsultaClienteVeiculo.clienteVeiculoId != 0)
            {
                this.txtClienteId.Enabled       = false;
                this.txtCliente.Enabled         = false;
                this.txtTelefoneCliente.Enabled = false;

                if (cboMarcaVeiculo.DataSource == null)
                {
                    cboMarcaVeiculo.DataSource    = _veiculoApplication.GetMarcasByAll();
                    cboMarcaVeiculo.DisplayMember = "Marca";
                    cboMarcaVeiculo.ValueMember   = "MarcaId";
                }

                if (placaVeiculo != null && placaVeiculo != "")
                {
                    var dadosVeiculoCliente = _clienteVeiculoApplication.GetVeiculoClienteByPlaca(placaVeiculo);
                    var dadosCliente        = _clienteApplication.GetClienteById(dadosVeiculoCliente.ClienteId);
                    var dadosVeiculo        = _veiculoApplication.GetVeiculoByVeiculoId(dadosVeiculoCliente.VeiculoId);
                    var dadosMarcaVeiculo   = _veiculoApplication.GetMarcaByMarcaId(dadosVeiculo.MarcaId);

                    PreencheInformacoesNaTela(dadosCliente, dadosVeiculoCliente, dadosVeiculo, dadosMarcaVeiculo);

                    this.DisponibilizarBotoesTela(EnumControleTelas.SalvarCancelarExcluir);
                    this.operacao = "alterar";
                }
            }
            else
            {
                this.LimpaTela();
                this.DisponibilizarBotoesTela(EnumControleTelas.InserirLocalizar);
            }

            formConsultaClienteVeiculo.Dispose();
        }
        private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                Cliente cliente = new Cliente
                {
                    NomeCliente           = txtCliente.Text,
                    Apelido               = txtApelido.Text,
                    DocumentoCliente      = txtCPF.Text,
                    Sexo                  = cboSexo.Text,
                    EstadoCivil           = cboEstadoCivil.Text,
                    DataNascimento        = dtpDataNascimento.Value,
                    Email                 = txtEmail.Text,
                    TelefoneFixo          = txtTelefoneFixo.Text,
                    TelefoneCelular       = txtCelular.Text,
                    TelefoneOutros        = txtTelefoneOutros.Text,
                    LogradouroCEP         = txtCEP.Text,
                    LogradouroNome        = txtEndereco.Text,
                    LogradouroNumero      = txtNumero.Text,
                    LogradouroComplemento = txtComplemento.Text,
                    LogradouroMunicipio   = txtCidade.Text,
                    LogradouroBairro      = txtBairro.Text,
                    LogradouroUF          = txtUF.Text,
                    DataCadastro          = DateTime.Now,
                    DataAlteracao         = null
                };

                if (this.operacao == "inserir")
                {
                    _clienteApplication.SalvarCliente(cliente);
                    MessageBox.Show("Cadastro inserido com sucesso! Cliente: " + cliente.NomeCliente.ToString(), "Status", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    cliente.ClienteId = Convert.ToInt32(txtClienteId.Text);
                    _clienteApplication.AtualizarCliente(cliente);
                    MessageBox.Show("Cadastro alterado com sucesso! Cliente: " + cliente.NomeCliente.ToString(), "Status", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                var veiculosDoCliente = _clienteVeiculoApplication.GetVeiculosClienteByClienteId(cliente.ClienteId);

                int quantidadeVeiculos = veiculosDoCliente.Count();

                if (quantidadeVeiculos <= 0)
                {
                    DialogResult res = MessageBox.Show("Deseja incluir o veículo dele agora? \n Clicando em (Sim), será aberto uma lista de clientes você escolhe o cliente que você acabou de cadastrar \n e clicando duas vezes você automáticamente poderá cadastrar o veículo dele.", "Cadastro de Veículo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (res.ToString() == "Yes")
                    {
                        FrmCadastroClienteVeiculo formCadastroClienteVeiculo = FormResolve.Resolve <FrmCadastroClienteVeiculo>();
                        formCadastroClienteVeiculo.clienteId = cliente.ClienteId;
                        formCadastroClienteVeiculo.ShowDialog();
                        formCadastroClienteVeiculo.Dispose();
                    }
                }
                else
                {
                    if (quantidadeVeiculos > 1)
                    {
                        DialogResult clienteJaPossuiVeiculo = MessageBox.Show("Este cliente possui + de 1 veículo cadastrado no sistema, será aberto a lista de veículos.", "Cadastro de Veículo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                        if (clienteJaPossuiVeiculo.ToString() == "Yes")
                        {
                            FrmConsultaClienteVeiculo formConsultaClienteVeiculo = FormResolve.Resolve <FrmConsultaClienteVeiculo>();
                            formConsultaClienteVeiculo.clienteId = cliente.ClienteId;
                            formConsultaClienteVeiculo.ShowDialog();

                            if (formConsultaClienteVeiculo.clienteId != 0 || formConsultaClienteVeiculo.clienteVeiculoId != 0)
                            {
                                FrmCadastroClienteVeiculo formCadastroClienteVeiculo = FormResolve.Resolve <FrmCadastroClienteVeiculo>();
                                formCadastroClienteVeiculo.clienteId        = formConsultaClienteVeiculo.clienteId;
                                formCadastroClienteVeiculo.clienteVeiculoId = formConsultaClienteVeiculo.clienteVeiculoId;
                                formCadastroClienteVeiculo.DisponibilizarBotoesTela(EnumControleTelas.AlterarExcluirCancelar);
                                formCadastroClienteVeiculo.ShowDialog();
                                formCadastroClienteVeiculo.Dispose();
                            }
                        }
                    }
                    else
                    {
                        DialogResult clienteJaPossuiVeiculo = MessageBox.Show("Este Cliente possui 1 veículo no cadastro, abriremos a tela de veiculo deste cliente.", "Cadastro de Veículo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        if (veiculosDoCliente.FirstOrDefault().ClienteId != 0 || veiculosDoCliente.FirstOrDefault().ClienteVeiculoId != 0)
                        {
                            FrmCadastroClienteVeiculo formCadastroClienteVeiculo = FormResolve.Resolve <FrmCadastroClienteVeiculo>();
                            formCadastroClienteVeiculo.clienteId        = veiculosDoCliente.FirstOrDefault().ClienteId;
                            formCadastroClienteVeiculo.clienteVeiculoId = veiculosDoCliente.FirstOrDefault().ClienteVeiculoId;
                            formCadastroClienteVeiculo.DisponibilizarBotoesTela(EnumControleTelas.AlterarExcluirCancelar);
                            formCadastroClienteVeiculo.ShowDialog();
                            formCadastroClienteVeiculo.Dispose();
                        }
                    }
                }

                this.LimpaTela();
                this.DisponibilizarBotoesTela(EnumControleTelas.InserirLocalizar);
                this.Close();
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
            }
        }