Ejemplo n.º 1
0
        private void BtnContinuarClick(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtNome.Text) ||
                string.IsNullOrWhiteSpace(txtUsuario.Text) ||
                string.IsNullOrWhiteSpace(txtFuncao.Text))
            {
                MudarMsgErro("Erro: preencha todos os campos com asterisco");
                GestoNegativo();
                return;
            }

            if (modo == Proprio)
            {
                if (string.IsNullOrWhiteSpace(txtSenha.Text))
                {
                    modo = Atualizacao;
                }
            }

            if (modo != Atualizacao)
            {
                if (string.IsNullOrWhiteSpace(txtSenha.Text))
                {
                    MudarMsgErro("Erro: a senha não pode ficar vazia");
                    GestoNegativo();
                    return;
                }

                if (txtSenha.Text != txtConf.Text)
                {
                    MudarMsgErro("Erro: a senha não pode ser diferente da confirmação");
                    GestoNegativo();
                    return;
                }

                if (modo == Proprio)
                {
                    if (string.IsNullOrWhiteSpace(txtAtual.Text))
                    {
                        MudarMsgErro("Erro: a senha atual não pode ficar vazia");
                        GestoNegativo();
                        return;
                    }
                }
                else
                {
                    funci = new Funcionario();
                }

                funci.Senha = txtSenha.Text;
            }
            CtrlFuncionarioS ctrlFuncionario = new CtrlFuncionarioS();
            CtrlUsuarioS     ctrlUsuario     = new CtrlUsuarioS();
            ulong            id;

            funci.Nome         = txtNome.Text;
            funci.Usuario      = txtUsuario.Text;
            funci.Comissionado = chbComissionado.Checked;
            funci.Funcao       = txtFuncao.Text;
            funci.Salario      = Convert.ToSingle(numSalario.Value);

            if (modo == Primeiro)
            {
                id = DAL.Util.Usuario.SISTEMA;
            }
            else
            {
                id = ControleDeUsuario.Id;

                FrmAutenticacaoSuper aSuper = new FrmAutenticacaoSuper();

                aSuper.ShowDialog();

                if (!aSuper.Valido)
                {
                    MudarMsgErro("Operação cancelada");

                    aSuper.Dispose();

                    return;
                }
                aSuper.Dispose();
            }

            if (modo != Atualizacao)
            {
                funci.Senha = txtSenha.Text;

                if (modo == Proprio)
                {
                    Valido = ctrlUsuario.AtualizarSenha(funci.Usuario, txtAtual.Text, funci.Senha);

                    if (Valido)
                    {
                        Valido = ctrlFuncionario.Atualizar(funci, id);
                    }
                }
                else
                {
                    funci = ctrlFuncionario.Inserir(funci, id);

                    Valido = funci == null
                        ? false : true;
                }
            }
            else
            {
                Valido = ctrlFuncionario.Atualizar(funci, id);
            }

            if (Valido)
            {
                if (funci.Codigo == ControleDeUsuario.Id)
                {
                    ControleDeUsuario.AtualizarUsuario(funci.Usuario);
                }
                Close();
            }
            else
            {
                MudarMsgErro("Erro: O sistema não pôde concluir a operação");
                GestoNegativo();
            }
        }