예제 #1
0
        private void gravarButton_Click(object sender, EventArgs e)
        {
            if (!Formulario.ValidarCamposObrigatorios(this, clientesErrorProvider) ||
                !Formulario.ValidarTipoDosDados(this, clientesErrorProvider))
            {
                return;
            }

            //wmp.URL =

            var cliente = new Cliente();

            //var pessoa = new Pessoa();

            cliente.Nome           = nomeTextBox.Text;
            cliente.Endereco       = enderecoTextBox.Text;
            cliente.DataNascimento = Convert.ToDateTime(nascimentoMaskedTextBox.Text);

            //cliente.Documentos = cpfMaskedTextBox.Text;
            var cpf = new Documento();

            cpf.Numero        = cpfMaskedTextBox.Text;
            cpf.TipoDocumento = TipoDocumento.Cpf;

            //cliente.Documentos = new List<Documento>();
            cliente.Documentos.Add(cpf);

            cliente.Email = emailTextBox.Text;
            cliente.Renda = Convert.ToDecimal(rendaTextBox.Text);

            try
            {
                cliente.Validar();
                new ClienteRepositorio().Gravar(cliente);
                MessageBox.Show("Cliente cadastrado com sucesso!");
                Formulario.Limpar(this);
            }
            catch (DirectoryNotFoundException)
            {
                MessageBox.Show(string.Format("O caminho {0} não foi encontrado. Sua gravação não foi realizada.",
                                              _caminho));
            }
            catch (UnauthorizedAccessException)
            {
                MessageBox.Show(string.Format("Desmarque a opção de Read-Only do arquivo {0}. Sua gravação não foi realizada.",
                                              _caminho));
            }
            catch (RegraNegocioException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ooops! Houve um erro no aplicativo e a gravação não foi realizada." +
                                "A equipe de suporte já foi comunicada e em breve teremos uma solução");
                Logar.PorEmail(ex);
            }
        }
예제 #2
0
        private void codigoTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) ||
                e.Key == Key.Back || e.Key == Key.Enter || e.Key == Key.Tab)
            {
                if (e.Key == Key.Enter && codigoTextBox.Text.Trim() != string.Empty)
                {
                    try
                    {
                        Mercadoria mercadoria = new Mercadoria();

                        mercadoria.Pesquisar(Convert.ToInt32(codigoTextBox.Text));

                        produtoTextBox.Text = mercadoria.Nome;
                        precoTextBox.Text   = mercadoria.Preco.ToString("C2");
                        estoqueTextBox.Text = mercadoria.QtdEstoque.ToString();
                        familiaTextBox.Text = mercadoria.Familia.Nome;

                        codigoTextBox.SelectAll();
                    }
                    // É possível capturar (catch) múltiplas exceções, sempre da mais específica para a mais genérica
                    catch (FileNotFoundException)
                    {
                        MessageBox.Show("O arquivo Produtos.txt não foi localizado.");
                        Close();
                    }
                    catch (RegistroNaoEncontradoException ex)
                    {
                        MessageBox.Show(ex.Message);
                        JanelaWpf.Limpar(controlesGrid);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Oops! Algo não deu certo. Um email acaba de ser enviado para a equipe de suporte!");
                        Logar.PorEmail(ex);
                        JanelaWpf.Limpar(controlesGrid);
                    }
                }
            }
            else
            {
                e.Handled = true;
            }
        }
예제 #3
0
        private void codigoTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == 8 || e.KeyChar == 13)
            {
                if (e.KeyChar == 13 && codigoTextBox.Text.Trim() != string.Empty)
                {
                    try
                    {
                        Mercadoria mercadoria = new Mercadoria();

                        mercadoria.Pesquisar(Convert.ToInt32(codigoTextBox.Text));

                        produtoTextBox.Text = mercadoria.Nome;
                        precoTextBox.Text   = mercadoria.Preco.ToString("C2");
                        estoqueTextBox.Text = mercadoria.QtdEstoque.ToString();
                        familiaTextBox.Text = mercadoria.Familia.Nome;

                        codigoTextBox.SelectAll();
                    }
                    // É possível capturar (catch) múltiplas exceções, sempre da mais específica para a mais genérica
                    catch (FileNotFoundException)
                    {
                        MessageBox.Show("O arquivo Produtos.txt não foi localizado.");
                        Close();
                    }
                    catch (RegistroNaoEncontradoException ex)
                    {
                        MessageBox.Show(ex.Message);
                        Formulario.Limpar(this);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Oops! Algo não deu certo. Um email acaba de ser enviado para a equipe de suporte!");
                        Logar.PorEmail(ex);
                        Formulario.Limpar(this);
                    }
                }
            }
            else
            {
                e.KeyChar = '\0';
            }
        }
예제 #4
0
 private static void ExibirMensagemDeErro(Exception ex)
 {
     MessageBox.Show("Houve um erro e a gravação não foi realzada! O suporte já foi comunicado.");
     Logar.PorEmail(ex);
 }
예제 #5
0
        public void LogarPorEmailTest()
        {
            Exception ex = new Exception("Teste");

            Logar.PorEmail(ex);
        }