private void btnAlterar_Click(object sender, EventArgs e) { if (lsvClientes.SelectedIndices.Count == 0) { MessageBox.Show("Selecione um cliente para ser alterado!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (lsvClientes.SelectedIndices.Count > 1) { MessageBox.Show("Selecione somente um cliente para ser alterado!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } using (var frmLogin = new FormLogin()) { frmLogin.ShowDialog(); if (!frmLogin.Logado) { return; } } int idCliente = clientes[lsvClientes.SelectedIndices[0]].Id; using (var cliente = new Cliente()) { using (var conn = new Connection()) { if (!cliente.SetById(idCliente, conn, null)) { MessageBox.Show($"Não foi possível encontrar o cliente com id `{idCliente}`", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); CarregarClientes(); return; } } using (var frmDadosPessoais = new FormDadosPessoaisCliente(cliente)) { frmDadosPessoais.btnAlterarPesquisa.Visible = true; if (frmDadosPessoais.ShowDialog() != DialogResult.OK) { return; } frmDadosPessoais.SetDadosInModel(cliente); } using (var conn = new Connection()) { cliente.Salvar(false, conn, null); MessageBox.Show("Informações do cliente salva com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); CarregarClientes(); } } }
private void btnCadastrar_Click(object sender, EventArgs e) { try { using (var frmDadosPessoais = new FormDadosPessoaisCliente()) using (var frmPesquisa = new FormPesquisa(TipoPergunta.Cliente, PesquisaControl.TipoFonte.Grande, false)) using (var cliente = new Cliente()) { frmDadosPessoais.btnOk.Text = "Avançar"; frmPesquisa.btnVoltar.Visible = true; PassoCadastro passo = PassoCadastro.DadosPessoais; bool cadastroFinalizado = false; while (!cadastroFinalizado) { switch (passo) { case PassoCadastro.DadosPessoais: if (frmDadosPessoais.ShowDialog() == DialogResult.OK) { passo = PassoCadastro.Pesquisa; } else { return; } break; case PassoCadastro.Pesquisa: DialogResult dialogResult = frmPesquisa.ShowDialog(); if (dialogResult == DialogResult.OK) { cadastroFinalizado = true; } else if (dialogResult == DialogResult.Retry) { passo = PassoCadastro.DadosPessoais; } else { return; } break; } } using (var conn = new Connection()) using (SQLiteTransaction transaction = conn.BeginTransaction()) { try { frmDadosPessoais.SetDadosInModel(cliente); cliente.Salvar(false, conn, transaction); Resposta.SalvarRespostas(TipoPergunta.Cliente, cliente.Id, frmPesquisa.Respostas, conn, transaction); transaction.Commit(); CarregarClientes(); } catch (Exception erro) { MessageBox.Show("Ocorreu um erro ao salvar o cliente:\n" + erro.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); transaction.Rollback(); } } } } catch (PerguntasNotFoundException erro) { MessageBox.Show(erro.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }