/// <summary> /// Evento do botão autorizar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_autorizar_Click(object sender, EventArgs e) { try { if (!VericaCamposObrigatorios()) { throw new Exception("Existem campos vazios!"); } controleFuncionario = new FuncionarioControl(); bool salvouFuncionario = controleFuncionario.Salvar(CriaFuncionario(), true); Autorizacao autorizar = CriaAutorizacao(); controleAutorizacao = new AutorizacaoControl(); bool salvouAutorizacao = controleAutorizacao.Salvar(autorizar, true); if (salvouAutorizacao && salvouFuncionario) { Mensageiro.MensagemAviso($"Salvo com sucesso!!!{Environment.NewLine}O número da autorização é: {autorizar.numeroautorizacao}", PrincipalUi); LimpaCampos(); lbl_ultimaautoriz.Text = $@"0{controleAutorizacao.RetornaUltimaAutorizacao()}/{DateTime.Now.Year}"; } else { throw new Exception("Não foi possível salvar no banco o funcionário ou a autorização."); } } catch (Exception ex) { Mensageiro.MensagemErro(ex, this); } }
/// <summary> /// Grava uma autorização no banco juntamente com o funcionário /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_autorizar_Click(object sender, EventArgs e) { try { string tag = string.Empty; if (!VerificaCampos(listaControlesObrigatorios, ref tag)) { throw new Exception($"O campo {tag} está sem preencher!"); } funcionario = this.CriaFuncionario(); funcionarioControl = new FuncionarioControl(); autorizacaoControl = new AutorizacaoControl(); int?idfuncionario; //se o funcionário não existir o id é null if (!lbl_codigofunc.Text.Equals("_")) { idfuncionario = Convert.ToInt32(lbl_codigofunc.Text); //pega o cod do funcionario pela label } else { idfuncionario = funcionarioControl.PesquisaID(funcionario.DataNascimento, funcionario.Nome); //pega o codigo do funcionário pela pesquisa no banco. } string tmpNumeroAutoriz = string.Empty; if (idfuncionario > 0 || (idfuncionario != null)) //se existe o funcionario no banco { funcionario.idFuncionario = (int)idfuncionario; funcionarioControl.Salvar(funcionario, false); //false - atualiza o funcionario no banco if (!string.IsNullOrEmpty(lbl_numautoriz.Text)) //pega o número de autorização do funcionário { tmpNumeroAutoriz = lbl_numautoriz.Text; } //tmp_numeroautoriz = autorizacaoControl.PesquisaAutorizacao((int)idfuncionario); } else //o funcionário não existe no banco { funcionarioControl.Salvar(funcionario, true); //salva o funcionário no banco idfuncionario = funcionarioControl.PesquisaID(msk_cpf.Text); //localiza o id do funcionário recém salvo no banco } if (idfuncionario != null) { funcionario.idFuncionario = (int)idfuncionario; //determina o id do funcionário se for recém salvo autorizacao = CriaAutorizacao(); autorizacao.Idfuncionario = (int)idfuncionario; } if (!string.IsNullOrEmpty(tmpNumeroAutoriz)) { if (Mensageiro.MensagemPergunta($"Já existe a autorização no sistema para este funcionário!{Environment.NewLine}Deseja Atualizar?{Environment.NewLine}SIM - Atualiza {Environment.NewLine}NÃO - Grava uma nova autorização", PrincipalUi) == DialogResult.Yes) { this.autorizacao.numeroautorizacao = tmpNumeroAutoriz; if (autorizacaoControl.Salvar(this.autorizacao, false)) //atualiza no banco { Mensageiro.MensagemConfirmaAtualizacao(PrincipalUi); ExibirCarteirinha(); } } else if (autorizacaoControl.Salvar(this.autorizacao, true)) //salva no banco { Mensageiro.MensagemConfirmaGravacao(PrincipalUi); ExibirCarteirinha(); } this.LimpaControles(); } else if (autorizacaoControl.Salvar(this.autorizacao, true)) //salva no banco { Mensageiro.MensagemConfirmaGravacao(PrincipalUi); ExibirCarteirinha(); this.LimpaControles(); } } catch (Exception exception) { Mensageiro.MensagemErro(exception, this); } }